摘要:
A data mapping architecture for mapping between two or more data sources without modifying the metadata or structure of the data sources themselves. Data mapping also supports updates. The architecture also supports at least the case where data sources that are being mapped, are given, their schemas predefined, and cannot be changed. The architecture includes a mapping component that receives respective metadata from at least two arbitrary data models, and maps expressions between the data models.
摘要:
A data mapping architecture for mapping between two or more data sources without modifying the metadata or structure of the data sources themselves. Data mapping also supports updates. The architecture also supports at least the case where data sources that are being mapped, are given, their schemas predefined, and cannot be changed. The architecture includes a mapping component that receives respective metadata from at least two arbitrary data models, and maps expressions between the data models.
摘要:
The subject invention relates to systems and methods that augment node-based programming languages to facilitate efficient data manipulation of hierarchical data structures. In one aspect, a query or general purpose language system is provided. The system includes a query component to interact with hierarchical node-based data collections and a language extension component to augment the query component to facilitate interactions with the node-based data collections. The language extension component supplies various functions to filter the data collections at a granular level, re-shape the data collections, sort the data collections, or extend the data collections with computed nodes.
摘要:
The subject invention pertains to a compilation system and meta-object protocol to facilitate interaction with objects of various types including but not limited to XML documents. More specifically, a delineator or dot operator can be extended to hide idiosyncratic details of interacting with objects. Code details can be generated by a compiler behind the scenes. This enables a programmer to achieve the same results while writing much simpler and intuitive code.
摘要:
The subject invention pertains to systems and methods for iterating over or otherwise traversing a collection of objects or elements. More specifically, mechanisms are provided for handling both conventional non-nested streams such as enumeratables as well as nested streams. Nested streams provide a more efficient mechanism for traversing certain objects such as recursive generators. One problem with nested streams is that they need to be flattened or simplified. Techniques are provided herein to allow such streams to be flattened quickly and efficiently. Moreover, systems and methods are disclosed to preserve backward compatibility of optimized nested stream processing with conventional non-nested streams.
摘要:
Systems and methods that enhance a programming language with late binding via employing expressions of the form “Expression” in syntactic positions—wherein previously only compile-time constants were allowed. In a related aspect, the subject innovation can parameterize over a member name, via examining the grammar of the language (and all the available helpers) and replace identifiers or constants with an expression(s).
摘要:
The subject disclosure pertains to coding assistance based on context and user preference. Assistance can be provided to facilitate specifying queries and more particularly query comprehension specification. Programmatic support can include but is not limited to providing type information for collections in scope, automatic keyword and/or query clause generation, error identification and tips.
摘要:
A special syntax is developed to differentiate between accesses to a primary and one or more secondary object protocols in a programming language. The syntax allows the compiler to differentiate between the primary and secondary object model based on syntax, rather than type. The syntax is created in such a way as to approximate the syntax of the secondary object model, and allows the user to dynamically generate member names.
摘要:
A special syntax is developed to differentiate between accesses to a primary and one or more secondary object protocols in a programming language. The syntax allows the compiler to differentiate between the primary and secondary object model based on syntax, rather than type. The syntax is created in such a way as to approximate the syntax of the secondary object model, and allows the user to dynamically generate member names.
摘要:
Systems and methods that enhance and balance a late binding and an early binding in a programming language, via supplying an option component to opt-in (or opt-out) late binding, and wherein a late binding is triggered based on a static type for the variable (e.g., object or a type/string.) Additionally, the variable is enabled to have different static types at different regions (e.g., a program fragment) of the programming language.