US2017011035A1PendingUtilityA1

Mapping and query translation between xml, objects, and relations

48
Assignee: MICROSOFT TECHNOLOGY LICENSING LLCPriority: Nov 30, 2007Filed: Apr 8, 2016Published: Jan 12, 2017
Est. expiryNov 30, 2027(~1.4 yrs left)· nominal 20-yr term from priority
G06F 17/30917G06F 17/30569G06F 17/30477G06F 17/30938G06F 17/3043G06F 16/8373G06F 16/86G06F 16/2455G06F 16/84G06F 16/258G06F 16/24522
48
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Described is programmatic access to persistent XML and relational data from applications based upon explicit mappings between object classes, XML schema types, and relations. The mappings are used in data access, that is, they drive query and update processing. A query may be processed into a query for accessing the XML data and another query for second type for accessing the relational data. Mappings support strongly-typed classes and loosely-typed classes, and may be conditional upon other data, may decouple query and update translation performed at runtime from schema translation used at compile time, and/or may be compiled into transformations that produce objects from XML data and transformations that produce XML data from objects. Mappings may be generated automatically or provided by the developer.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . In a computing environment, a method comprising, providing mappings between object classes and XML, and using the mappings to allow programming against a database that contains sets of data, each set corresponding to relational data or XML data, including providing access to the data as classes independent of whether each set of data corresponds to relational data or XML data. 
     
     
         2 . The method of  claim 1  wherein providing the mappings comprises providing explicit declarative mappings that are expressed using a data manipulation language. 
     
     
         3 . The method of  claim 1  wherein providing the mappings comprises supporting strongly-typed classes and loosely-typed classes. 
     
     
         4 . The method of  claim 1  wherein using the mappings comprises receiving a query on Objects, and translating it into another query that combines access to the relational data and the XML data. 
     
     
         5 . The method of  claim 4  further comprising, returning results of the other query as objects corresponding to the relational data and the XML data. 
     
     
         6 . The method of  claim 1  wherein providing the mappings comprises providing conditional mappings in which a same XML type is mapped to one of a plurality of different classes depending on at least one condition that applies to XML data that instantiates that type. 
     
     
         7 . The method of  claim 1  wherein providing the mappings comprises providing conditional mappings in which a class is mapped to one of a plurality of different XML types depending on at least one condition that applies to data of the class. 
     
     
         8 . The method of  claim 1  wherein providing the mappings comprises using mappings for decoupling query and update translation performed at runtime from schema translation used at compile time. 
     
     
         9 . The method of  claim 1  wherein providing the mappings comprises, compiling declarative object-XML mappings into transformations that produce objects from XML data and transformations that produce XML data from objects. 
     
     
         10 . The method of  claim 1  wherein using the mappings comprises translating LINQ queries into a mix of SQL and XQuery. 
     
     
         11 . The method of  claim 1  wherein providing the mappings comprises translating a combined database catalog into a set of object classes. 
     
     
         12 . In a computing environment, a system comprising, a database including a table that includes columns corresponding to relational data and at least one column corresponding to XML data that is structured as a string of data, and a translation layer coupled to the database, the database receiving data access requests from programming code, the translation layer including a set of mappings that are used to present the XML data as an object class for essing data via a data access request. 
     
     
         13 . The system of  claim 12  wherein the object class is loaded into working memory as a structure that corresponds to the object class. 
     
     
         14 . The system of  claim 12  wherein the XML data remains in the database in its native representation and is exposed as an object class via the translation layer. 
     
     
         15 . The system of  claim 12  wherein the mappings support strongly-typed classes and loosely-typed classes. 
     
     
         16 . The system of  claim 12  wherein the mappings support conditional mappings. 
     
     
         17 . The system of  claim 13  wherein the translation layer uses mappings that decouple query and update translation performed at runtime from schema translation used at compile time. 
     
     
         18 . The system of  claim 13  wherein at least part of the mappings include transformations that produce objects from XML data or transformations that produce XML data from objects, or include both transformations that produce objects from XML data and transformations that produce XML data from objects. 
     
     
         19 . One or more computer-readable medium having computer-executable instructions, which when executed perform steps, comprising, receiving a database query directed towards a database table, determining that the database query requests access to data in a first column corresponding to relational data and data in a second column corresponding to XML data, and separating the query into a first part that accesses the first column and a second part that accesses the XML data, including accessing a set of mappings to determine a structure of the XML data. 
     
     
         20 . The one or more computer-readable medium of  claim 19  further comprising instantiating an object based on the structure of the XML data.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.