Expressive grouping for language integrated queries
First Claim
Patent Images
1. A computer system, comprising at least one processor coupled to at least one computer-readable storage medium storing instructions executable by the at least one processor to implement:
- an application component including computer executable functionality;
a group component configured to facilitate execution of each of a positional, multi-member, and multi-level group operator specified by the application component, positional group operators being operators for which position within an ordering of one or more elements affects results of the operators, multi-member operators being operators that can cause a specific element to concurrently occupy a plurality of groups, multi-level group operators being operators that can cause a first group to be nested within a second group; and
an injector component configured to identify a reference to a group operator in the group component, fetch functionality corresponding to the identified group operator from the group component and inject the functionality into the application component to produce new executable grouping functionality, the injector component being configured to identify, fetch, and inject when the application component is encoded in any of a plurality of program languages.
2 Assignments
0 Petitions
Accused Products
Abstract
Standard group operators afford expressive grouping across collections of various types for employment by a number of programming languages. The operators can leverage positional information to facilitate grouping of sequential/ordered input data. Groups can also include more than one input element. Additionally or alternatively, the operators can enable multi-level grouping such as nested or hierarchical grouping. In accordance with one aspect, the group operators can be employed in conjunction with language-integrated queries.
-
Citations
20 Claims
-
1. A computer system, comprising at least one processor coupled to at least one computer-readable storage medium storing instructions executable by the at least one processor to implement:
-
an application component including computer executable functionality; a group component configured to facilitate execution of each of a positional, multi-member, and multi-level group operator specified by the application component, positional group operators being operators for which position within an ordering of one or more elements affects results of the operators, multi-member operators being operators that can cause a specific element to concurrently occupy a plurality of groups, multi-level group operators being operators that can cause a first group to be nested within a second group; and an injector component configured to identify a reference to a group operator in the group component, fetch functionality corresponding to the identified group operator from the group component and inject the functionality into the application component to produce new executable grouping functionality, the injector component being configured to identify, fetch, and inject when the application component is encoded in any of a plurality of program languages. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A data interaction method, comprising:
-
obtaining at least a portion of a computer program expressed in a query comprehension syntax; identifying a plurality of references to a plurality of query group operators in the portion of the computer program, the plurality of query group operators including a positional group operator, a multi-member group operator, and a multi-level group operator, positional group operators being operators for which position within an ordering of one or more elements affects results of the operators, multi-member operators being operators that can cause a specific element to be concurrently included in a plurality of groups, multi-level group operators being operators that can cause a first group to be nested within a second group; mapping the identified plurality of query group operators to one or more standard group operators; and inserting the one or more standard group operators into the referencing computer program to enable grouping of ordered data as part of a data query operation, wherein the computer program is encoded in any of a plurality of program languages. - View Dependent Claims (12, 13, 14, 15, 16, 17)
-
-
18. A computer-readable storage medium storing instructions that, if executed by a computing device, cause the computing device to perform operations comprising:
-
scanning a computer program coded in any one of a plurality of programming languages; based on the scanning, identifying grouping functionality for grouping sequences of data independent of the programming language; and injecting the grouping functionality into the computer program to facilitate sequence-based grouping in conjunction with a language-integrated query, the grouping functionality including a positional group operator, a multi-member group operator, and a multi-level group operator, positional group operators being operators for which position within an ordering of one or more elements affects results of the operators, multi-member operators being operators that can cause a specific element to be concurrently included in a plurality of groups, multi-level group operators being operators that can cause a first group and a second group to be grouped within a third group while preserving the separateness of the first group and the second group. - View Dependent Claims (19, 20)
-
Specification