US20030101170A1 - Data query and location through a central ontology model - Google Patents

Data query and location through a central ontology model Download PDF

Info

Publication number
US20030101170A1
US20030101170A1 US10/159,516 US15951602A US2003101170A1 US 20030101170 A1 US20030101170 A1 US 20030101170A1 US 15951602 A US15951602 A US 15951602A US 2003101170 A1 US2003101170 A1 US 2003101170A1
Authority
US
United States
Prior art keywords
data
query
schema
properties
ontology
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US10/159,516
Inventor
Joseph Edelstein
Hayden Marchant
Rannen Meir
Marcel Schreiber
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
Unicorn Solutions Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US09/866,101 external-priority patent/US7099885B2/en
Priority claimed from US10/104,785 external-priority patent/US7146399B2/en
Priority to US10/159,516 priority Critical patent/US20030101170A1/en
Application filed by Unicorn Solutions Inc filed Critical Unicorn Solutions Inc
Assigned to UNICORN SOLUTIONS INC reassignment UNICORN SOLUTIONS INC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: EDELSTEIN, JOSEPH, SCHRIEBER, MARCEL ZVI, MARCHANT, HAYDEN, MEIR, RANNEN
Priority to US10/302,370 priority patent/US7673282B2/en
Priority to US10/340,068 priority patent/US20030163450A1/en
Publication of US20030101170A1 publication Critical patent/US20030101170A1/en
Priority to US10/637,171 priority patent/US20040093559A1/en
Priority to US10/637,339 priority patent/US7877421B2/en
Priority to US11/026,358 priority patent/US8412746B2/en
Priority to US11/134,725 priority patent/US7475084B2/en
Priority to US11/165,650 priority patent/US7921098B2/en
Priority to US11/182,455 priority patent/US7472137B2/en
Assigned to 2006 TRIDENT COMPANY reassignment 2006 TRIDENT COMPANY ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: UNICORN SOLUTIONS, INC.
Assigned to INTERNATIONAL BUSINESS MACHINES CORPORATION reassignment INTERNATIONAL BUSINESS MACHINES CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: 2006 TRIDENT COMPANY, INC.
Priority to US12/253,798 priority patent/US8060531B2/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2452Query translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99942Manipulating data structure, e.g. compression, compaction, compilation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99943Generating database or data structure, e.g. via user interface
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • Y10S707/99945Object-oriented database structure processing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99948Application of database or data structure, e.g. distributed, multimedia, or image

Definitions

  • the present invention relates to data processing; specifically to querying of data sources and locating data within data sources.
  • Ontology provides a way to model things that exist.
  • Basic constructs of an ontology model are classes, properties thereof and inheritance.
  • Classes are sets, the elements of which are referred to as instances of the class.
  • a class People is a set of instances that represent specific people.
  • a property, p, of a class is a function p: C ⁇ D from a class C, referred to as the source of p, to a class D, referred to as the target of p.
  • the classes C and D may be the same class of different classes.
  • the notation C.p is used to denote a property, p, defined on C.
  • Properties may be composed, so that if p: C ⁇ D and q: D ⁇ E, then the composition qop: C ⁇ E has source C and target E.
  • the composition is denoted by C.p.q.
  • a class C is said to be a subclass of D if C ⁇ D, in which case D is also said to be a superclass of C.
  • D is also said to be a superclass of C.
  • every instance of C is also an instance of D
  • properties defined on D are also defined on C by inheritance.
  • a class named Passengers may be a subclass of a class named People.
  • a property such as firstName, defined on People is inherited by Passengers.
  • a special class named Being is defined in an ontology model as a universal class that contains all classes as subclasses thereof. Properties defined on Being are thus inherited by all classes in the ontology model.
  • representations take on concrete fundamental alphanumeric values.
  • the significance of representations is that they are properties one can reason about using arithmetic, logical and string operators, since their type corresponds to the types of mathematical expressions and programming language expressions.
  • a special class Values is preferably created, so as to include all possible fundamental values a property may have.
  • a special class Formats is also created, to include formats in which instances of Values can be expressed. Formats include inter alia conventional integer formats, real number formats, character string formats and date and time forrnats.
  • a function representation: Values ⁇ Formats ⁇ Alphanumerics, converts a value into an alphanumeric string according to a specific format. For example, if lastName: People ⁇ Values, then representation(person.lastName, titleCase) “Smith” (a character string), for an instance, person, of People corresponding to John Smith. Observe that lastName is a representation, and titleCase is a format.
  • Applicant's co-pending application U.S. Ser. No. 10/053,045, filed on Jan. 15, 2002 and entitled “Method and System for Deriving a Transformation by Referring Schema to a Central Model” describes mapping data schema, including inter alia relational database schema and XML schema, into a central ontology model.
  • Basic constructs of the data schema are mapped to classes, properties and compositions of properties in the central ontology model.
  • tables are generally mapped to ontology classes, and fields of tables are generally mapped to ontology properties or compositions of properties—more specifically, to properties or compositions of properties with target Values.
  • complex types are generally mapped to ontology classes, and elements and attributes within complex types are generally mapped to ontology properties or compositions of properties.
  • Enterprise data systems typically include multiple data sources that may be compliant with different data schemas. Indeed, as a result of several generations of IT and/or mergers and acquisitions, several databases with different schemas may contain information on the same functional area of the business. For example, enterprise employment data may be stored in relational databases conforming to a first relational database schema, enterprise accounting data may be stored in relational databases conforming to a second relational database schema, enterprise sales forecasts may be stored in relational databases conforming to a third relational database schema, enterprise inventory data may be stored in XML documents conforming to a first XML schema, and enterprise bill of materials data may be stored in XML documents conforming to a second XML schema. Often these various data sources may overlap, and it is difficult for a user to query across the enterprise data sources. For example, a user may want to know the bills of materials for items that need to be replenished in inventory based on demand forecasts.
  • Another difficulty faced by enterprises is being able to locate data within multiple data sources.
  • a user may want to locate data sources containing employee stock option data.
  • Such data may be distributed over multiple data sources, and may involve joining relational database tables that conform to different data schema.
  • Certain embodiments of the present invention provide a method and system for unified querying of data sources conforming to possibly disparate data schemas by use of a central ontology model into which the data schemas are embedded.
  • the present invention uses an ontology query language for expressing queries about an ontology.
  • Certain embodiments of the present invention enable a user to ask a question using an agreed business vocabulary for an ontology, and ensures that this question is translated accurately into a query on the underlying data sources.
  • certain embodiments of the present invention convert a query referring to the central ontology model into a corresponding query referring to a data schema that is embedded within the central ontology model.
  • a user can build a generic query referring to the central ontology model, and convert it to queries that can be executed on various data sources.
  • the present invention uses a query builder tool for generating queries referring to an ontology.
  • the present invention also provides a method and system for data location.
  • a user can select a class or property from a central ontology model, and locate constructs in various data schema that correspond to his selection, as well as locations of data sources that contain data for such constructs.
  • Certain embodiments of the present invention enable a user to locate overlaps, where a single aspect of enterprise information is stored in multiple locations.
  • the present invention can be used to identify ontology constructs that are mapped to too many different data sources.
  • the present invention can be used inter alia to highlight constructs that are mapped more than a given number, n, times.
  • a data query system including a first storage medium including a data schema having a data schema query language associated therewith, a second storage medium including an ontology model including classes and properties, the ontology model having an ontology query language associated therewith, wherein constructs of the data schema are mapped to corresponding classes, properties or compositions of properties of the ontology model, and an ontology query processor generating a query expressed in the data schema query language corresponding to a specified query expressed in the ontology query language.
  • a method for data query including providing a data schema having a data schema query language associated therewith, providing an ontology model including classes and properties, the ontology model having an ontology query language associated therewith, wherein constructs of the data schema are mapped to corresponding classes, properties or compositions of properties of the ontology model, providing a query expressed in the ontology language, and generating a query expressed in the data schema query language corresponding to the query expressed in the ontology query language.
  • a data locator system including at least one first storage medium including at least one data schema, a second storage medium including an ontology model including classes and properties, wherein constructs of the at least one data schema are mapped to corresponding classes, properties or compositions of properties of the ontology model, and a data locator identifying constructs of the at least one data schema corresponding to specific classes or properties of the ontology model.
  • a method for data location including providing at least one data schema, providing an ontology model including classes and properties, wherein constructs of the at least one data schema are mapped to corresponding classes, properties or compositions of properties of the ontology model, and identifying constructs of the at least one data schema corresponding to specific classes or properties of the ontology model.
  • an ontology query system including a storage medium providing an ontology model including classes and properties, and a query builder generating an ontology query, the ontology query including a first clause indicating at least one subject class to which the query applies, and a second clause indicating at least one property or composition of properties defined on the at least one subject class, values of which are to be displayed.
  • a method for querying ontological data including providing an ontology model including classes and properties, and generating an ontology query, the ontology query including a first clause indicating at least one subject class to which the query applies, and a second clause indicating at least one property or composition of properties defined on the at least one subject class, values of which are to be displayed.
  • a data descriptor propagation system including at least one first storage medium including at least one data schema and at least one data source conforming to the at least one data schema, a second storage medium including an ontology model including classes and properties, wherein constructs of the at least one data schema are mapped to corresponding classes, properties or compositions of properties of the ontology model, and a data descriptor propagator associating descriptors with data for data schema constructs in the at least one data source, corresponding to descriptors associated with corresponding classes and properties of the ontology system.
  • a method for data descriptor propagation including providing at least one data schema and at least one data source conforming to the at least one data schema, providing an ontology model including classes and properties, wherein constructs of the at least one data schema are mapped to corresponding classes, properties or compositions of properties of the ontology model, and associating descriptors with data for data schema constructs in the at least one data source, corresponding to descriptors associated with corresponding classes and properties of the ontology system.
  • an ontology modeling system including at least one data construct for container classes for modeling sets, bags and lists, at least one data construct for modeling multi-valued properties whose targets are said container classes, and at least one data construct for imposing constraints on the multi-valued properties.
  • COBOL mapping system for embedding a COBOL Copy Book including group items and elementary items into an ontology model including classes and properties, including at least one data construct for mapping at least one COBOL group item within a COBOL Copy Book to at least one class of an ontology model, and at least one data construct for mapping at least one COBOL elementary items within the COBOL Copy Book to at least one property or composition of properties of the ontology model p
  • a method for embedding a COBOL Copy Book including group items and elementary items into an ontology model including classes and properties including mapping at least one COBOL group item within a COBOL Copy Book to at least one class of an ontology model, and at least one data construct for mapping at least one COBOL elementary items within the COBOL Copy Book to at least one property or composition of properties of the ontology model.
  • FIG. 1 A block diagram illustrating an exemplary computing system
  • FIG. 1 A block diagram illustrating an exemplary computing system
  • FIG. 1 A block diagram illustrating an exemplary computing system
  • FIG. 1 A block diagram illustrating an exemplary computing system
  • FIG. 1 A block diagram illustrating an exemplary computing system
  • FIG. 1 A block diagram illustrating an exemplary computing system
  • FIG. 1 A block diagram illustrating an exemplary computing system
  • FIG. 1 A block diagram illustrating an exemplary computing system
  • FIG. 1 A block diagram illustrating an exemplary computing system
  • FIG. 1 A block diagram illustrating an exemplary computing system
  • FIG. 1 A block diagram illustrating an exemplary computing system
  • FIG. 1 A block diagram illustrating an exemplary computing system
  • FIG. 1 A block diagram illustrating an exemplary computing system
  • FIG. 1 A block diagram illustrating an exemplary computing system
  • FIG. 1 A block diagram illustrating an exemplary computing system
  • FIG. 1 A block diagram illustrating an exemplary computing system
  • FIG. 1 A block diagram illustrating an exemplary computing system
  • FIG. 1 is a simplified block diagram of a data query system, in accordance with a preferred embodiment of the present invention
  • FIG. 2 is a simplified flowchart of a method for querying data source, in accordance with a preferred embodiment of the present invention
  • FIG. 3 is an illustration of a user interface for converting a query expressed in an ontology query language to a corresponding query expressed in a data schema query language, in accordance with a preferred embodiment of the present invention
  • FIG. 4 is an illustration of a user interface for generating a query expressed in an ontology query language, in accordance with a preferred embodiment of the present invention
  • FIG. 5 is a simplified block diagram of a data locator system, in accordance with a preferred embodiment of the present invention.
  • FIG. 6 is a simplified flowchart of a method for locating data, in accordance with a preferred embodiment of the present invention.
  • FIG. 7 is an illustration of a user interface for locating data within at least one data source, in accordance with a preferred embodiment of the present invention.
  • FIG. 8 is an illustration of a visual display for displaying data location results, in accordance with a preferred embodiment of the present invention.
  • FIG. 9 is an illustration of ontology model corresponding to a first example
  • FIG. 10 is an illustration of ontology model corresponding to a second example
  • FIG. 11 is an illustration of ontology model corresponding to a third example
  • FIG. 12 is an illustration of ontology model corresponding to a fourth example
  • FIG. 13 is a commutative diagram illustrating consistency of multi-valued properties.
  • FIG. 14 is an illustration of ontology model with multi-valued properties.
  • Certain embodiments of the present invention concern querying of data sources, and data location within the sources, through use of a central ontology model. Specifically, certain embodiments of the present invention use an ontology query language for expressing queries relating to an ontology, and a query conversion tool for converting such queries into corresponding queries relating to data schemas that are embedded within the ontology.
  • the present invention in one embodiment, can enable a user to ask a question using an agreed business vocabulary for an ontology, and ensures that this question is translated accurately into a query on the underlying data sources.
  • the present invention also uses, in certain embodiments, a data locator for locating data corresponding to specified classes and properties of an ontology, within data sources that conform to data schemas that are embedded within the ontology.
  • FIG. 1 is a simplified block diagram of a data query system, in accordance with a preferred embodiment of the present invention.
  • a modeling layer 110 which enables a user to generate a central ontology model into which one or more data schemas can be embedded. While generating the central ontology model, the user preferably also maps constructs of the data schemas into corresponding classes, properties and compositions of properties in the central ontology model, through use of a mapping layer 120 . Modeling and mapping layers are described in applicant's co-pending application U.S. Ser. No. 10/053,045, referenced hereinabove, the contents of which are hereby incorporated by reference.
  • FIG. 1 is divided by dashed vertical lines into a left part, a middle part and a right part.
  • the left part relates to the data schemas and data sources, and the right part relates to the central ontology.
  • the middle part relates to an engine that maps items from the left part to the right part, or vice versa.
  • a query later 130 processes a query expressed in an ontology language and generates a corresponding query expressed in a data schema language.
  • modules 110 , 120 and 130 may reside within a single computer 140 for local computing, or may be distributed among a plurality of computers for distributed computing.
  • a query processor 140 is used to execute the query expressed in the data schema language on one or more data sources.
  • the query expressed in a data schema language is generated through an ontology query builder 150 .
  • FIG. 2 is a simplified flowchart of a method for querying .data source, in accordance with a preferred embodiment of the present invention.
  • a central ontology model into which one or more given data schemas are embedded is generated.
  • constructs of the given data schemas are mapped into classes, properties and compositions of properties of the central ontology model.
  • a query expressed in an ontology query language is generated.
  • the query expressed in the ontology query language is converted to a query expressed in a data schema language.
  • the query expressed in the data schema language is executed on one or more data sources.
  • FIG. 3 is an illustration of a user interface for converting a query expressed in an ontology query language to a corresponding query expressed in a data schema query language, in accordance with a preferred embodiment of the present invention.
  • Shown in FIG. 3 is a window 300 containing various panes.
  • An upper left pane 305 displays components of a project named AirlinesSample. Shown highlighted in pane 305 is a “Queries” component.
  • a lower left pane 310 displays an ontology model in a class hierarchical view. Pane 310 indicates that all classes inherit from a superclass named Being, and that a class named Person contains a subclass named Passenger, which contains a further subclass named FrequentFlyer. Shown highlighted in pane 310 is the class Passenger, which is the subject class for queries are displayed in the right-hand panes.
  • upper right pane 315 displays a list of various queries on the class Passenger that already exist. Shown highlighted in pane 315 is a query named Priests_on_Board. Each query listed in pane 315 is expressed in an ontology query language.
  • a pane 320 displays the query highlighted in pane 315 in the ontology query language.
  • a query expressed in the ontology query language includes three clauses. A first clause, designated as SELECT indicates one or more properties to be displayed. A second clause, designated as FROM indicates one or more subject class on which the properties are defined. A third clause, designated as WHERE indicates one or more conditions satisfied by one or more values of properties defined on the subject class.
  • an ontology query also includes a clause indicating a database for which the query is intended, as shown in pane 320 .
  • a bottom right pane 325 displays a query expressed in a data schema language, which corresponds to the query displayed in pane 320 .
  • pane 325 displays an SQL query for the database AIRLINES, which corresponds to the query Priests_on_Board in pane 320 .
  • the system of the present invention preferably converts the query in pane 320 to the query in pane 325 using the mapping from the relational database schema AIRLINES into the ontology model AirlinesSample.
  • a pane 330 is used to display system messages regarding the process of conversion from the query of pane 320 to the query of pane 325 .
  • buttons 335 , 340 , 345 , 350 and 355 relate to pane 315 and the list of queries. displayed therein. Button 335 enables a user to build a new query for the class Passenger. Upon clicking on button 335 , a user interface for building queries is preferably invoked. Such a user interface is described with respect to FIG. 4 hereinbelow.
  • Button 340 enables a user to edit an existing query on the class Passenger.
  • Button 345 enables a user to delete an existing query.
  • Button 350 enables a user to update the SQL query displayed in pane 325 by re-executing the process that generates the SQL query from the ontology query.
  • a button 355 enables a user to copy an existing query, for use inter alia in building a new query or editing an existing query.
  • a button 360 is provided under pane 325 for copying a query displayed therein to a clipboard, preferably for input to a database application that executes the query on one or more data sources.
  • the table BA_CUSTOMER corresponds to the ontology class Passenger, and the fields FIRSTNAME, LASTNAME and PASSPORT of table BA_CUSTOMER correspond respectively to the properties firstName, lastName and passportNumber of class Passenger.
  • FIG. 4 is an illustration of a user interface for generating a query expressed in an ontology query language, in accordance with a preferred embodiment of the present invention.
  • Shown in FIG. 4 is a window 400 used for filling in the SELECT, FROM and WHERE clauses of a query on an ontology class.
  • a field 410 is provided to specify a name for the query.
  • Fields 420 , 430 and 440 are provided to enter three clauses of the query. The entries in these fields correspond to the query displayed in pane 320 of FIG. 3.
  • Field 450 is provided to specify one or more databases on which the query is intended to be applied.
  • the system of the present invention converts the query specified in fields 420 , 430 , 440 to a database query on the one or more databases specified in field 450 . Such a converted query is displayed in pane 325 of FIG. 3.
  • a lower left pane 460 displays a list of properties defined on the class Passenger. It is noted that some of these properties, such as PersonfirstName, are inherited from the superclass Person.
  • a user selects a desired property from the list displayed in pane 440 , and uses an “Insert into Field” button 470 to insert the selected property into field 420 or field 440 .
  • a lower right pane 480 displays a list of operators that can be used within conditions in the “Where:” clause. A user clicks on an “Insert into Field” button 490 to insert the selected operator into field 440 .
  • FIG. 5 is a simplified block diagram of a data locator system, in accordance with a preferred embodiment of the present invention.
  • FIG. 5 includes modeling layer 110 and mapping layer 120 from the system illustrated in FIG. 1.
  • FIG. 5 is also divided into three parts by dashed vertical lines; namely, data schemas and data sources on the left, central ontology model on the right, and an engine in the middle that maps items from the left to the right or vice versa.
  • FIG. 5 includes a data locator 530 , used to identify data schema constructs corresponding to specified classes and properties of the ontology, and to identify data sources having data for such constructs.
  • FIG. 6 is a simplified flowchart of a method for locating data, in accordance with a preferred embodiment of the present invention.
  • FIG. 6 includes steps 210 and 220 from the flowchart of FIG. 2.
  • steps 210 and 220 from the flowchart of FIG. 2.
  • steps 630 constructs of the data schemas that map to one or more specified classes or properties of the central ontology model are identified.
  • data sources that have data for such constructs are also identified.
  • FIG. 7 is an illustration of a user interface for locating data within at least one data source, in accordance with a preferred embodiment of the present invention.
  • a window 700 for locating data corresponding to selected classes or properties from a central ontology model Shown in FIG. 7 is a window 700 for locating data corresponding to selected classes or properties from a central ontology model.
  • An upper left pane 710 displays components of a project named Order. Shown highlighted in pane 710 is a “Data Sources” component.
  • a lower left pane 720 displays a class hierarchical view of an ontology model. Pane 710 indicates that all classes inherit from a superclass named Being. Shown highlighted in pane 710 is a class OrderItem, which is the subject class for data locating.
  • An upper right pane 730 displays properties defined on the class OrderItem. Shown highlighted in pane 730 is a property named quantity.
  • the present invention is used to generate a list of data schema constructs and data sources having data for these constructs in a lower right pane 740 .
  • pane 740 indicates that Field 53 of a relational database table named Orders, within a relational database schema named TRACKER, corresponds to a representation of the property quantity, specifically to a value formatted as a real number in scientific notation.
  • a database named GEOSTRAT has data for Field 53 .
  • An important feature of the present invention is the ability to locate data schema constructs that correspond to different representations of a specified property, such as quantity, and to identify the specific formats in which the data for such constructs are represented.
  • the present invention locates data schema constructs that correspond to properties of a specified property.
  • a database table Employee, mapped to an ontology class Employees, having a column for a laptop.
  • Such a column Employee.laptop may be mapped to a composition of ontology properties Employee.laptop.model.name.noWhiteSpace.
  • laptop is a property of class Employees of type Laptop
  • model is a property of class Laptop of type ComputerModel
  • name is a property of class ComputerModel of type String
  • noWhiteSpace is a property of class String of type String.
  • the present invention locates data for an employee's laptop, it points to the database table column Employee.laptop. It also provides the tail of the property so as to indicate that the column Employee.laptop contains data in the form of model.name.noWhiteSpace; i.e., the name of the laptop model formatted with no white space.
  • a pane 750 is used for displaying system messages regarding the results of the data locating process.
  • the data location features of the present invention may be used for data descriptor propagation as well.
  • a user may designate certain classes and properties of a central ontology as being of a certain type, such as “private” or “restricted use,” and in accordance with a preferred embodiment of the present invention, such type designation is propagated to data sources having data in schema constructs that correspond to the designated classes and properties. Appropriate data in fields of relational database tables and in elements of XML documents is thereby designated as being private or of restricted use.
  • FIG. 8 is an illustration of a visual display for displaying data location results, in accordance with a preferred embodiment of the present invention. Shown in FIG. 8 are relational database schemas and XML schemas that have constructs corresponding to an ontology class Order and its properties.
  • a relational database named Logistics conforming to a relational database schema named Shipping has a table named PurchaseOrder that corresponds to the ontology class Order. Furthermore, the table fields PurchaseOrder.id and PurchaseOrder.totalcost correspond respectively to the ontology properties Order.id and Order.total, the former being represented in integer format and the latter being represented in the format of a string in scientific notation.
  • the table PurchaseOrder has a field with a foreign key to a table PurchaseOrderEntry, the key corresponding to the ontology property Order.customer.
  • orderTargetNS has a complex type named Shipment that corresponds to the ontology class Order.
  • the data location feature of the present invention is useful in generating location-based reports.
  • Such reports provide strong analysis capabilities and assist in identifying data duplication, data redundancy and data inconsistency. For example, such reports may reveal that a specific database ignores a particular property, or that multiple data sources relate to the same class with each one containing data for different subsets of properties of the class.
  • Such reports provide statistics for classes and properties of an ontology, including inter alia the number of data sources that are mapped to them, distributed according to source type, source location, source owner and source update frequency. Such reports also show the percentage of ontology concepts covered by a given data source, including a graph and table indicating the number of properties of a given class mapped to the data source, and including a list of such properties. Such reports also indicate the number of instances per ontology class or property, and the number of the instances having only partial data.
  • the underlying ontology is illustrated in FIG. 9.
  • the mapping of the source schema into the ontology is as follows, where the symbol o is used to indicate composition of properties. TABLE IV Mapping from Source schema to Ontology for First Example schema Ontology Property Index S 1 Class: Child S 1 .Name Property: Child.name 6 S 1 .School_Attending Property: Child.school — 10o9 attending.name S 1 .Mother_NI_Number Property: Child.mother.
  • the mapping of the source schema into the ontology is as follows: TABLE IX Mapping from Source schema to Ontology for Second Example Property schema Ontology Index S 1 Class: Employee S 1 .Emp_ID# Property: Employee.ID# 4 S 1 .Name Property: Employee.name 3 S 1 .Department Property: Employee.departmental — 8o7 affiliation.code S 2 Class: Employee S 2 .Employee_Name Property: Employee.name 3 S 2 .Supervisor Property: Employee.supervisor.name 3o6 S 2 .Project Property: Employee.project — 5 assignment S 3 Class: Employee S 3 .ID# Property: Employee.ID# 4 S 3 .Room_Assignment Property: Employee.room_number 1 S 3 .Telephone# Property: Employee.tel# 2 S 4 Class: Department S 4 .Department Property: Department.code 8 S 4 .Budget Property: Department.budget — 9 amount
  • the mapping of the source schema into the ontology is as follows: TABLE XII Mapping from Source schema to Ontology for Third Example schema Ontology Property Index S 1 Class: Airport S 1 .Index Property: Airport.index 3 S 1 .APName Property: Airport.name 1 S 1 .Location Property: Airport.location 2 S 2 Class: Flight S 2 .FlightID Property: Flight.ID# 6 S 2 .FromAirport Property: Flight.from_airport.name 1o4 S 2 .ToAirport Property: Flight.to_airport.name 1o5
  • the underlying ontology is illustrated in FIG. 12.
  • the mapping of the source schema into the ontology is as follows: TABLE XVII Mapping from Source schema to Ontology for Seventh Example schema Ontology Property Index S 1 Class: Employee S 1 .ID Property: Employee.ID# 2 S 1 .Group Property: Employee.department 4 S 2 Class: Employee S 2 .ID Property: Employee.ID# 2 S 2 .Email Property: Employee.e-mail 3 S 3 Class: Employee S 3 .ID Property: Employee.ID# 2 S 3 .Email_Address Property: Employee.e-mail 3 S 4 Class: Employee S 4 .ID Property: Employee.ID# 2 S 4 .Unit Property: Employee.department 4
  • the present invention indicates that this data is located at S 2 .Email and S 4 .Email_Address. Similarly, for the property Employee.department, the present invention indicates that this data is located at S 1 .Group and S 3 .Unit.
  • a multi-valued property is a property that maps an instance in its source class to more than one instance in its target class.
  • a property Person.children may map a person from class Person to more than one child in class Person.
  • container classes are built from simpler classes using tags for set, list and bag.
  • the set symbol is used for describing a class comprising subsets of a class.
  • the list symbol is used for describing a class comprising ordered subsets of a class; namely, sequences.
  • the bag symbol is used for describing unordered finite sequences of a class, namely, subsets that can contain repeated elements.
  • set[C] describes the class of sets of instances of a class C
  • list[C] describes the class of lists of instances of class C
  • bag[C] describes the class of bags of instances of class C. Elements of a sequence s ⁇ list[C] are denoted by s[0], s[1], . . .
  • set[C] is 2 C , the power set of C; bag[C] is N C , where N is the set of non-negative integers; and list[C] is C N ; more precisely, the subset of C N consisting of finite sequences.
  • the composite mapping ⁇ 0 ⁇ maps the sequence (c[0], c[1], . . . , c[n]) into the set of its elements ⁇ c[0], c[1], . . . , c[n] ⁇ .
  • Each projection in Equation (1) removes some structure. Specifically, ⁇ removes order and ⁇ removes repetition.
  • a multi-valued property is a container class.
  • a multi-valued property named children may have a class Person as its source and a container class set[Person] as its target.
  • a single-valued property p: C ⁇ D, from a class C to a class D has natural liftings to set[C], bag[C] and list[C].
  • the lifting to bags, p: bag[C] ⁇ bag[D] is defined by p ⁇ ( f ) : d ⁇ ⁇ c ⁇ p - 1 ⁇ ( d ) ⁇ f ⁇ ( c ) ,
  • a property totalCost: bag[Components] ⁇ Values can be applied to list[Components] by converting a list to a bag via the projection ⁇ .
  • Familiar algebraic data structures including inter alia vectors and matrices correspond to lists of pre-determined length.
  • set[set[C]] is identified as set[C], through the set union.
  • Person.children.children is identified as a set of people corresponding to a person's grandchildren, instead of as a set of sets of people.
  • bag[bag[C]] is identified as bag[C] by adding frequencies
  • list[list[C]] is identified as list[C] by combining a list of lists into a single list.
  • set[bag[C]], bag[set[C]], set[list[C]] and list[set[C] may be identified as set[C] by removing order and repetition structure through use of the projections ⁇ and ⁇ from Equation (1).
  • bag[list[C]] and list[bag[C]] may be identified as bag[C] by removing order structure through use of the projection ⁇ from Equation (1).
  • containers of containers are not collapsed.
  • multi-valued properties may have min_elements and max_elements as attributes.
  • min_elements and max_elements serve to limit the target of multi-valued properties to specific subsets of set[C], bag[C] and list[C]; namely, those subsets, bags and lists, respectively, having a number of elements, n, satisfying min_elements ⁇ n ⁇ max_elements.
  • constraints may be imposed relating single-valued and multi-valued properties.
  • constraints may be imposed relating single-valued and multi-valued properties. For example, a constraint
  • BillOfGoods.totalCost ⁇ BillOfGoods.items[k].cost relates properties totalCost: BillOfGoods ⁇ Values, items: BillOfGoods ⁇ list[Parts] and cost: Parts ⁇ Values.
  • Multi-valued properties can be used to model n-ary relationships within an ontology.
  • the ability to model relationships enables the present invention to import data models that support relationships, such as the entity-relationship data model. Many-to-many relationships can be imported as multi-valued ontology properties.
  • a reference for the entity-relationship data model is Garcia-Molina, Ullman, Jeffrey D. and Widom, Jennifer, “Database Systems: The Complete Book,” Prentice Hall, Upper Saddle River, N.J., 2002.
  • multi-valued properties are used for embedding data schema into an ontology model, for schema that include constructs that can include more than one data elements.
  • XML complexTypes can include sets of sequences of XML elements therewithin.
  • FIG. 14 The underlying ontology is illustrated in FIG. 14. Observe that the XML element “letters” within the XML complexType “storage” corresponds to the multi-valued property Storage.letters from the class Storage to the container class set[Letter]. Similarly the XML elements “articles” and “reviews” within the XML complexType “storage” correspond to multi-valued properties Storage.articles and Storage.reviews, respectively, from the class Storage to the container class set[Document].
  • the present invention can be used to query COBOL records.
  • variables are declared as follows: 01 StudentDetails. 02 StudentId PIC 9(7). 02 StudentName. 03 FirstName PIC X(10). 03 MiddleInitial PIC X. 03 Surname PIC X(15). 02 DateofBirth. 03 DayofBirth PIC 99. 03 MonthofBirth PIC 99. 03 YearofBirth PIC 9(4). 02 CourseCode PIC X(4).
  • variable StudentDetails includes group items, emphasized above in bold, and elementary items. Data can be read or written from variables provided that the size of the data corresponds to the declared sizes.
  • 9 denotes a number and X denotes an alphanumeric.
  • the notation 9(5) denotes a five digit non-negative integer.
  • V is used to denote a decimal point
  • S is used to denote a sign.
  • a COBOL Copy Book is the metadata for COBOL format data that is saved to disk.
  • a CCB defines the format of a COBOL record.
  • the instances of a record defined by a CCB are in binary format.
  • a CCB corresponds to a restricted type of XML schema.
  • Group items in a CCB correspond to complexTypes in an XML schema, and elementary items in a CCB correspond to elements in an XML schema.
  • the present invention overcomes several challenges when converting queries from the three-clause SELECT-FROM-WHERE ontology query language to data schema query language. For conversion to SQL, these include:
  • the former two challenges involve the mapping from tables and fields of relational database schemas into classes and properties of an ontology model, and can be overcome using applicant's technology for generating SQL transformations, as described in applicant's co-pending application U.S. Ser. No. 10/053,045, referenced hereinabove.
  • this application describes generating transformations for populating target data conforming to a target data schema from source data conforming to a source data schema.
  • this application describes how to express target schema constructs in terms of source schema constructs.
  • the target schema constructs are the properties in the SELECT clause.
  • the latter challenge involves converting a logical expression from ontology format to XQuery format.

Abstract

A data query system including a first storage medium including a data schema having a data schema query language associated therewith, a second storage medium including an ontology model including classes and properties, the ontology model having an ontology query language associated therewith, wherein constructs of the database schema are mapped to corresponding classes, properties or compositions of properties of the ontology model, and an ontology query processor generating a query expressed in the data schema query language corresponding to a specified query expressed in the ontology query language. A method is also described and claimed.

Description

    CROSS REFERENCES TO RELATED APPLICATIONS
  • This application is a continuation-in-part of assignee's pending application U.S. Ser. No. 10/104,785, filed on Mar. 22, 2002, entitled “Run-Time Architecture for Enterprise Integration with Transformation Generation,” which is a continuation-in-part of application U.S. Ser. No. 10/053,045, filed on Jan. 15, 2002, entitled “Method and System for Deriving a Transformation by Referring Schema to a Central Model,” which is a continuation-in-part of assignee's application U.S. Ser. No. 09/904,457 filed on Jul. 6, 2001, entitled “Instance Brower for Ontology,” which is a continuation-in-part of assignee's application U.S. Ser. No. 09/866,101 filed on May 25, 2001, entitled “Method and System for Collaborative Ontology Modeling.”[0001]
  • FIELD OF THE INVENTION
  • The present invention relates to data processing; specifically to querying of data sources and locating data within data sources. [0002]
  • BACKGROUND OF THE INVENTION
  • Ontology provides a way to model things that exist. Basic constructs of an ontology model are classes, properties thereof and inheritance. Classes are sets, the elements of which are referred to as instances of the class. For example, a class People is a set of instances that represent specific people. A property, p, of a class is a function p: C→D from a class C, referred to as the source of p, to a class D, referred to as the target of p. The classes C and D may be the same class of different classes. When it is important to distinguish between properties defined on different classes, the notation C.p is used to denote a property, p, defined on C. [0003]
  • Properties may be composed, so that if p: C→D and q: D→E, then the composition qop: C→E has source C and target E. The composition is denoted by C.p.q. [0004]
  • A class C is said to be a subclass of D if C⊂D, in which case D is also said to be a superclass of C. In this case, every instance of C is also an instance of D, and properties defined on D are also defined on C by inheritance. For example, a class named Passengers may be a subclass of a class named People. A property such as firstName, defined on People is inherited by Passengers. [0005]
  • A special class named Being is defined in an ontology model as a universal class that contains all classes as subclasses thereof. Properties defined on Being are thus inherited by all classes in the ontology model. [0006]
  • Certain properties, referred to as “representations,” take on concrete fundamental alphanumeric values. The significance of representations is that they are properties one can reason about using arithmetic, logical and string operators, since their type corresponds to the types of mathematical expressions and programming language expressions. [0007]
  • In order to accommodate and provide values for representations, a special class Values is preferably created, so as to include all possible fundamental values a property may have. In addition, a special class Formats is also created, to include formats in which instances of Values can be expressed. Formats include inter alia conventional integer formats, real number formats, character string formats and date and time forrnats. A function representation: Values×Formats→Alphanumerics, converts a value into an alphanumeric string according to a specific format. For example, if lastName: People→Values, then representation(person.lastName, titleCase)=“Smith” (a character string), for an instance, person, of People corresponding to John Smith. Observe that lastName is a representation, and titleCase is a format. [0008]
  • Alternatively, various formats can be modeled as properties on the class Values, or subclasses thereof. With respect to this alternative model design choice, the last name of John Smith represented as a character string in title case is denoted person.lastName.titleCase. Observe that lastName and titleCase are both representations in this alternative model. [0009]
  • Applicant's co-pending application U.S. Ser. No. 10/053,045, filed on Jan. 15, 2002 and entitled “Method and System for Deriving a Transformation by Referring Schema to a Central Model” describes mapping data schema, including inter alia relational database schema and XML schema, into a central ontology model. Basic constructs of the data schema are mapped to classes, properties and compositions of properties in the central ontology model. Thus, for relational database schema, tables are generally mapped to ontology classes, and fields of tables are generally mapped to ontology properties or compositions of properties—more specifically, to properties or compositions of properties with target Values. Similarly, for XML schema, complex types are generally mapped to ontology classes, and elements and attributes within complex types are generally mapped to ontology properties or compositions of properties. [0010]
  • Enterprise data systems, especially for large enterprises, typically include multiple data sources that may be compliant with different data schemas. Indeed, as a result of several generations of IT and/or mergers and acquisitions, several databases with different schemas may contain information on the same functional area of the business. For example, enterprise employment data may be stored in relational databases conforming to a first relational database schema, enterprise accounting data may be stored in relational databases conforming to a second relational database schema, enterprise sales forecasts may be stored in relational databases conforming to a third relational database schema, enterprise inventory data may be stored in XML documents conforming to a first XML schema, and enterprise bill of materials data may be stored in XML documents conforming to a second XML schema. Often these various data sources may overlap, and it is difficult for a user to query across the enterprise data sources. For example, a user may want to know the bills of materials for items that need to be replenished in inventory based on demand forecasts. [0011]
  • There is thus a need for a unified querying tool that enables a user to query across data sources conforming to disparate data schemas. [0012]
  • The need for a unified querying tool also arises with one or multiple data sources, when engineers involved in application development, enterprise application integration or data warehousing may not be aware of the precise semantics of a database, and may therefore be unable to use its data appropriately. [0013]
  • The need for a unified querying tool also arises when a single question crosses multiple data sources. [0014]
  • Another difficulty faced by enterprises is being able to locate data within multiple data sources. With reference to the example above, a user may want to locate data sources containing employee stock option data. Such data may be distributed over multiple data sources, and may involve joining relational database tables that conform to different data schema. [0015]
  • There is thus a need for a data locator tool that enables a user to specify data of interest, and receive a list of constructs corresponding to the data of interest, and the various data sources containing data for such constructs. [0016]
  • The need for a data locator tool also arises when trying to locate overlaps, where a single aspect of enterprise information is stored in multiple locations. Such overlaps signal the potential for bad data quality, as they generally lead to inconsistencies. [0017]
  • SUMMARY OF THE INVENTION
  • Certain embodiments of the present invention provide a method and system for unified querying of data sources conforming to possibly disparate data schemas by use of a central ontology model into which the data schemas are embedded. In a preferred embodiment, the present invention uses an ontology query language for expressing queries about an ontology. Certain embodiments of the present invention enable a user to ask a question using an agreed business vocabulary for an ontology, and ensures that this question is translated accurately into a query on the underlying data sources. [0018]
  • Using mappings of the data schemas into the central ontology model, certain embodiments of the present invention convert a query referring to the central ontology model into a corresponding query referring to a data schema that is embedded within the central ontology model. Thus a user can build a generic query referring to the central ontology model, and convert it to queries that can be executed on various data sources. In a preferred embodiment, the present invention uses a query builder tool for generating queries referring to an ontology. [0019]
  • The present invention also provides a method and system for data location. In a preferred embodiment, a user can select a class or property from a central ontology model, and locate constructs in various data schema that correspond to his selection, as well as locations of data sources that contain data for such constructs. [0020]
  • Certain embodiments of the present invention enable a user to locate overlaps, where a single aspect of enterprise information is stored in multiple locations. The present invention can be used to identify ontology constructs that are mapped to too many different data sources. For example, the present invention can be used inter alia to highlight constructs that are mapped more than a given number, n, times. [0021]
  • There is thus provided in accordance with an embodiment of the present invention a data query system including a first storage medium including a data schema having a data schema query language associated therewith, a second storage medium including an ontology model including classes and properties, the ontology model having an ontology query language associated therewith, wherein constructs of the data schema are mapped to corresponding classes, properties or compositions of properties of the ontology model, and an ontology query processor generating a query expressed in the data schema query language corresponding to a specified query expressed in the ontology query language. [0022]
  • There is further provided in accordance with an embodiment of the present invention a method for data query including providing a data schema having a data schema query language associated therewith, providing an ontology model including classes and properties, the ontology model having an ontology query language associated therewith, wherein constructs of the data schema are mapped to corresponding classes, properties or compositions of properties of the ontology model, providing a query expressed in the ontology language, and generating a query expressed in the data schema query language corresponding to the query expressed in the ontology query language. [0023]
  • There is yet further provided in accordance with an embodiment of the present invention a data locator system including at least one first storage medium including at least one data schema, a second storage medium including an ontology model including classes and properties, wherein constructs of the at least one data schema are mapped to corresponding classes, properties or compositions of properties of the ontology model, and a data locator identifying constructs of the at least one data schema corresponding to specific classes or properties of the ontology model. [0024]
  • There is moreover provided in accordance with an embodiment of the present invention a method for data location including providing at least one data schema, providing an ontology model including classes and properties, wherein constructs of the at least one data schema are mapped to corresponding classes, properties or compositions of properties of the ontology model, and identifying constructs of the at least one data schema corresponding to specific classes or properties of the ontology model. [0025]
  • There is additionally provided in accordance with an embodiment of the present invention an ontology query system, including a storage medium providing an ontology model including classes and properties, and a query builder generating an ontology query, the ontology query including a first clause indicating at least one subject class to which the query applies, and a second clause indicating at least one property or composition of properties defined on the at least one subject class, values of which are to be displayed. [0026]
  • There is further provided in accordance with an embodiment of the present invention a method for querying ontological data, including providing an ontology model including classes and properties, and generating an ontology query, the ontology query including a first clause indicating at least one subject class to which the query applies, and a second clause indicating at least one property or composition of properties defined on the at least one subject class, values of which are to be displayed. [0027]
  • There is yet further provided in accordance with an embodiment of the present invention a data descriptor propagation system including at least one first storage medium including at least one data schema and at least one data source conforming to the at least one data schema, a second storage medium including an ontology model including classes and properties, wherein constructs of the at least one data schema are mapped to corresponding classes, properties or compositions of properties of the ontology model, and a data descriptor propagator associating descriptors with data for data schema constructs in the at least one data source, corresponding to descriptors associated with corresponding classes and properties of the ontology system. [0028]
  • There is moreover provided in accordance with an embodiment of the present invention a method for data descriptor propagation including providing at least one data schema and at least one data source conforming to the at least one data schema, providing an ontology model including classes and properties, wherein constructs of the at least one data schema are mapped to corresponding classes, properties or compositions of properties of the ontology model, and associating descriptors with data for data schema constructs in the at least one data source, corresponding to descriptors associated with corresponding classes and properties of the ontology system. [0029]
  • There is additionally provided in accordance with an embodiment of the present invention an ontology modeling system including at least one data construct for container classes for modeling sets, bags and lists, at least one data construct for modeling multi-valued properties whose targets are said container classes, and at least one data construct for imposing constraints on the multi-valued properties. [0030]
  • There is further provided in accordance with an embodiment of the present invention a COBOL mapping system for embedding a COBOL Copy Book including group items and elementary items into an ontology model including classes and properties, including at least one data construct for mapping at least one COBOL group item within a COBOL Copy Book to at least one class of an ontology model, and at least one data construct for mapping at least one COBOL elementary items within the COBOL Copy Book to at least one property or composition of properties of the ontology model p There is yet further provided in accordance with an embodiment of the present invention a method for embedding a COBOL Copy Book including group items and elementary items into an ontology model including classes and properties, including mapping at least one COBOL group item within a COBOL Copy Book to at least one class of an ontology model, and at least one data construct for mapping at least one COBOL elementary items within the COBOL Copy Book to at least one property or composition of properties of the ontology model. [0031]
  • Other embodiments of the invention are also described, including, for example, computer readable medium (or media) containing executable computer program instructions, which when executed by a digital processing system, such as a general purpose computer having at least one microprocessor and memory and a bus, cause the system to perform one or more methods described herein. The medium may be a magnetic medium (e.g. a hard disk in a drive) or an optical medium (e.g. a CD-ROM). [0032]
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The present invention will be more fully understood and appreciated from the following detailed description, taken in conjunction with the drawings in which: [0033]
  • FIG. 1 is a simplified block diagram of a data query system, in accordance with a preferred embodiment of the present invention; [0034]
  • FIG. 2 is a simplified flowchart of a method for querying data source, in accordance with a preferred embodiment of the present invention; [0035]
  • FIG. 3 is an illustration of a user interface for converting a query expressed in an ontology query language to a corresponding query expressed in a data schema query language, in accordance with a preferred embodiment of the present invention; [0036]
  • FIG. 4 is an illustration of a user interface for generating a query expressed in an ontology query language, in accordance with a preferred embodiment of the present invention; [0037]
  • FIG. 5 is a simplified block diagram of a data locator system, in accordance with a preferred embodiment of the present invention; [0038]
  • FIG. 6 is a simplified flowchart of a method for locating data, in accordance with a preferred embodiment of the present invention; [0039]
  • FIG. 7 is an illustration of a user interface for locating data within at least one data source, in accordance with a preferred embodiment of the present invention; [0040]
  • FIG. 8 is an illustration of a visual display for displaying data location results, in accordance with a preferred embodiment of the present invention; [0041]
  • FIG. 9 is an illustration of ontology model corresponding to a first example; [0042]
  • FIG. 10 is an illustration of ontology model corresponding to a second example; [0043]
  • FIG. 11 is an illustration of ontology model corresponding to a third example; [0044]
  • FIG. 12 is an illustration of ontology model corresponding to a fourth example; [0045]
  • FIG. 13 is a commutative diagram illustrating consistency of multi-valued properties; and [0046]
  • FIG. 14 is an illustration of ontology model with multi-valued properties. [0047]
  • DETAILED DESCRIPTION OF A PREFERRED EMBODIMENT
  • Certain embodiments of the present invention concern querying of data sources, and data location within the sources, through use of a central ontology model. Specifically, certain embodiments of the present invention use an ontology query language for expressing queries relating to an ontology, and a query conversion tool for converting such queries into corresponding queries relating to data schemas that are embedded within the ontology. The present invention, in one embodiment, can enable a user to ask a question using an agreed business vocabulary for an ontology, and ensures that this question is translated accurately into a query on the underlying data sources. [0048]
  • The present invention also uses, in certain embodiments, a data locator for locating data corresponding to specified classes and properties of an ontology, within data sources that conform to data schemas that are embedded within the ontology. [0049]
  • Reference is now made to FIG. 1, which is a simplified block diagram of a data query system, in accordance with a preferred embodiment of the present invention. Shown in FIG. 1 is a [0050] modeling layer 110, which enables a user to generate a central ontology model into which one or more data schemas can be embedded. While generating the central ontology model, the user preferably also maps constructs of the data schemas into corresponding classes, properties and compositions of properties in the central ontology model, through use of a mapping layer 120. Modeling and mapping layers are described in applicant's co-pending application U.S. Ser. No. 10/053,045, referenced hereinabove, the contents of which are hereby incorporated by reference.
  • FIG. 1 is divided by dashed vertical lines into a left part, a middle part and a right part. The left part relates to the data schemas and data sources, and the right part relates to the central ontology. The middle part relates to an engine that maps items from the left part to the right part, or vice versa. [0051]
  • A query later [0052] 130 processes a query expressed in an ontology language and generates a corresponding query expressed in a data schema language. Together, modules 110, 120 and 130 may reside within a single computer 140 for local computing, or may be distributed among a plurality of computers for distributed computing.
  • A [0053] query processor 140 is used to execute the query expressed in the data schema language on one or more data sources. In a preferred embodiment of the present invention, the query expressed in a data schema language is generated through an ontology query builder 150.
  • Reference is now made to FIG. 2, which is a simplified flowchart of a method for querying .data source, in accordance with a preferred embodiment of the present invention. At step [0054] 210 a central ontology model into which one or more given data schemas are embedded is generated. At step 220 constructs of the given data schemas are mapped into classes, properties and compositions of properties of the central ontology model. At step 230 a query expressed in an ontology query language is generated. At step 240 the query expressed in the ontology query language is converted to a query expressed in a data schema language. At step 250 the query expressed in the data schema language is executed on one or more data sources.
  • Reference is now made to FIG. 3, which is an illustration of a user interface for converting a query expressed in an ontology query language to a corresponding query expressed in a data schema query language, in accordance with a preferred embodiment of the present invention. Shown in FIG. 3 is a [0055] window 300 containing various panes. An upper left pane 305 displays components of a project named AirlinesSample. Shown highlighted in pane 305 is a “Queries” component. A lower left pane 310 displays an ontology model in a class hierarchical view. Pane 310 indicates that all classes inherit from a superclass named Being, and that a class named Person contains a subclass named Passenger, which contains a further subclass named FrequentFlyer. Shown highlighted in pane 310 is the class Passenger, which is the subject class for queries are displayed in the right-hand panes.
  • Specifically, upper [0056] right pane 315 displays a list of various queries on the class Passenger that already exist. Shown highlighted in pane 315 is a query named Priests_on_Board. Each query listed in pane 315 is expressed in an ontology query language. A pane 320 displays the query highlighted in pane 315 in the ontology query language. In a preferred embodiment of the present invention, a query expressed in the ontology query language includes three clauses. A first clause, designated as SELECT indicates one or more properties to be displayed. A second clause, designated as FROM indicates one or more subject class on which the properties are defined. A third clause, designated as WHERE indicates one or more conditions satisfied by one or more values of properties defined on the subject class. The three clauses for the Priests_on_Board query are displayed in a pane 320. Those skilled in the art will appreciate that the SELECT, FROM and WHERE clauses resemble their SQL counterparts. In a preferred embodiment of the present invention, an ontology query also includes a clause indicating a database for which the query is intended, as shown in pane 320.
  • A bottom [0057] right pane 325 displays a query expressed in a data schema language, which corresponds to the query displayed in pane 320. Specifically, in FIG. 3 pane 325 displays an SQL query for the database AIRLINES, which corresponds to the query Priests_on_Board in pane 320. The system of the present invention preferably converts the query in pane 320 to the query in pane 325 using the mapping from the relational database schema AIRLINES into the ontology model AirlinesSample.
  • A [0058] pane 330 is used to display system messages regarding the process of conversion from the query of pane 320 to the query of pane 325.
  • Various buttons are provided in [0059] window 300 for user interaction. Buttons 335, 340, 345, 350 and 355 relate to pane 315 and the list of queries. displayed therein. Button 335 enables a user to build a new query for the class Passenger. Upon clicking on button 335, a user interface for building queries is preferably invoked. Such a user interface is described with respect to FIG. 4 hereinbelow.
  • [0060] Button 340 enables a user to edit an existing query on the class Passenger. Button 345 enables a user to delete an existing query. Button 350 enables a user to update the SQL query displayed in pane 325 by re-executing the process that generates the SQL query from the ontology query. A button 355 enables a user to copy an existing query, for use inter alia in building a new query or editing an existing query. Finally, a button 360 is provided under pane 325 for copying a query displayed therein to a clipboard, preferably for input to a database application that executes the query on one or more data sources.
  • As can be seen in FIG. 3, the ontology language query [0061]
  • SELECT: Person firstName, Person.lastName, Passenger.passportNumber [0062]
  • FROM: Passenger<AirDemo>[0063]
  • WHERE: Person.lastName=“Cohen”[0064]
  • ON DATABASE: Airlines [0065]
  • is converts to the SQL query [0066]
  • SELECT FIRSTNAME, LASTNAME, PASSPORT [0067]
  • FROM BA_CUSTOMER [0068]
  • WHERE LASTNAME=“Cohen”[0069]
  • on the database AIRLINES. The table BA_CUSTOMER corresponds to the ontology class Passenger, and the fields FIRSTNAME, LASTNAME and PASSPORT of table BA_CUSTOMER correspond respectively to the properties firstName, lastName and passportNumber of class Passenger. [0070]
  • Reference is now made to FIG. 4, which is an illustration of a user interface for generating a query expressed in an ontology query language, in accordance with a preferred embodiment of the present invention. Shown in FIG. 4 is a [0071] window 400 used for filling in the SELECT, FROM and WHERE clauses of a query on an ontology class. A field 410 is provided to specify a name for the query. Fields 420, 430 and 440 are provided to enter three clauses of the query. The entries in these fields correspond to the query displayed in pane 320 of FIG. 3. Field 450 is provided to specify one or more databases on which the query is intended to be applied. In a preferred embodiment, the system of the present invention converts the query specified in fields 420, 430, 440 to a database query on the one or more databases specified in field 450. Such a converted query is displayed in pane 325 of FIG. 3.
  • To assist a user in filling in [0072] fields 420, 430 and 440, a lower left pane 460 displays a list of properties defined on the class Passenger. It is noted that some of these properties, such as PersonfirstName, are inherited from the superclass Person. Preferably, a user selects a desired property from the list displayed in pane 440, and uses an “Insert into Field” button 470 to insert the selected property into field 420 or field 440. Similarly, a lower right pane 480 displays a list of operators that can be used within conditions in the “Where:” clause. A user clicks on an “Insert into Field” button 490 to insert the selected operator into field 440.
  • Reference is now made to FIG. 5, which is a simplified block diagram of a data locator system, in accordance with a preferred embodiment of the present invention. FIG. 5 includes [0073] modeling layer 110 and mapping layer 120 from the system illustrated in FIG. 1. As in FIG. 1, FIG. 5 is also divided into three parts by dashed vertical lines; namely, data schemas and data sources on the left, central ontology model on the right, and an engine in the middle that maps items from the left to the right or vice versa.
  • FIG. 5 includes a [0074] data locator 530, used to identify data schema constructs corresponding to specified classes and properties of the ontology, and to identify data sources having data for such constructs.
  • Reference is now made to FIG. 6, which is a simplified flowchart of a method for locating data, in accordance with a preferred embodiment of the present invention. FIG. 6 includes [0075] steps 210 and 220 from the flowchart of FIG. 2. At step 630 constructs of the data schemas that map to one or more specified classes or properties of the central ontology model are identified. In a preferred embodiment of the present invention, data sources that have data for such constructs are also identified.
  • Reference is now made to FIG. 7, which is an illustration of a user interface for locating data within at least one data source, in accordance with a preferred embodiment of the present invention. Shown in FIG. 7 is a [0076] window 700 for locating data corresponding to selected classes or properties from a central ontology model. An upper left pane 710 displays components of a project named Order. Shown highlighted in pane 710 is a “Data Sources” component. A lower left pane 720 displays a class hierarchical view of an ontology model. Pane 710 indicates that all classes inherit from a superclass named Being. Shown highlighted in pane 710 is a class OrderItem, which is the subject class for data locating.
  • An upper [0077] right pane 730 displays properties defined on the class OrderItem. Shown highlighted in pane 730 is a property named quantity. In a preferred embodiment, the present invention is used to generate a list of data schema constructs and data sources having data for these constructs in a lower right pane 740. For example, pane 740 indicates that Field53 of a relational database table named Orders, within a relational database schema named TRACKER, corresponds to a representation of the property quantity, specifically to a value formatted as a real number in scientific notation. Moreover a database named GEOSTRAT has data for Field53.
  • An important feature of the present invention is the ability to locate data schema constructs that correspond to different representations of a specified property, such as quantity, and to identify the specific formats in which the data for such constructs are represented. [0078]
  • More generally, in a preferred embodiment the present invention locates data schema constructs that correspond to properties of a specified property. Consider, for example, a database table, Employee, mapped to an ontology class Employees, having a column for a laptop. Such a column Employee.laptop may be mapped to a composition of ontology properties Employee.laptop.model.name.noWhiteSpace. Here laptop is a property of class Employees of type Laptop, model is a property of class Laptop of type ComputerModel, name is a property of class ComputerModel of type String, and noWhiteSpace is a property of class String of type String. It is noted that when the present invention locates data for an employee's laptop, it points to the database table column Employee.laptop. It also provides the tail of the property so as to indicate that the column Employee.laptop contains data in the form of model.name.noWhiteSpace; i.e., the name of the laptop model formatted with no white space. [0079]
  • Finally, a [0080] pane 750 is used for displaying system messages regarding the results of the data locating process.
  • The data location features of the present invention may be used for data descriptor propagation as well. Specifically, a user may designate certain classes and properties of a central ontology as being of a certain type, such as “private” or “restricted use,” and in accordance with a preferred embodiment of the present invention, such type designation is propagated to data sources having data in schema constructs that correspond to the designated classes and properties. Appropriate data in fields of relational database tables and in elements of XML documents is thereby designated as being private or of restricted use. [0081]
  • Reference is now made to FIG. 8, which is an illustration of a visual display for displaying data location results, in accordance with a preferred embodiment of the present invention. Shown in FIG. 8 are relational database schemas and XML schemas that have constructs corresponding to an ontology class Order and its properties. [0082]
  • As can be seen in FIG. 8, a relational database named Logistics conforming to a relational database schema named Shipping has a table named PurchaseOrder that corresponds to the ontology class Order. Furthermore, the table fields PurchaseOrder.id and PurchaseOrder.totalcost correspond respectively to the ontology properties Order.id and Order.total, the former being represented in integer format and the latter being represented in the format of a string in scientific notation. In addition, the table PurchaseOrder has a field with a foreign key to a table PurchaseOrderEntry, the key corresponding to the ontology property Order.customer. [0083]
  • As can also be seen in FIG. 8, an XML schema named orderTargetNS has a complex type named Shipment that corresponds to the ontology class Order. [0084]
  • The data location feature of the present invention is useful in generating location-based reports. Such reports provide strong analysis capabilities and assist in identifying data duplication, data redundancy and data inconsistency. For example, such reports may reveal that a specific database ignores a particular property, or that multiple data sources relate to the same class with each one containing data for different subsets of properties of the class. [0085]
  • Such reports provide statistics for classes and properties of an ontology, including inter alia the number of data sources that are mapped to them, distributed according to source type, source location, source owner and source update frequency. Such reports also show the percentage of ontology concepts covered by a given data source, including a graph and table indicating the number of properties of a given class mapped to the data source, and including a list of such properties. Such reports also indicate the number of instances per ontology class or property, and the number of the instances having only partial data. [0086]
  • EXAMPLES
  • For purposes of clarity and exposition, the workings of the present invention are described through three examples, followed by a general description of implementation. The first three examples hereinbelow correspond to the corresponding first three examples described in applicant's co-pending application U.S. Ser. No. 10/053,045, referenced hereinabove, the contents of which are hereby incorporated by reference. The fourth example hereinbelow corresponds to the seventh example described in applicant's co-pending application U.S. Ser. No. 10/053,045. [0087]
  • Data Query—A First Example: Schoolchildren
  • In a first example, three source tables are given as follows: [0088]
    TABLE I
    Source Table S1 for First Example
    Name School_Attending Mother_NI_Number
  • [0089]
    TABLE II
    Source Table S2 for First Example
    NI_Number Name Region Car_Number
  • [0090]
    TABLE III
    Source Table S3 for First Example
    Name Location HeadTeacher
  • The underlying ontology is illustrated in FIG. 9. The mapping of the source schema into the ontology is as follows, where the symbol o is used to indicate composition of properties. [0091]
    TABLE IV
    Mapping from Source schema to Ontology for First Example
    schema Ontology Property Index
    S1 Class: Child
    S1.Name Property: Child.name 6
    S1.School_Attending Property: Child.school 10o9  
    attending.name
    S1.Mother_NI_Number Property: Child.mother. 4o5 
    national_insurance_number
    S2 Class: Person
    S2.NI_Number Property: Person.national 4
    insurance_number
    S2.Name Property: Person.name 3
    S2.Region Property: Person.region 1
    of_residence
    S2.Car_Number Property: Person.car 2
    registration_number
    S3 Class: School
    S3.Name Property: School.name 10 
    S3.Location Property: School.location 12 
    S3.HeadTeacher Property: School.headteacher. 3o11  
    nameheadteacher
  • The following ontology language query is used to request a list of children's names and their mothers' names, for all children in the database who attend schools in London. [0092]
    SELECT: Child.name, Child.mother.name
    FROM: Child
    WHERE: Child.school_attending.location = “London”
  • Using the present invention, the above ontology language query is converted to the following corresponding SQL query: [0093]
    SELECT
    S1.Name, S2.Name
    FROM
    S1, S2, S3
    WHERE
    S2.NI_Number = S1.Mother_NI_Number AND
    S3.Name = S1.School_Attending AND
    S3.Location = “London”
  • Data Query—A Second Example: Employees
  • In a second example, four source tables are given as follows: [0094]
    TABLE V
    Source Table S1 for Second Example
    Emp_ID# Name Department
  • [0095]
    TABLE VI
    Source Table S2 for Second Example
    Employee_Name Supervisor Project
  • [0096]
    TABLE VII
    Source Table S3 for Second Example
    ID# Room_Assignment Telephone#
  • [0097]
    TABLE VIII
    Source Table S4 for Second Example
    Department Budget
  • The underlying ontology is illustrated in FIG. 10. The mapping of the source schema into the ontology is as follows: [0098]
    TABLE IX
    Mapping from Source schema to Ontology for Second Example
    Property
    schema Ontology Index
    S1 Class: Employee
    S1.Emp_ID# Property: Employee.ID# 4
    S1.Name Property: Employee.name 3
    S1.Department Property: Employee.departmental 8o7 
    affiliation.code
    S2 Class: Employee
    S2.Employee_Name Property: Employee.name 3
    S2.Supervisor Property: Employee.supervisor.name 3o6 
    S2.Project Property: Employee.project 5
    assignment
    S3 Class: Employee
    S3.ID# Property: Employee.ID# 4
    S3.Room_Assignment Property: Employee.room_number 1
    S3.Telephone# Property: Employee.tel# 2
    S4 Class: Department
    S4.Department Property: Department.code 8
    S4.Budget Property: Department.budget 9
    amount
  • The following ontology language query is used to request a list of employees' names, departments and supervisors, for all employees in the database who are assigned to Room 101. [0099]
    SELECT: Employee.name, Employee.department, Employee.supervisor
    FROM: Employee
    WHERE: Employee.room_number = “101”
  • Using the present invention, the above ontology language query is converted to the following corresponding SQL query: [0100]
    SELECT
    S1.Name, S1.Department, S2.Supervisor
    FROM
    S1, S2, S3
    WHERE
    S2.Employee_Name = S1.Name AND
    S3.ID# = S1.Emp_ID# AND
    S3.Room_Assignment = “101”
  • Data Query—A Third Example: Airline Flights
  • In a third example, two source tables are given as follows: [0101]
    TABLE X
    Source Table S1 for Third Example
    Index APName Location
  • [0102]
    TABLE XI
    Source Table S2 for Third Example
    FlightID FromAirport ToAirport
  • The underlying ontology is illustrated in FIG. 11. The mapping of the source schema into the ontology is as follows: [0103]
    TABLE XII
    Mapping from Source schema to Ontology for Third Example
    schema Ontology Property Index
    S1 Class: Airport
    S1.Index Property: Airport.index 3
    S1.APName Property: Airport.name 1
    S1.Location Property: Airport.location 2
    S2 Class: Flight
    S2.FlightID Property: Flight.ID# 6
    S2.FromAirport Property: Flight.from_airport.name 1o4 
    S2.ToAirport Property: Flight.to_airport.name 1o5 
  • The following ontology language query is used to request a list of flight numbers, for all flights from New York to San Francisco. [0104]
    SELECT: Flight. ID#
    FROM: Flight
    WHERE: Flight.from_airport.location = “New York” AND
    Flight.to_airport.location = “San Francisco”
  • Using the present invention, the above ontology language query is converted to the following corresponding SQL query: [0105]
    SELECT
    S2.FlightID,
    FROM
    S1 S11, S1 S12, S2
    WHERE
    S11.APName = S2.FromAirport AND
    S12.APName = S2.ToAirport AND
    S11.Location = “New York” AND
    S12.Location = “San Francisco”
  • Data Location—A Fourth Example: Employees
  • In the fourth example, four source tables are given as follows: [0106]
    TABLE XIII
    Source Table S1 for Seventh Example
    ID Group
  • [0107]
    TABLE XIV
    Source Table S2 for Seventh Example
    ID Email
  • [0108]
    TABLE XV
    Source Table S3 for Seventh Example
    ID Email_Address
  • [0109]
    TABLE XVI
    Source Table S4 for Seventh Example
    ID Unit
  • The underlying ontology is illustrated in FIG. 12. The mapping of the source schema into the ontology is as follows: [0110]
    TABLE XVII
    Mapping from Source schema to Ontology for Seventh Example
    schema Ontology Property Index
    S1 Class: Employee
    S1.ID Property: Employee.ID# 2
    S1.Group Property: Employee.department 4
    S2 Class: Employee
    S2.ID Property: Employee.ID# 2
    S2.Email Property: Employee.e-mail 3
    S3 Class: Employee
    S3.ID Property: Employee.ID# 2
    S3.Email_Address Property: Employee.e-mail 3
    S4 Class: Employee
    S4.ID Property: Employee.ID# 2
    S4.Unit Property: Employee.department 4
  • For the property Employee, e-mail, the present invention indicates that this data is located at S[0111] 2.Email and S4.Email_Address. Similarly, for the property Employee.department, the present invention indicates that this data is located at S1.Group and S3.Unit.
  • Multi-Valued Properties in an Ontolopy [0112]
  • A multi-valued property is a property that maps an instance in its source class to more than one instance in its target class. For example, a property Person.children may map a person from class Person to more than one child in class Person. [0113]
  • In order to effectively allow for multi-valued properties in addition to single-valued properties, provision is made in an ontology for “container” classes. Generally, container classes are built from simpler classes using tags for set, list and bag. The set symbol is used for describing a class comprising subsets of a class. The list symbol is used for describing a class comprising ordered subsets of a class; namely, sequences. The bag symbol is used for describing unordered finite sequences of a class, namely, subsets that can contain repeated elements. Thus set[C] describes the class of sets of instances of a class C, list[C] describes the class of lists of instances of class C, and bag[C] describes the class of bags of instances of class C. Elements of a sequence s ε list[C] are denoted by s[0], s[1], . . . [0114]
  • In terms of formal mathematics, for a set C, set[C] is 2[0115] C, the power set of C; bag[C] is NC, where N is the set of non-negative integers; and list[C] is CN; more precisely, the subset of CN consisting of finite sequences. There are natural projections
  • list [C]→/φbag[C]→/Ψset[C].  (1)
  • list[C]bag[C]set[C]. (1) [0116]
  • Specifically, for a sequence (c[0], c[1], . . . , c[n]) ε list[C], φ(c[0], c[1], . . . , c[n]) is the element fε bag[C] that is the “frequency histogram” defined by f(c)=#{0≦i≦n: c[i]=e}; and for fε bag[C], ψ(f)ε set[C] is the subset of C given by the support of f, namely, supp(f)={c ε C: f(c)>0}. It is noted that the composite mapping φ[0117] 0ψ maps the sequence (c[0], c[1], . . . , c[n]) into the set of its elements {c[0], c[1], . . . , c[n]}. Each projection in Equation (1) removes some structure. Specifically, φ removes order and ψ removes repetition.
  • Using container sets, provision is made for multi-valued properties. Generally, the target of a multi-valued property is a container class. For example, a multi-valued property named children may have a class Person as its source and a container class set[Person] as its target. [0118]
  • A single-valued property p: C→D, from a class C to a class D has natural liftings to set[C], bag[C] and list[C]. Specifically, the lifting to sets, p: set[C]→set[D] is defined by p(S)={p(s): s ε S} for subsets S⊂C. The lifting to bags, p: bag[C]→bag[D] is defined by [0119] p ( f ) : d c p - 1 ( d ) f ( c ) ,
    Figure US20030101170A1-20030529-M00001
  • for f ε N[0120] C. The lifting to lists, p: list[C]→list[D] is defined by p(s)=pos, for a sequence s ε CN.
  • An important feature of these liftings of p is their consistency with the projections from Equation (1), as illustrated by the commutative diagrams in FIG. 13. [0121]
  • Compositions of multi-valued properties is governed by Equation (1). Specifically, a multi-valued property p with target bag[C] can be followed by a property q with source set[C] according to qp=qoφop. Similarly, a multi-valued property p with target list[C] can be followed by a property q with source bag[C] according to qp=qoφop, and a multi-valued property p with target list[C] can be followed by a property q with source set[C] according to qp=qoφoψop. [0122]
  • For example, a property totalCost: bag[Components]→Values can be applied to list[Components] by converting a list to a bag via the projection φ. [0123]
  • Familiar algebraic data structures including inter alia vectors and matrices correspond to lists of pre-determined length. [0124]
  • For data models that require the notion of an ordered set of instances without repetition, such a structures are considered as a special subset of list[C]; namely, lists without repetition. [0125]
  • To simplify compositions of properties, in one embodiment of the present invention special identifications are made to collapse containers of containers. Specifically, set[set[C]] is identified as set[C], through the set union. Thus, Person.children.children is identified as a set of people corresponding to a person's grandchildren, instead of as a set of sets of people. Similarly, bag[bag[C]] is identified as bag[C] by adding frequencies, and list[list[C]] is identified as list[C] by combining a list of lists into a single list. [0126]
  • Optionally, set[bag[C]], bag[set[C]], set[list[C]] and list[set[C] may be identified as set[C] by removing order and repetition structure through use of the projections φ and ψ from Equation (1). Similarly, bag[list[C]] and list[bag[C]] may be identified as bag[C] by removing order structure through use of the projection φ from Equation (1). [0127]
  • In an alternate embodiment of the present invention, containers of containers are not collapsed. [0128]
  • In data models it is often important to indicate minimum and maximum numbers of elements in the target of a multi-valued property. For example, a property Person.parents has a maximum of two elements in its target set. To this end, multi-valued properties may have min_elements and max_elements as attributes. Such attributes serve to limit the target of multi-valued properties to specific subsets of set[C], bag[C] and list[C]; namely, those subsets, bags and lists, respectively, having a number of elements, n, satisfying min_elements≦n≦max_elements. [0129]
  • In a preferred embodiment of the present invention, constraints may be imposed relating single-valued and multi-valued properties. For example, a constraint[0130]
  • BillOfGoods.totalCost=ΣBillOfGoods.items[k].cost relates properties totalCost: BillOfGoods→Values, items: BillOfGoods→list[Parts] and cost: Parts→Values.
  • Multi-valued properties can be used to model n-ary relationships within an ontology. For example, a tertiary relationship R⊂C[0131] 1×C2×C3 can be modeled as a property r: C1→set[C2×C3], defined according to r(c1)={(C2, C3): R(C1, C2, C3)}. The ability to model relationships enables the present invention to import data models that support relationships, such as the entity-relationship data model. Many-to-many relationships can be imported as multi-valued ontology properties. A reference for the entity-relationship data model is Garcia-Molina, Ullman, Jeffrey D. and Widom, Jennifer, “Database Systems: The Complete Book,” Prentice Hall, Upper Saddle River, N.J., 2002.
  • In a preferred embodiment of the present invention, multi-valued properties are used for embedding data schema into an ontology model, for schema that include constructs that can include more than one data elements. [0132]
  • For example, XML complexTypes can include sets of sequences of XML elements therewithin. Consider the XML schema from Example Fourteen of applicant's above-referenced co-pending application U.S. Ser. No. 10/053,045. [0133]
    Figure US20030101170A1-20030529-P00001
    Figure US20030101170A1-20030529-P00002
  • The underlying ontology is illustrated in FIG. 14. Observe that the XML element “letters” within the XML complexType “storage” corresponds to the multi-valued property Storage.letters from the class Storage to the container class set[Letter]. Similarly the XML elements “articles” and “reviews” within the XML complexType “storage” correspond to multi-valued properties Storage.articles and Storage.reviews, respectively, from the class Storage to the container class set[Document]. [0134]
  • Cobol Copy Books [0135]
  • The present invention can be used to query COBOL records. Using COBOL, variables are declared as follows: [0136]
    01 StudentDetails.
    02 StudentId PIC 9(7).
    02 StudentName.
    03 FirstName PIC X(10).
    03 MiddleInitial PIC X.
    03 Surname PIC X(15).
    02 DateofBirth.
    03 DayofBirth PIC 99.
    03 MonthofBirth PIC 99.
    03 YearofBirth PIC 9(4).
    02 CourseCode PIC X(4).
  • The variable StudentDetails includes group items, emphasized above in bold, and elementary items. Data can be read or written from variables provided that the size of the data corresponds to the declared sizes. [0137]
  • In the above typing for elementary items, 9 denotes a number and X denotes an alphanumeric. The notation 9(5) denotes a five digit non-negative integer. In addition, V is used to denote a decimal point, and S is used to denote a sign. [0138]
  • A COBOL Copy Book (CCB) is the metadata for COBOL format data that is saved to disk. A CCB defines the format of a COBOL record. The instances of a record defined by a CCB are in binary format. [0139]
  • It is noted that the above CCB corresponds to the following [0140]
  • XML schema: [0141]
    Figure US20030101170A1-20030529-P00003
  • Specifically, a CCB corresponds to a restricted type of XML schema. Group items in a CCB correspond to complexTypes in an XML schema, and elementary items in a CCB correspond to elements in an XML schema. [0142]
  • Implementation Details [0143]
  • The present invention overcomes several challenges when converting queries from the three-clause SELECT-FROM-WHERE ontology query language to data schema query language. For conversion to SQL, these include: [0144]
  • 1. Joining appropriate tables corresponding to one or more classes in the FROM clause. [0145]
  • 2. Identifying fields corresponding to one or more properties in the SELECT clause. [0146]
  • 3. Converting conditions in the WHERE clause to SQL format. [0147]
  • The former two challenges involve the mapping from tables and fields of relational database schemas into classes and properties of an ontology model, and can be overcome using applicant's technology for generating SQL transformations, as described in applicant's co-pending application U.S. Ser. No. 10/053,045, referenced hereinabove. Specifically, this application describes generating transformations for populating target data conforming to a target data schema from source data conforming to a source data schema. In particular, this application describes how to express target schema constructs in terms of source schema constructs. For the case at hand, the target schema constructs are the properties in the SELECT clause. [0148]
  • The latter challenge involves converting a logical expression from ontology format into SQL format, and can be overcome using Codd's normalization for converting from first order logic to SQL. [0149]
  • For conversion of an ontology query to an XQuery, three similar challenges arise, where complex types correspond to one or more classes in the FROM clause and elements and attributes correspond to one or more properties in the SELECT clause. As above, applicant's co-pending U.S. Ser. No. 10/053,045 describes generating XSL transformations, which can be used to overcome the first two challenges. [0150]
  • The latter challenge involves converting a logical expression from ontology format to XQuery format. [0151]
  • In the foregoing specification, the invention has been described with reference to specific exemplary embodiments thereof. It will, however, be evident that various modifications and changes may be made to the specific exemplary embodiments without departing from the broader spirit and scope of the invention as set forth in the appended claims. Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense. [0152]

Claims (166)

What is claimed is:
1. A data query system comprising:
a first storage medium including a data schema having a data schema query language associated therewith;
a second storage medium including an ontology model including classes and properties, the ontology model having an ontology query language associated therewith, wherein constructs of the data schema are mapped to corresponding classes, properties or compositions of properties of the ontology model; and
an ontology query processor generating a query expressed in the data schema query language corresponding to a specified query expressed in the ontology query language.
2. The data query system of claim 1 wherein said second storage medium is the same as said first storage medium.
3. The data query system of claim 1 wherein said second storage medium is different from said first storage medium.
4. The data query system of claim 1 wherein said first storage medium also provides at least one data source conforming to the data schema, and further comprising a database query processor executing the query expressed in the data schema query language on the at least one data source.
5. The data query system of claim 1 wherein the specified query expressed in the ontology query language includes a clause indicating at least one subject class to which a query applies.
6. The data query system of claim 5 wherein the specified query expressed in the ontology query language includes at least one property or composition of properties defined on the at least one subject class, values of which are to be displayed.
7. The data query system of claim 6 wherein at least one of the at least one property or composition of properties defined on the at least one subject class, are inherited from at least one property or composition of properties defined on a superclass of the subject class.
8. The data query system of claim 5 wherein the specified query expressed in the ontology query language includes at least one condition that must be satisfied by at least one value of a property or composition of properties defined on the at least one subject class.
9. The data query system of claim 8 wherein the property or composition of properties defined on the at least one subject class, is inherited from a property or composition of properties defined on a superclass of the subject class.
10. The data query system of claim 1 further comprising an ontology query builder generating a query expressed in the ontology query language.
11. The data query system of claim 10 wherein said ontology query builder enables a user to specify at least one subject class to which the query applies.
12. The data query system of claim 11 wherein said query builder enables a user to specify at least one property or composition of properties defined on the at least one subject class, values of which are to be displayed.
13. The data query system of claim 12 wherein at least one of the at least one property or composition of properties defined on the at least one subject class, are inherited from at least one property or composition of properties defined on a superclass of the subject class.
14. The data query system of claim 11 wherein said query builder enables a user to specify at least one condition that must be satisfied by at least one value of a property or composition of properties defined on the at least one subject class.
15. The data query system of claim 14 wherein the property or composition of properties defined on the at least one subject class, is inherited from a property or composition of properties defined on a superclass of the subject class.
16. The data query system of claim 1 wherein the data schema is a relational database schema, the constructs of which are tables and fields, and wherein the data schema query language is SQL.
17. The data query system of claim 1 wherein the data schema is an XML schema, the constructs of which are complex types, elements and attributes, and wherein the data schema query language is XQuery.
18. The data query system of claim 1 wherein the data schema is a COBOL Copy Book, the constructs of which are group items and elementary items.
19. The data query system of claim 1 wherein the data schema is an entity-relationship model.
20. The data query system of claim 1 further comprising a display processor generating a visual display of the query expressed in the data schema query language.
21. The data query system of claim 20 wherein the visual display includes a display of the query expressed in the ontology query language.
22. The data query system of claim 1 further comprising an additional storage medium including an additional data schema having an additional data schema query language associated therewith, wherein constructs of the additional data schema are also mapped to corresponding classes, properties or compositions of properties of the ontology model, and wherein said ontology query processor also generates a query expressed in the additional data schema query language corresponding to the specified query expressed in the ontology query language.
23. The data query system of claim 22 wherein said additional storage medium is the same as said first storage medium.
24. The data query system of claim 22 wherein said additional storage medium as different from said first storage medium.
25. The data query system of claim 22 wherein the additional data schema is the same as the data schema, and wherein the additional data schema query language is the same as the data schema query language.
26. The data query system of claim 22 wherein the additional data schema is different from the data schema, and wherein the additional data schema query language is different from the data schema query language.
27. The data query system of claim 26 wherein the data schema is a relational database schema and wherein the additional data schema is an XML schema.
28. A method for data query comprising:
providing a data schema having a data schema query language associated therewith;
providing an ontology model including classes and properties, the ontology model having an ontology query language associated therewith, wherein constructs of the data schema are mapped to corresponding classes, properties or compositions of properties of the ontology model;
providing a query expressed in the ontology language; and
generating a query expressed in the data schema query language corresponding to the query expressed in the ontology query language.
29. The method of claim 28 further comprising:
providing at least one data source conforming to the data schema; and
executing the query expressed in the data schema language on the at least one data source.
30. The method of claim 28 wherein the query expressed in the ontology query language includes a clause indicating at least one subject class to which the query applies.
31. The method of claim 28 wherein the query expressed in the ontology language includes at least one property or composition of properties defined on the at least one subject class, values of which are to be displayed.
32. The method of claim 31 wherein at least one of the at least one property or composition of properties defined on the at least one subject class, are inherited from at least one property or composition of properties defined on a superclass of the subject class.
33. The method of claim 28 wherein the query expressed in the ontology language includes at least one condition that must be satisfied by at least one value of a property or composition of properties defined on the at least one subject class.
34. The method of claim 33 wherein the property or composition of properties defined on the at least one subject class, is inherited from a property or composition of properties defined on a superclass of the subject class.
35. The method of claim 28 further comprising generating a query expressed in the ontology language.
36. The method of claim 35 wherein said generating a query comprises specifying at least one subject class to which a query applies.
37. The method of claim 36 wherein said generating a query comprises specifying at least one property or composition of properties defined on the at least one subject class, values of which are to be displayed.
38. The method of claim 37 wherein at least one of the at least one property or composition of properties defined on the at least one subject class, are inherited from at least one property or composition of properties defined on a superclass of the subject class.
39. The method of claim 36 wherein said generating a query comprises specifying at least one condition that must be satisfied by at least one value of a property or composition of properties defined on the at least one subject class.
40. The method of claim 39 wherein the property or composition of properties defined on the at least one subject class, is inherited from a property or composition of properties defined on a superclass of the subject class
41. The method of claim 28 wherein the data schema is a relational database schema, the constructs of which are tables and fields, and wherein the data schema query language is SQL.
42. The method of claim 28 wherein the data schema is an XML schema, the constructs of which are complex types, elements and attributes, and wherein the data schema query language is XQuery.
43. The method of claim 28 wherein the data schema is a COBOL Copy Book, the constructs of which are group items and elementary items.
44. The method of claim 28 wherein the data schema is an entity-relationship model.
45. The method of claim 28 further comprising generating a visual display of the query expressed in the data schema query language.
46. The method of claim 45 wherein the visual display includes a display of the query expressed in the ontology query language.
47. The method of claim 28 further comprising;
providing an additional data schema having an additional data schema query language associated therewith, wherein constructs of the additional data schema are also mapped to corresponding classes, properties or compositions of properties of the ontology model; and
generating a query expressed in the additional data schema query language corresponding to the query expressed in the ontology query language.
48. The method of claim 47 wherein the additional data schema is the same as the data schema, and wherein the additional data schema query language is the same as the data schema query language.
49. The method of claim 47 wherein the additional data schema is different from the data schema, and wherein the additional data schema query language is different from the data schema query language.
50. The method of claim 47 wherein the data schema is a relational database schema and wherein the additional data schema is an XML schema.
51. A data locator system comprising:
at least one first storage medium including at least one data schema;
a second storage medium including an ontology model including classes and properties, wherein constructs of the at least one data schema are mapped to corresponding classes, properties or compositions of properties of the ontology model; and
a data locator identifying constructs of the at least one data schema corresponding to specific classes or properties of the ontology model.
52. The data locator system of claim 51 wherein said second storage medium is the same as said first storage medium.
53. The data locator system of claim 51 wherein said second storage medium is different from said first storage medium.
54. The data locator system of claim 51 wherein said data locator identifies constructs of the at least one data schema corresponding to values of specific properties of the ontology model.
55. The data locator system of claim 54 wherein said data locator also identifies formats according to which the values of the specific properties are represented.
56. The data locator system of claim 51 wherein said at least one first storage medium comprises at least one data source conforming to the at least one data schema, and wherein said data locator also identifies, for each identified construct, data sources that contain data for the identified construct.
57. The data locator system of claim 51 wherein said data locator indicates classes and properties of the ontology model that correspond to constructs of the data schema.
58. The data locator system of claim 51 wherein at least one of the at least one data schema is a relational database schema, the constructs of which are tables and fields.
59. The data locator system of claim 58 wherein at least one of the at least one data schema is an XML schema, the constructs of which are complex types, elements and attributes.
60. The data locator system of claim 58 wherein at least one of the at least one data schema is a COBOL Copy Book, the constructs of which are group items and elementary items.
61. The data locator system of claim 58 wherein at least one of the at least one data schema is an entity relationship model.
62. The data locator system of claim 51 wherein at least one of the at least one data schema is an XML schema, the constructs of which are complex types, elements and attributes.
63. The data locator system of claim 62 wherein at least one of the at least one data schema is a COBOL Copy Book, the constructs of which are group items and elementary items.
64. The data locator system of claim 62 wherein at least one of the at least one data schema is an entity relationship model.
65. The data locator system of claim 51 wherein at least one of the at least one data schema is a COBOL Copy Book, the constructs of which are group items and elementary items.
66. The data locator system of claim 65 wherein at least one of the at least one data schema is an entity relationship model.
67. The data locator system of claim 51 wherein at least one of the at least one data schema is an entity-relationship model.
68. The data locator system of claim 51 further comprising a display processor generating a visual display of constructs of the at least one data schema identified by said data locator.
69. The data locator system of claim 68 wherein said at least one first storage medium comprises at least one data source conforming to the at least one data schema, and wherein said data locator also identifies, for each identified construct, data sources that contain data for the identified construct, and wherein the visual display includes a display of the data sources identified by said data locator.
70. The data locator system of claim 68 wherein said display processor generates an HTML page for the visual display.
71. The data locator system of claim 51 further comprising a report generator generating at least one report based on constructs of the at least one data schema identified by said data locator.
72. The data locator system of claim 70 wherein said report generator generates a list of classes and properties of the ontology model to which more than a prescribed number of constructs of the at least one data schema correspond.
73. A method for data location comprising:
providing at least one data schema;
providing an ontology model including classes and properties, wherein constructs of the at least one data schema are mapped to corresponding classes, properties or compositions of properties of the ontology model; and
identifying constructs of the at least one data schema corresponding to specific classes or properties of the ontology model.
74. The method of claim 73 wherein said identifying constructs identifies constructs of the at least one data schema corresponding to values of specific properties of the ontology model.
75. The method of claim 73 wherein said identifying constructs also identifies formats according to which the values of the specific properties are represented.
76. The method of claim 73 further comprising providing at least one data source conforming to said at least one data schema, and wherein said identifying constructs comprises identifying, for each identified construct, data sources that contain data for the identified construct.
77. The method of claim 73 further comprising indicating classes and properties of the ontology model that correspond to constructs of the data schema.
78. The method of claim 73 wherein at least one of the at least one data schema is a relational database schema, the constructs of which are tables and fields.
79. The method of claim 78 wherein at least one of the at least one data schema is an XML schema, the constructs of which are complex types, elements and attributes.
80. The method of claim 78 wherein at least one of the at least one data schema is a COBOL Copy Book, the constructs of which are group items and elementary items.
81. The method of claim 78 wherein at least one of the at least one data schema is an entity relationship model.
82. The method of claim 73 wherein at least one of the at least one data schema is an XML schema, the constructs of which are complex types, elements and attributes.
83. The method of claim 82 wherein at least one of the at least one data schema is a COBOL Copy Book, the constructs of which are group items and elementary items.
84. The method of claim 82 wherein at least one of the at least one data schema is an entity relationship model.
85. The method of claim 73 wherein at least one of the at least one data schema is a COBOL Copy Book, the constructs of which are group items and elementary items.
86. The method of claim 85 wherein at least one of the at least one data schema is an entity relationship model.
87. The method of claim 73 wherein at least one of the at least one data schema is an entity-relationship model.
88. The method of claim 73 further comprising generating a visual display of constructs of the at least one data schema identified by said identifying constructs.
89. The method of claim 88 further comprising providing at least one data source conforming to said at least one data schema, and wherein said identifying constructs comprises identifying, for each identified construct, data sources that contain data for the identified construct, and wherein the visual display includes a display of the data sources identified by said identifying constructs.
90. The method of claim 88 wherein said generating a visual display generates an HTML page for the visual display.
91. The method of claim 73 further comprising generating at least one report based on constructs of the at least one data schema identified by said data locator.
92. The method of claim 91 wherein said generating generates a list of classes and properties of the ontology model to which more than a prescribed number of constructs of the at least one data schema correspond.
93. An ontology query system, comprising:
a storage medium providing an ontology model including classes and properties; and
a query builder generating an ontology query, the ontology query including a first clause indicating at least one subject class to which the query applies, and a second clause indicating at least one property or composition of properties defined on the at least one subject class, values of which are to be displayed.
94. The ontology query system of claim 93 wherein the ontology query includes a third clause indicating at least one condition that must be satisfied by values of properties or compositions of properties defined on the at least one subject class.
95. A method for querying ontological data, comprising:
providing an ontology model including classes and properties; and
generating an ontology query, the ontology query including a first clause indicating at least one subject class to which the query applies, and a second clause indicating at least one property or composition of properties defined on the at least one subject class, values of which are to be displayed.
96. The method of claim 95 wherein the ontology query includes a third clause indicating at least one condition that must be satisfied by values of properties or compositions of properties defined on the at least one subject class.
97. A data descriptor propagation system comprising:
at least one first storage medium including at least one data schema and at least one data source conforming to the at least one data schema;
a second storage medium including an ontology model including classes and properties, wherein constructs of the at least one data schema are mapped to corresponding classes, properties or compositions of properties of the ontology model; and
a data descriptor propagator associating descriptors with data for data schema constructs in the at least one data source, corresponding to descriptors associated with corresponding classes and properties of the ontology system.
98. The data descriptor propagation system of claim 97 further comprising an ontology descriptor associating descriptors with classes and properties of an ontology.
99. The data descriptor propagation system of claim 97 wherein descriptors are used to specify access privileges to data.
100. The data descriptor propagation system of claim 97 wherein at least one of the at least one data schema is a relational database schema, the constructs of which are tables and fields.
101. The data descriptor propagation system of claim 97 wherein at least one of the at least one data schema is an XML schema, the constructs of which are complex types, elements and attributes.
102. The data descriptor propagation system of claim 97 wherein at least one of the at least one data schema is a COBOL Copy Book, the constructs of which are group items and elementary items.
103. The data descriptor propagation system of claim 97 wherein at least one of the at least one data schema is an entity-relationship model.
104. A method for data descriptor propagation comprising:
providing at least one data schema and at least one data source conforming to the at least one data schema;
providing an ontology model including classes and properties, wherein constructs of the at least one data schema are mapped to corresponding classes, properties or compositions of properties of the ontology model; and
associating descriptors with data for data schema constructs in the at least one data source, corresponding to descriptors associated with corresponding classes and properties of the ontology system.
105. The method of claim 104 further comprising associating descriptors with classes and properties of an ontology.
106. The method of claim 104 wherein descriptors are used to specify access privileges to data.
107. The method of claim 104 wherein at least one of the at least one data schema is a relational database schema, the constructs of which are tables and fields.
108. The method of claim 104 wherein at least one of the at least one data schema is an XML schema, the constructs of which are complex types, elements and attributes.
109. The method of claim 104 wherein at least one of the at least one data schema is a COBOL Copy Book, the constructs of which are group items and elementary items.
110. The method of claim 104 wherein at least one of the at least one data schema is an entity-relationship model.
111. An ontology modeling system comprising:
at least one data construct for container classes for modeling sets, bags and lists;
at least one data construct for modeling multi-valued properties whose targets are said container classes; and
at least one data construct for imposing constraints on said multi-valued properties.
112. The ontology modeling system of claim 111 further comprising at least one data construct for assigning a minimum number of elements and a maximum number of elements to said multi-valued properties.
113. A COBOL mapping system for embedding a COBOL Copy Book including group items and elementary items into an ontology model including classes and properties, comprising:
at least one data construct for mapping at least one COBOL group item within a COBOL Copy Book to at least one class of an ontology model; and
at least one data construct for mapping at least one COBOL elementary items within the COBOL Copy Book to at least one property or composition of properties of the ontology model.
114. A method for embedding a COBOL Copy Book including group items and elementary items into an ontology model including classes and properties, comprising:
mapping at least one COBOL group item within a COBOL Copy Book to at least one class of an ontology model; and
at least one data construct for mapping at least one COBOL elementary items within the COBOL Copy Book to at least one property or composition of properties of the ontology model.
115. A computer readable medium (CRM) containing executable computer program instructions which, when executed on a processing system, cause the processing system to perform a method for data query comprising:
providing an ontology model including classes and properties, the ontology model having an ontology query language associated therewith, wherein constructs of a data schema having a data schema query language, associated therewith are mapped to corresponding classes, properties or compositions of properties of the ontology model;
generating a query expressed in the data schema query language corresponding to a query expressed in the ontology query language.
116. The CRM of claim 115, the method further comprising:
providing at least one data source conforming to the data schema; and
executing the query expressed in the data schema language on the at least one data source.
117. The CRM of claim 115 wherein the query expressed in the ontology query language includes a clause indicating at least one subject class to which the query applies.
118. The CRM of claim 115 wherein the query expressed in the ontology language includes at least one property or composition of properties defined on the at least one subject class, values of which are to be displayed.
119. The CRM of claim 118 wherein at least one of the at least one property or composition of properties defined on the at least one subject class, are inherited from at least one property or composition of properties defined on a superclass of the subject class.
120. The CRM of claim 115 wherein the query expressed in the ontology language includes at least one condition that must be satisfied by at least one value of a property or composition of properties defined on the at least one subject class.
121. The CRM of claim 120 wherein the property or composition of properties defined on the at least one subject class, is inherited from a property or composition of properties defined on a superclass of the subject class.
122. The CRM of claim 28, the method further comprising generating a query expressed in the ontology language.
123. The CRM of claim 122 wherein said generating a query comprises specifying at least one subject class to which a query applies.
124. The CRM of claim 123 wherein said generating a query comprises specifying at least one property or composition of properties defined on the at least one subject class, values of which are to be displayed.
125. The CRM of claim 124 wherein at least one of the at least one property or composition of properties defined on the at least one subject class, are inherited from at least one property or composition of properties defined on a superclass of the subject class.
126. The CRM of claim 123 wherein said generating a query comprises specifying at least one condition that must be satisfied by at least one value of a property or composition of properties defined on the at least one subject class.
127. The CRM of claim 126 wherein the property or composition of properties defined on the at least one subject class, is inherited from a property or composition of properties defined on a superclass of the subject class
128. The CRM of claim 115 wherein the data schema is a relational database schema, the constructs of which are tables and fields, and wherein the data schema query language is SQL.
129. The CRM of claim 115 wherein the data schema is an XML schema, the constructs of which are complex types, elements and attributes, and wherein the data schema query language is XQuery.
130. The CRM of claim 115 wherein the data schema is a COBOL Copy Book, the constructs of which are group items and elementary items.
131. The CRM of claim 115 wherein the data schema is an entity-relationship model.
132. The CRM of claim 115, the method further comprising generating a visual display of the query expressed in the data schema query language.
133. The CRM of claim 132 wherein the visual display includes a display of the query expressed in the ontology query language.
134. The CRM of claim 115, the method further comprising;
providing an additional data schema having an additional data schema query language associated therewith, wherein constructs of the additional data schema are also mapped to corresponding classes, properties or compositions of properties of the ontology model; and
generating a query expressed in the additional data schema query language corresponding to the query expressed in the ontology query language.
135. The CRM of claim 134 wherein the additional data schema is the same as the data schema, and wherein the additional data schema query language is the same as the data schema query language.
136. The CRM of claim 134 wherein the additional data schema is different from the data schema, and wherein the additional data schema query language is different from the data schema query language.
137. The CRM of claim 134 wherein the data schema is a relational database schema and wherein the additional data schema is an XML schema.
138. A computer readable medium (CRM) containing executable computer program instructions which, when executed on a processing system, cause the processing system to perform a method for data location comprising:
providing an ontology model including classes and properties, wherein constructs of at least one data schema are mapped to corresponding classes, properties or compositions of properties of the ontology model; and
identifying constructs of the at least one data schema corresponding to specific classes or properties of the ontology model.
139. The CRM of claim 138 wherein said identifying constructs identifies constructs of the at least one data schema corresponding to values of specific properties of the ontology model.
140. The CRM of claim 138 wherein said identifying constructs also identifies formats according to which the values of the specific properties are represented.
141. The CRM of claim 138, the method further comprising providing at least one data source conforming to said at least one data schema, and wherein said identifying constructs comprises identifying, for each identified construct, data sources that contain data for the identified construct.
142. The CRM of claim 138, the method further comprising indicating classes and properties of the ontology model that correspond to constructs of the data schema.
143. The CRM of claim 138 wherein at least one of the at least one data schema is a relational database schema, the constructs of which are tables and fields.
144. The CRM of claim 143 wherein at least one of the at least one data schema is an XML schema, the constructs of which are complex types, elements and attributes.
145. The CRM of claim 143 wherein at least one of the at least one data schema is a COBOL Copy Book, the constructs of which are group items and elementary items.
146. The CRM of claim 143 wherein at least one of the at least one data schema is an entity relationship model.
147. The CRM of claim 138 wherein at least one of the at least one data schema is an XML schema, the constructs of which are complex types, elements and attributes.
148. The CRM of claim 147 wherein at least one of the at least one data schema is a COBOL Copy Book, the constructs of which are group items and elementary items.
149. The CRM of claim 147 wherein at least one of the at least one data schema is an entity relationship model.
150. The CRM of claim 138 wherein at least one of the at least one data schema is a COBOL Copy Book, the constructs of which are group items and elementary items.
151. The CRM of claim 150 wherein at least one of the at least one data schema is an entity relationship model.
152. The CRM of claim 138 wherein at least one of the at least one data schema is an entity-relationship model.
153. The CRM of claim 138 further comprising generating a visual display of constructs of the at least one data schema identified by said identifying constructs.
154. The CRM of claim 153 further comprising providing at least one data source conforming to said at least one data schema, and wherein said identifying constructs comprises identifying, for each identified construct, data sources that contain data for the identified construct, and wherein the visual display includes a display of the data sources identified by said identifying constructs.
155. The CRM of claim 153 wherein said generating a visual display generates an HTML page for the visual display.
156. The CRM of claim 138 further comprising generating at least one report based on constructs of the at least one data schema identified by said data locator.
157. The CRM of claim 156 wherein said generating generates a list of classes and properties of the ontology model to which more than a prescribed number of constructs of the at least one data schema correspond.
158. A computer readable medium (CRM) containing executable computer program instructions which, when executed on a processing system, cause the processing system to perform a method for querying ontological data, comprising:
storing an ontology model including classes and properties; and
generating an ontology query, the ontology query including a first clause indicating at least one subject class to which the query applies, and a second clause indicating at least one property or composition of properties defined on the at least one subject class, values of which are to be displayed.
159. The CRM of claim 158 wherein the ontology query includes a third clause indicating at least one condition that must be satisfied by values of properties or compositions of properties defined on the at least one subject class.
160. A computer readable medium (CRM) containing executable computer program instructions which, when executed on a processing system, cause the processing system to perform a method for data descriptor propagation comprising:
receiving an input from at least one data source conforming to the at least one data schema;
providing an ontology model including classes and properties, wherein constructs of the at least one data schema are mapped to corresponding classes, properties or compositions of properties of the ontology model; and
associating descriptors with data for data schema constructs in the at least one data source, corresponding to descriptors associated with corresponding classes and properties of the ontology system.
161. The CRM of claim 160, the method further comprising associating descriptors with classes and properties of an ontology.
162. The CRM of claim 160 wherein descriptors are used to specify access privileges to data.
163. The CRM of claim 160 wherein at least one of the at least one data schema is a relational database schema, the constructs of which are tables and fields.
164. The CRM of claim 160 wherein at least one of the at least one data schema is an XML schema, the constructs of which are complex types, elements and attributes.
165. The CRM of claim 160 wherein at least one of the at least one data schema is a COBOL Copy Book, the constructs of which are group items and elementary items.
166. The CRM of claim 160 wherein at least one of the at least one data schema is an entity-relationship model.
US10/159,516 2001-05-25 2002-05-31 Data query and location through a central ontology model Abandoned US20030101170A1 (en)

Priority Applications (10)

Application Number Priority Date Filing Date Title
US10/159,516 US20030101170A1 (en) 2001-05-25 2002-05-31 Data query and location through a central ontology model
US10/302,370 US7673282B2 (en) 2001-05-25 2002-11-22 Enterprise information unification
US10/340,068 US20030163450A1 (en) 2001-05-25 2003-01-09 Brokering semantics between web services
US10/637,171 US20040093559A1 (en) 2001-05-25 2003-08-07 Web client for viewing and interrogating enterprise data semantically
US10/637,339 US7877421B2 (en) 2001-05-25 2003-08-08 Method and system for mapping enterprise data assets to a semantic information model
US11/026,358 US8412746B2 (en) 2001-05-25 2004-12-29 Method and system for federated querying of data sources
US11/134,725 US7475084B2 (en) 2001-05-25 2005-05-20 Data query and location through a central ontology model
US11/165,650 US7921098B2 (en) 2001-05-25 2005-06-24 Data query and location through a central ontology model
US11/182,455 US7472137B2 (en) 2001-05-25 2005-07-15 Data query and location through a central ontology model
US12/253,798 US8060531B2 (en) 2001-05-25 2008-10-17 Data query and location through a central ontology model

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US09/866,101 US7099885B2 (en) 2001-05-25 2001-05-25 Method and system for collaborative ontology modeling
US09/904,457 US7093200B2 (en) 2001-05-25 2001-07-06 Instance browser for ontology
US10/053,045 US20040216030A1 (en) 2001-05-25 2002-01-15 Method and system for deriving a transformation by referring schema to a central model
US10/104,785 US7146399B2 (en) 2001-05-25 2002-03-22 Run-time architecture for enterprise integration with transformation generation
US10/159,516 US20030101170A1 (en) 2001-05-25 2002-05-31 Data query and location through a central ontology model

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US10/104,785 Continuation-In-Part US7146399B2 (en) 2001-05-25 2002-03-22 Run-time architecture for enterprise integration with transformation generation

Related Child Applications (4)

Application Number Title Priority Date Filing Date
US10/302,370 Continuation-In-Part US7673282B2 (en) 2001-05-25 2002-11-22 Enterprise information unification
US11/134,725 Division US7475084B2 (en) 2001-05-25 2005-05-20 Data query and location through a central ontology model
US11/165,650 Division US7921098B2 (en) 2001-05-25 2005-06-24 Data query and location through a central ontology model
US11/182,455 Division US7472137B2 (en) 2001-05-25 2005-07-15 Data query and location through a central ontology model

Publications (1)

Publication Number Publication Date
US20030101170A1 true US20030101170A1 (en) 2003-05-29

Family

ID=46280691

Family Applications (4)

Application Number Title Priority Date Filing Date
US10/159,516 Abandoned US20030101170A1 (en) 2001-05-25 2002-05-31 Data query and location through a central ontology model
US11/134,725 Expired - Lifetime US7475084B2 (en) 2001-05-25 2005-05-20 Data query and location through a central ontology model
US11/165,650 Expired - Fee Related US7921098B2 (en) 2001-05-25 2005-06-24 Data query and location through a central ontology model
US11/182,455 Expired - Lifetime US7472137B2 (en) 2001-05-25 2005-07-15 Data query and location through a central ontology model

Family Applications After (3)

Application Number Title Priority Date Filing Date
US11/134,725 Expired - Lifetime US7475084B2 (en) 2001-05-25 2005-05-20 Data query and location through a central ontology model
US11/165,650 Expired - Fee Related US7921098B2 (en) 2001-05-25 2005-06-24 Data query and location through a central ontology model
US11/182,455 Expired - Lifetime US7472137B2 (en) 2001-05-25 2005-07-15 Data query and location through a central ontology model

Country Status (1)

Country Link
US (4) US20030101170A1 (en)

Cited By (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020149591A1 (en) * 2001-03-26 2002-10-17 Van Der Vleuten Renatus Josephus Storage of multi-media items
US20050001280A1 (en) * 2003-07-01 2005-01-06 International Business Machines Corporation Circuit and method for pipelined insertion
US20050010565A1 (en) * 2003-05-27 2005-01-13 David Cushing System and method of transforming queries based upon E/R schema into multi-dimensional expression queries
WO2005008358A2 (en) 2003-07-22 2005-01-27 Kinor Technologies Inc. Information access using ontologies
US20050050068A1 (en) * 2003-08-29 2005-03-03 Alexander Vaschillo Mapping architecture for arbitrary data models
EP1515250A2 (en) * 2003-09-12 2005-03-16 Hewlett-Packard Development Company, L.P. Method and apparatus for information search
US20050080656A1 (en) * 2003-10-10 2005-04-14 Unicru, Inc. Conceptualization of job candidate information
US20050216501A1 (en) * 2004-03-23 2005-09-29 Ilker Cengiz System and method of providing and utilizing an object schema to facilitate mapping between disparate domains
US20050234889A1 (en) * 2001-05-25 2005-10-20 Joshua Fox Method and system for federated querying of data sources
US20050240551A1 (en) * 2004-04-23 2005-10-27 International Business Machines Corporation Methods and apparatus for discovering data providers satisfying provider queries
US20050278285A1 (en) * 2004-06-10 2005-12-15 International Business Machines Corporation Methods and apparatus for specifying and processing descriptive queries for data sources
US20060015843A1 (en) * 2004-07-13 2006-01-19 Marwan Sabbouh Semantic system for integrating software components
US20060064666A1 (en) * 2001-05-25 2006-03-23 Amaru Ruth M Business rules for configurable metamodels and enterprise impact analysis
US20060173868A1 (en) * 2005-01-31 2006-08-03 Ontoprise Gmbh Mapping web services to ontologies
US20060206883A1 (en) * 2004-07-13 2006-09-14 The Mitre Corporation Semantic system for integrating software components
US20060271584A1 (en) * 2005-05-26 2006-11-30 International Business Machines Corporation Apparatus and method for using ontological relationships in a computer database
US20070050343A1 (en) * 2005-08-25 2007-03-01 Infosys Technologies Ltd. Semantic-based query techniques for source code
US20070162409A1 (en) * 2006-01-06 2007-07-12 Godden Kurt S Creation and maintenance of ontologies
US20070226246A1 (en) * 2006-03-27 2007-09-27 International Business Machines Corporation Determining and storing at least one results set in a global ontology database for future use by an entity that subscribes to the global ontology database
US7293010B2 (en) 2005-01-25 2007-11-06 Ontoprise Gmbh Enterprise information integration platform
US20070271227A1 (en) * 2006-05-16 2007-11-22 Business Objects, S.A. Apparatus and method for recursively rationalizing data source queries
US20080046422A1 (en) * 2005-01-18 2008-02-21 International Business Machines Corporation System and Method for Planning and Generating Queries for Multi-Dimensional Analysis using Domain Models and Data Federation
US20080086490A1 (en) * 2006-10-04 2008-04-10 Sap Ag Discovery of services matching a service request
EP1965313A1 (en) * 2006-10-31 2008-09-03 British Telecommunications Public Limited Company Data processing
US20080235203A1 (en) * 2004-04-06 2008-09-25 Simon J Case Information Retrieval
US20090112841A1 (en) * 2007-10-29 2009-04-30 International Business Machines Corporation Document searching using contextual information leverage and insights
US20090187446A1 (en) * 2000-06-12 2009-07-23 Dewar Katrina L Computer-implemented system for human resources management
KR100919845B1 (en) * 2008-11-06 2009-09-30 (주)유엠텍 Meta modeling-based ontology system
US7730098B2 (en) 2007-03-02 2010-06-01 International Business Machines Corporation Method for supporting ontology-related semantic queries in DBMSs with XML support
US7840600B1 (en) * 2006-12-29 2010-11-23 Izenda, LLC Systems and methods for interactively creating, customizing, and executing reports over the internet
US7912862B2 (en) 2003-08-29 2011-03-22 Microsoft Corporation Relational schema format
US20110087650A1 (en) * 2009-10-06 2011-04-14 Johnson Controls Technology Company Creation and use of causal relationship models in building management systems and applications
US20110088000A1 (en) * 2009-10-06 2011-04-14 Johnson Controls Technology Company Systems and methods for displaying a hierarchical set of building management system information
US20110137853A1 (en) * 2009-10-06 2011-06-09 Johnson Controls Technology Company Systems and methods for reporting a cause of an event or equipment state using causal relationship models in a building management system
US20110208848A1 (en) * 2008-08-05 2011-08-25 Zhiyong Feng Network system of web services based on semantics and relationships
EP2365448A1 (en) * 2010-03-11 2011-09-14 British Telecommunications PLC Data integration system
US8219585B2 (en) * 2005-06-14 2012-07-10 Enterprise Elements, Inc. Database data dictionary
US20120317591A1 (en) * 2005-09-22 2012-12-13 Progress Software Corporation Implementation System for Business Applications
US8478766B1 (en) * 2011-02-02 2013-07-02 Comindware Ltd. Unified data architecture for business process management
US8516016B2 (en) 2010-07-07 2013-08-20 Johnson Controls Technology Company Systems and methods for facilitating communication between a plurality of building automation subsystems
US8682921B2 (en) 2010-07-07 2014-03-25 Johnson Controls Technology Company Query engine for building management systems
EP2827262A1 (en) * 2013-07-18 2015-01-21 Ims Health Incorporated System and method for modelling data
US20160170999A1 (en) * 2014-12-16 2016-06-16 General Electric Company Method and tool for browsing semantic data and creating queries using a domain/range representation

Families Citing this family (91)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7490092B2 (en) 2000-07-06 2009-02-10 Streamsage, Inc. Method and system for indexing and searching timed media information based upon relevance intervals
US7593920B2 (en) * 2001-04-04 2009-09-22 West Services, Inc. System, method, and software for identifying historically related legal opinions
US7099885B2 (en) 2001-05-25 2006-08-29 Unicorn Solutions Method and system for collaborative ontology modeling
US7146399B2 (en) * 2001-05-25 2006-12-05 2006 Trident Company Run-time architecture for enterprise integration with transformation generation
US7877421B2 (en) * 2001-05-25 2011-01-25 International Business Machines Corporation Method and system for mapping enterprise data assets to a semantic information model
US20030101170A1 (en) 2001-05-25 2003-05-29 Joseph Edelstein Data query and location through a central ontology model
US8042132B2 (en) 2002-03-15 2011-10-18 Tvworks, Llc System and method for construction, delivery and display of iTV content
US8365230B2 (en) 2001-09-19 2013-01-29 Tvworks, Llc Interactive user interface for television applications
US7703116B1 (en) 2003-07-11 2010-04-20 Tvworks, Llc System and method for construction, delivery and display of iTV applications that blend programming information of on-demand and broadcast service offerings
US20040027350A1 (en) * 2002-08-08 2004-02-12 Robert Kincaid Methods and system for simultaneous visualization and manipulation of multiple data types
US20050027729A1 (en) * 2002-05-22 2005-02-03 Allan Kuchinsky System and methods for visualizing and manipulating multiple data values with graphical views of biological relationships
US8131471B2 (en) * 2002-08-08 2012-03-06 Agilent Technologies, Inc. Methods and system for simultaneous visualization and manipulation of multiple data types
US20050216459A1 (en) * 2002-08-08 2005-09-29 Aditya Vailaya Methods and systems, for ontological integration of disparate biological data
US8220018B2 (en) 2002-09-19 2012-07-10 Tvworks, Llc System and method for preferred placement programming of iTV content
US8578411B1 (en) 2003-03-14 2013-11-05 Tvworks, Llc System and method for controlling iTV application behaviors through the use of application profile filters
US11381875B2 (en) 2003-03-14 2022-07-05 Comcast Cable Communications Management, Llc Causing display of user-selectable content types
US7558790B1 (en) * 2003-03-18 2009-07-07 Troux Technologies Method and system for querying an applied data model
WO2004090100A2 (en) 2003-04-04 2004-10-21 Agilent Technologies, Inc. Visualizing expression data on chromosomal graphic schemes
US7825929B2 (en) * 2003-04-04 2010-11-02 Agilent Technologies, Inc. Systems, tools and methods for focus and context viewing of large collections of graphs
FR2853624B1 (en) * 2003-04-14 2005-06-10 Eads Launch Vehicles SET OF ELEMENTS, FOLDABLE AND DEPLOYABLE, MOUNTED ON BOARD A SPACE ENGINE
CA2427185A1 (en) * 2003-04-29 2004-10-29 Cognos Incorporated Automated database query generation
CA2427159A1 (en) * 2003-04-29 2004-10-29 Cognos Incorporated Simplified metadata modelling for reporting
US7403939B1 (en) 2003-05-30 2008-07-22 Aol Llc Resolving queries based on automatic determination of requestor geographic location
US8819734B2 (en) 2003-09-16 2014-08-26 Tvworks, Llc Contextual navigational control for digital television
US7562069B1 (en) * 2004-07-01 2009-07-14 Aol Llc Query disambiguation
US7571157B2 (en) * 2004-12-29 2009-08-04 Aol Llc Filtering search results
US7349896B2 (en) * 2004-12-29 2008-03-25 Aol Llc Query routing
US7818314B2 (en) * 2004-12-29 2010-10-19 Aol Inc. Search fusion
US7272597B2 (en) 2004-12-29 2007-09-18 Aol Llc Domain expert search
US7890545B1 (en) 2005-03-31 2011-02-15 Troux Technologies Method and system for a reference model for an enterprise architecture
US8234223B1 (en) 2005-04-28 2012-07-31 Troux Technologies, Inc. Method and system for calculating cost of an asset using a data model
US7818667B2 (en) 2005-05-03 2010-10-19 Tv Works Llc Verification of semantic constraints in multimedia data and in its announcement, signaling and interchange
US9792351B2 (en) * 2005-06-10 2017-10-17 International Business Machines Corporation Tolerant and extensible discovery of relationships in data using structural information and data analysis
US20060282470A1 (en) * 2005-06-10 2006-12-14 Hong-Lee Yu Determining compliance of a database architecture to an enterprise data standard
US7664712B1 (en) 2005-08-05 2010-02-16 Troux Technologies Method and system for impact analysis using a data model
US20070074112A1 (en) * 2005-09-23 2007-03-29 Business Objects Apparatus and method for consolidating reporting formulas
GB2431257A (en) * 2005-10-17 2007-04-18 Celona Technologies Ltd System and method for accessing data
WO2007084790A2 (en) 2006-01-20 2007-07-26 Glenbrook Associates, Inc. System and method for context-rich database optimized for processing of concepts
US7853573B2 (en) * 2006-05-03 2010-12-14 Oracle International Corporation Efficient replication of XML data in a relational database management system
US8214877B1 (en) 2006-05-22 2012-07-03 Troux Technologies System and method for the implementation of policies
US7822710B1 (en) 2006-05-24 2010-10-26 Troux Technologies System and method for data collection
US8656374B2 (en) * 2006-06-16 2014-02-18 Business Objects Software Ltd. Processing cobol data record schemas having disparate formats
JP4171757B2 (en) * 2006-09-28 2008-10-29 株式会社東芝 Ontology integration support device, ontology integration support method, and ontology integration support program
US7801886B1 (en) * 2006-10-10 2010-09-21 Intuit Inc. Method and apparatus for performing database operations involving custom fields
US20080133586A1 (en) * 2006-11-30 2008-06-05 Nokia Corporation Ontology-based modification of structured representations of properties
US7865533B2 (en) * 2007-02-05 2011-01-04 Microsoft Corporation Compositional query comprehensions
US7805456B2 (en) * 2007-02-05 2010-09-28 Microsoft Corporation Query pattern to enable type flow of element types
US9426024B2 (en) 2007-06-22 2016-08-23 Red Hat, Inc. Establishing communication between enterprise nodes migrated to a public cloud and private enterprise infrastructure
US9569330B2 (en) 2007-06-22 2017-02-14 Red Hat, Inc. Performing dependency analysis on nodes of a business application service group
US8156378B1 (en) 2010-10-15 2012-04-10 Red Hat, Inc. System and method for determination of the root cause of an overall failure of a business application service
US8825838B2 (en) * 2010-10-15 2014-09-02 Red Hat, Inc. Identification of business process application service groups
US9477572B2 (en) 2007-06-22 2016-10-25 Red Hat, Inc. Performing predictive modeling of virtual machine relationships
US9354960B2 (en) 2010-12-27 2016-05-31 Red Hat, Inc. Assigning virtual machines to business application service groups based on ranking of the virtual machines
US8656009B2 (en) 2010-10-15 2014-02-18 Red Hat, Inc. Indicating an impact of a change in state of a node
US9678803B2 (en) 2007-06-22 2017-06-13 Red Hat, Inc. Migration of network entities to a cloud infrastructure
US9727440B2 (en) 2007-06-22 2017-08-08 Red Hat, Inc. Automatic simulation of virtual machine performance
US7984043B1 (en) 2007-07-24 2011-07-19 Amazon Technologies, Inc. System and method for distributed query processing using configuration-independent query plans
US8452725B2 (en) * 2008-09-03 2013-05-28 Hamid Hatami-Hanza System and method of ontological subject mapping for knowledge processing applications
CN101398831B (en) * 2007-09-27 2013-08-21 日电(中国)有限公司 Noumenon data leading-in and leading-out method and device
US8027956B1 (en) 2007-10-30 2011-09-27 Troux Technologies System and method for planning or monitoring system transformations
US20090187552A1 (en) * 2008-01-17 2009-07-23 International Business Machine Corporation System and Methods for Generating Data Analysis Queries from Modeling Constructs
US9110970B2 (en) * 2008-07-25 2015-08-18 International Business Machines Corporation Destructuring and restructuring relational data
US8972463B2 (en) * 2008-07-25 2015-03-03 International Business Machines Corporation Method and apparatus for functional integration of metadata
US8943087B2 (en) * 2008-07-25 2015-01-27 International Business Machines Corporation Processing data from diverse databases
US8463053B1 (en) 2008-08-08 2013-06-11 The Research Foundation Of State University Of New York Enhanced max margin learning on multimodal data mining in a multimedia database
US8484233B2 (en) * 2008-10-21 2013-07-09 Microsoft Corporation Facet, logic and textual-based query composer
US11832024B2 (en) 2008-11-20 2023-11-28 Comcast Cable Communications, Llc Method and apparatus for delivering video and video-related content at sub-asset level
CN102246161A (en) * 2008-12-12 2011-11-16 皇家飞利浦电子股份有限公司 A method and module for creating a relational database schema from an ontology
US9442933B2 (en) 2008-12-24 2016-09-13 Comcast Interactive Media, Llc Identification of segments within audio, video, and multimedia items
US8713016B2 (en) 2008-12-24 2014-04-29 Comcast Interactive Media, Llc Method and apparatus for organizing segments of media assets and determining relevance of segments to a query
US20100161441A1 (en) * 2008-12-24 2010-06-24 Comcast Interactive Media, Llc Method and apparatus for advertising at the sub-asset level
US11531668B2 (en) * 2008-12-29 2022-12-20 Comcast Interactive Media, Llc Merging of multiple data sets
US8176043B2 (en) 2009-03-12 2012-05-08 Comcast Interactive Media, Llc Ranking search results
US8533223B2 (en) 2009-05-12 2013-09-10 Comcast Interactive Media, LLC. Disambiguation and tagging of entities
US9892730B2 (en) 2009-07-01 2018-02-13 Comcast Interactive Media, Llc Generating topic-specific language models
US9002857B2 (en) * 2009-08-13 2015-04-07 Charite-Universitatsmedizin Berlin Methods for searching with semantic similarity scores in one or more ontologies
WO2011053112A1 (en) * 2009-11-02 2011-05-05 Mimos Berhad System and method for visual query of semantic information
US9037615B2 (en) 2010-05-14 2015-05-19 International Business Machines Corporation Querying and integrating structured and unstructured data
US8355905B2 (en) 2010-05-14 2013-01-15 International Business Machines Corporation Mapping of relationship entities between ontologies
US8635592B1 (en) 2011-02-08 2014-01-21 Troux Technologies, Inc. Method and system for tailoring software functionality
KR101083313B1 (en) * 2011-06-03 2011-11-15 한국과학기술정보연구원 Apparatus and method searching instance path based on ontology schema
US9189531B2 (en) * 2012-11-30 2015-11-17 Orbis Technologies, Inc. Ontology harmonization and mediation systems and methods
US9280581B1 (en) 2013-03-12 2016-03-08 Troux Technologies, Inc. Method and system for determination of data completeness for analytic data calculations
US10880609B2 (en) 2013-03-14 2020-12-29 Comcast Cable Communications, Llc Content event messaging
US9400826B2 (en) * 2013-06-25 2016-07-26 Outside Intelligence, Inc. Method and system for aggregate content modeling
US11783382B2 (en) 2014-10-22 2023-10-10 Comcast Cable Communications, Llc Systems and methods for curating content metadata
US11003661B2 (en) * 2015-09-04 2021-05-11 Infotech Soft, Inc. System for rapid ingestion, semantic modeling and semantic querying over computer clusters
US11416477B2 (en) * 2018-11-14 2022-08-16 Thoughtspot, Inc. Systems and methods for database analysis
CN110727783B (en) * 2019-10-23 2021-03-02 支付宝(杭州)信息技术有限公司 Method and device for asking question of user based on dialog system
WO2021126154A1 (en) * 2019-12-16 2021-06-24 Google Llc Systems and methods for generation and application of schema-agnostic query templates
US11907182B2 (en) * 2021-09-09 2024-02-20 Sap Se Schema-based data retrieval from knowledge graphs

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5799309A (en) * 1994-12-29 1998-08-25 International Business Machines Corporation Generating an optimized set of relational queries fetching data in an object-relational database
US6175837B1 (en) * 1998-06-29 2001-01-16 Sun Microsystems, Inc. Object-relational mapping toll that processes views
US6343265B1 (en) * 1998-07-28 2002-01-29 International Business Machines Corporation System and method for mapping a design model to a common repository with context preservation
US6754670B1 (en) * 1999-12-17 2004-06-22 International Business Machines Corporation Mapping relational tables to object oriented classes
US6772031B1 (en) * 2000-05-30 2004-08-03 International Business Machines Corporation Method of, system for, and computer program product for providing a job monitor

Family Cites Families (108)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5295242A (en) 1990-11-02 1994-03-15 Consilium, Inc. Apparatus and method for viewing relationships in a factory management system
WO1995003586A1 (en) * 1993-07-21 1995-02-02 Persistence Software, Inc. Method and apparatus for generation of code for mapping relational data to objects
US5627979A (en) 1994-07-18 1997-05-06 International Business Machines Corporation System and method for providing a graphical user interface for mapping and accessing objects in data stores
US5838965A (en) 1994-11-10 1998-11-17 Cadis, Inc. Object oriented database management system
US6704744B1 (en) 1994-12-07 2004-03-09 Next Computer, Inc. Method and apparatus for mapping objects to multiple tables of a database
US5873093A (en) * 1994-12-07 1999-02-16 Next Software, Inc. Method and apparatus for mapping objects to a data source
EP0823092A1 (en) * 1995-04-24 1998-02-11 Aspect Development, Inc. Modeling of object-oriented database structures, translation to relational database structures, and dynamic searches thereon
US5692184A (en) 1995-05-09 1997-11-25 Intergraph Corporation Object relationship management system
US6633869B1 (en) 1995-05-09 2003-10-14 Intergraph Corporation Managing object relationships using an object repository
US5768580A (en) 1995-05-31 1998-06-16 Oracle Corporation Methods and apparatus for dynamic classification of discourse
US5710917A (en) 1995-06-07 1998-01-20 International Business Machines Corporation Method for deriving data mappings and data aliases
EP0839352B1 (en) 1995-07-20 2002-10-16 Novell, Inc. Transaction log management in a disconnectable computer and network
US5734887A (en) 1995-09-29 1998-03-31 International Business Machines Corporation Method and apparatus for logical data access to a physical relational database
US5970490A (en) 1996-11-05 1999-10-19 Xerox Corporation Integration platform for heterogeneous databases
US10839321B2 (en) 1997-01-06 2020-11-17 Jeffrey Eder Automated data storage system
US5995756A (en) 1997-02-14 1999-11-30 Inprise Corporation System for internet-based delivery of computer applications
US6035342A (en) 1997-03-19 2000-03-07 Microsoft Corporation Method and computer program product for implementing object relationships
US5905987A (en) 1997-03-19 1999-05-18 Microsoft Corporation Method, data structure, and computer program product for object state storage in a repository
US5857197A (en) 1997-03-20 1999-01-05 Thought Inc. System and method for accessing data stores as objects
US6424974B1 (en) * 1997-03-31 2002-07-23 International Business Machines Corporation Storing P-code in a database
US5937409A (en) 1997-07-25 1999-08-10 Oracle Corporation Integrating relational databases in an object oriented environment
US6301584B1 (en) 1997-08-21 2001-10-09 Home Information Services, Inc. System and method for retrieving entities and integrating data
US6014666A (en) 1997-10-28 2000-01-11 Microsoft Corporation Declarative and programmatic access control of component-based server applications using roles
US6094650A (en) 1997-12-15 2000-07-25 Manning & Napier Information Services Database analysis using a probabilistic ontology
US6233586B1 (en) 1998-04-01 2001-05-15 International Business Machines Corp. Federated searching of heterogeneous datastores using a federated query object
US6263342B1 (en) 1998-04-01 2001-07-17 International Business Machines Corp. Federated searching of heterogeneous datastores using a federated datastore object
US6199059B1 (en) 1998-04-22 2001-03-06 International Computex, Inc. System and method for classifying and retrieving information with virtual object hierarchy
US6526416B1 (en) 1998-06-30 2003-02-25 Microsoft Corporation Compensating resource managers
AU5233099A (en) * 1998-07-24 2000-02-14 Jarg Corporation Search system and method based on multiple ontologies
US6389414B1 (en) 1998-09-21 2002-05-14 Microsoft Corporation Internal database validation
US6718320B1 (en) 1998-11-02 2004-04-06 International Business Machines Corporation Schema mapping system and method
US6249769B1 (en) 1998-11-02 2001-06-19 International Business Machines Corporation Method, system and program product for evaluating the business requirements of an enterprise for generating business solution deliverables
US6498795B1 (en) * 1998-11-18 2002-12-24 Nec Usa Inc. Method and apparatus for active information discovery and retrieval
US6327593B1 (en) 1998-12-23 2001-12-04 Unisys Corporation Automated system and method for capturing and managing user knowledge within a search system
US7007029B1 (en) * 1999-01-15 2006-02-28 Metaedge Corporation System for visualizing information in a data warehousing environment
US6892238B2 (en) 1999-01-27 2005-05-10 International Business Machines Corporation Aggregating and analyzing information about content requested in an e-commerce web environment to determine conversion rates
US6591272B1 (en) * 1999-02-25 2003-07-08 Tricoron Networks, Inc. Method and apparatus to make and transmit objects from a database on a server computer to a client computer
US6711585B1 (en) 1999-06-15 2004-03-23 Kanisa Inc. System and method for implementing a knowledge management system
US6651244B1 (en) 1999-07-26 2003-11-18 Cisco Technology, Inc. System and method for determining program complexity
US6633878B1 (en) 1999-07-30 2003-10-14 Accenture Llp Initializing an ecommerce database framework
US7200563B1 (en) 1999-08-20 2007-04-03 Acl International Inc. Ontology-driven information system
EP1305746A2 (en) 1999-08-20 2003-05-02 Black Pearl, Inc. Ontology-driven information system
JP2001092827A (en) 1999-09-20 2001-04-06 Toshiba Corp Device and method for managing data
US6560595B1 (en) 1999-11-15 2003-05-06 Novell, Inc. Operator for correlated predicates in a query
US6721727B2 (en) * 1999-12-02 2004-04-13 International Business Machines Corporation XML documents stored as column data
US6728692B1 (en) 1999-12-23 2004-04-27 Hewlett-Packard Company Apparatus for a multi-modal ontology engine
US6978257B1 (en) 2000-01-31 2005-12-20 International Business Machines Corporation System and method for measuring and pricing midrange computer server outsourcing services
US6497943B1 (en) 2000-02-14 2002-12-24 International Business Machines Corporation Surface metal balancing to reduce chip carrier flexing
US20020029207A1 (en) 2000-02-28 2002-03-07 Hyperroll, Inc. Data aggregation server for managing a multi-dimensional database and database management system having data aggregation server integrated therein
AU2001243597A1 (en) * 2000-03-03 2001-09-17 Radiant Logic, Inc. System and method for providing access to databases via directories and other hierarchical structures and interfaces
US6687873B1 (en) 2000-03-09 2004-02-03 Electronic Data Systems Corporation Method and system for reporting XML data from a legacy computer system
US6311194B1 (en) 2000-03-15 2001-10-30 Taalee, Inc. System and method for creating a semantic web and its applications in browsing, searching, profiling, personalization and advertising
JP2003530643A (en) 2000-04-10 2003-10-14 イノヴィット プロプライエタリー リミティッド Electronic catalog
US7111297B1 (en) 2000-05-02 2006-09-19 Microsoft Corporation Methods and architectures for resource management
GB0011426D0 (en) * 2000-05-11 2000-06-28 Charteris Limited A method for transforming documents written in different XML-based languages
US6957214B2 (en) * 2000-06-23 2005-10-18 The Johns Hopkins University Architecture for distributed database information access
AU2001271891A1 (en) 2000-07-07 2002-01-21 Criticalpoint Software Corporation Methods and system for generating and searching ontology databases
US6513059B1 (en) 2000-08-24 2003-01-28 Cambira Corporation Adaptive collaborative intelligent network system
US7685183B2 (en) * 2000-09-01 2010-03-23 OP40, Inc System and method for synchronizing assets on multi-tiered networks
US6871204B2 (en) 2000-09-07 2005-03-22 Oracle International Corporation Apparatus and method for mapping relational data and metadata to XML
US7024425B2 (en) 2000-09-07 2006-04-04 Oracle International Corporation Method and apparatus for flexible storage and uniform manipulation of XML data in a relational database system
AU2001290646A1 (en) * 2000-09-08 2002-03-22 The Regents Of The University Of California Data source integration system and method
US7111010B2 (en) 2000-09-25 2006-09-19 Hon Hai Precision Industry, Ltd. Method and system for managing event attributes
US20020111870A1 (en) 2000-09-26 2002-08-15 I2 Technologies, Inc. System and method for identifying a product
US6640231B1 (en) 2000-10-06 2003-10-28 Ontology Works, Inc. Ontology for database design and application development
US7027974B1 (en) 2000-10-27 2006-04-11 Science Applications International Corporation Ontology-based parser for natural language processing
US6999956B2 (en) 2000-11-16 2006-02-14 Ward Mullins Dynamic object-driven database manipulation and mapping system
US20020099738A1 (en) 2000-11-22 2002-07-25 Grant Hugh Alexander Automated web access for back-end enterprise systems
KR20020045343A (en) 2000-12-08 2002-06-19 오길록 Method of information generation and retrieval system based on a standardized Representation format of sentences structures and meanings
US6532471B1 (en) 2000-12-11 2003-03-11 International Business Machines Corporation Interface repository browser and editor
US7302410B1 (en) 2000-12-22 2007-11-27 Demandtec, Inc. Econometric optimization engine
US7278164B2 (en) 2001-01-05 2007-10-02 Revit Technology Corporation Software usage/procurement management
US6792580B2 (en) 2001-01-31 2004-09-14 Kabushiki Kaisha Toshiba Method and computer program product for software/hardware language model conversion
US6732109B2 (en) * 2001-01-31 2004-05-04 The Eon Company Method and system for transferring information between a user interface and a database over a global information network
TW571201B (en) 2001-02-02 2004-01-11 Wistron Corp Conversion method and system for contents format of document file
US6847974B2 (en) * 2001-03-26 2005-01-25 Us Search.Com Inc Method and apparatus for intelligent data assimilation
GB0108070D0 (en) 2001-03-30 2001-05-23 British Telecomm Database management system
US7143190B2 (en) 2001-04-02 2006-11-28 Irving S. Rappaport Method and system for remotely facilitating the integration of a plurality of dissimilar systems
US6711579B2 (en) 2001-04-20 2004-03-23 Sree Ayyanar Spinning And Weaving Mills Limited Data storage schema independent programming for data retrieval using semantic bridge
WO2002086679A2 (en) 2001-04-25 2002-10-31 Metallect Corporation Service provision system and method
AUPR464601A0 (en) 2001-04-30 2001-05-24 Commonwealth Of Australia, The Shapes vector
US7146399B2 (en) 2001-05-25 2006-12-05 2006 Trident Company Run-time architecture for enterprise integration with transformation generation
US7099885B2 (en) 2001-05-25 2006-08-29 Unicorn Solutions Method and system for collaborative ontology modeling
US20030101170A1 (en) 2001-05-25 2003-05-29 Joseph Edelstein Data query and location through a central ontology model
US20030018616A1 (en) 2001-06-05 2003-01-23 Wilbanks John Thompson Systems, methods and computer program products for integrating databases to create an ontology network
US20020194154A1 (en) 2001-06-05 2002-12-19 Levy Joshua Lerner Systems, methods and computer program products for integrating biological/chemical databases using aliases
US20020194201A1 (en) 2001-06-05 2002-12-19 Wilbanks John Thompson Systems, methods and computer program products for integrating biological/chemical databases to create an ontology network
MXPA03011976A (en) * 2001-06-22 2005-07-01 Nervana Inc System and method for knowledge retrieval, management, delivery and presentation.
US6778990B2 (en) 2001-07-27 2004-08-17 Hewlett-Packard Development Company, L.P. Dynamic component activation method using a relational database as the repository for registration information
US7398201B2 (en) 2001-08-14 2008-07-08 Evri Inc. Method and system for enhanced data searching
US7526425B2 (en) 2001-08-14 2009-04-28 Evri Inc. Method and system for extending keyword searching to syntactically and semantically annotated data
AU2002334721B2 (en) 2001-09-28 2008-10-23 Oracle International Corporation An index structure to access hierarchical data in a relational database system
WO2003058375A2 (en) * 2001-10-26 2003-07-17 Zeosoft Corporation Development, management of distributed clients and servers
US20030172368A1 (en) 2001-12-26 2003-09-11 Elizabeth Alumbaugh System and method for autonomously generating heterogeneous data source interoperability bridges based on semantic modeling derived from self adapting ontology
US8032828B2 (en) 2002-03-04 2011-10-04 Hewlett-Packard Development Company, L.P. Method and system of document transformation between a source extensible markup language (XML) schema and a target XML schema
US20040054690A1 (en) 2002-03-08 2004-03-18 Hillerbrand Eric T. Modeling and using computer resources over a heterogeneous distributed network using semantic ontologies
US20040010491A1 (en) 2002-06-28 2004-01-15 Markus Riedinger User interface framework
US20040117346A1 (en) 2002-09-20 2004-06-17 Kilian Stoffel Computer-based method and apparatus for repurposing an ontology
US7398261B2 (en) 2002-11-20 2008-07-08 Radar Networks, Inc. Method and system for managing and tracking semantic objects
GB2399665A (en) 2003-03-18 2004-09-22 British Telecomm Access control to shared resources
US20040260576A1 (en) 2003-06-20 2004-12-23 Dongwen Wang Guideline execution task ontology (GETO)
US7383302B2 (en) 2003-09-15 2008-06-03 International Business Machines Corporation Method and system for providing a common collaboration framework accessible from within multiple applications
US7555441B2 (en) 2003-10-10 2009-06-30 Kronos Talent Management Inc. Conceptualization of job candidate information
KR100576935B1 (en) 2003-12-22 2006-05-10 한국전자통신연구원 Ontology-based service discovery system and method for ad hoc networks
US7254589B2 (en) 2004-05-21 2007-08-07 International Business Machines Corporation Apparatus and method for managing and inferencing contextural relationships accessed by the context engine to answer queries received from the application program interface, wherein ontology manager is operationally coupled with a working memory
US7328209B2 (en) 2004-08-11 2008-02-05 Oracle International Corporation System for ontology-based semantic matching in a relational database system
EP1839209A2 (en) 2004-12-29 2007-10-03 Aol Llc Routing queries to information sources and sorting and filtering query results
US20060218177A1 (en) 2005-03-25 2006-09-28 Yuan-Chi Chang System and method for storing and retrieving data through an inferencing-enabled metadata system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5799309A (en) * 1994-12-29 1998-08-25 International Business Machines Corporation Generating an optimized set of relational queries fetching data in an object-relational database
US6175837B1 (en) * 1998-06-29 2001-01-16 Sun Microsystems, Inc. Object-relational mapping toll that processes views
US6343265B1 (en) * 1998-07-28 2002-01-29 International Business Machines Corporation System and method for mapping a design model to a common repository with context preservation
US6754670B1 (en) * 1999-12-17 2004-06-22 International Business Machines Corporation Mapping relational tables to object oriented classes
US6772031B1 (en) * 2000-05-30 2004-08-03 International Business Machines Corporation Method of, system for, and computer program product for providing a job monitor

Cited By (85)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8086558B2 (en) 2000-06-12 2011-12-27 Previsor, Inc. Computer-implemented system for human resources management
US20090187446A1 (en) * 2000-06-12 2009-07-23 Dewar Katrina L Computer-implemented system for human resources management
US20100042574A1 (en) * 2000-06-12 2010-02-18 Dewar Katrina L Computer-implemented system for human resources management
US20020149591A1 (en) * 2001-03-26 2002-10-17 Van Der Vleuten Renatus Josephus Storage of multi-media items
US20050234889A1 (en) * 2001-05-25 2005-10-20 Joshua Fox Method and system for federated querying of data sources
US8412746B2 (en) 2001-05-25 2013-04-02 International Business Machines Corporation Method and system for federated querying of data sources
US8548938B2 (en) 2001-05-25 2013-10-01 International Business Machines Corporation Business rules for configurable metamodels and enterprise impact analysis
US20060064666A1 (en) * 2001-05-25 2006-03-23 Amaru Ruth M Business rules for configurable metamodels and enterprise impact analysis
US7945575B2 (en) * 2003-05-27 2011-05-17 International Business Machines Corporation Method of transforming queries based upon E/R schema into multi-dimensional expression queries
US20050010565A1 (en) * 2003-05-27 2005-01-13 David Cushing System and method of transforming queries based upon E/R schema into multi-dimensional expression queries
US7065602B2 (en) * 2003-07-01 2006-06-20 International Business Machines Corporation Circuit and method for pipelined insertion
US20050001280A1 (en) * 2003-07-01 2005-01-06 International Business Machines Corporation Circuit and method for pipelined insertion
US20100287158A1 (en) * 2003-07-22 2010-11-11 Kinor Technologies Inc. Information access using ontologies
WO2005008358A2 (en) 2003-07-22 2005-01-27 Kinor Technologies Inc. Information access using ontologies
US7761480B2 (en) 2003-07-22 2010-07-20 Kinor Technologies Inc. Information access using ontologies
US20060248045A1 (en) * 2003-07-22 2006-11-02 Kinor Technologies Inc. Information access using ontologies
US7739223B2 (en) 2003-08-29 2010-06-15 Microsoft Corporation Mapping architecture for arbitrary data models
US7912862B2 (en) 2003-08-29 2011-03-22 Microsoft Corporation Relational schema format
US20050050068A1 (en) * 2003-08-29 2005-03-03 Alexander Vaschillo Mapping architecture for arbitrary data models
EP1519266A3 (en) * 2003-08-29 2007-12-26 Microsoft Corporation Mapping architecture for arbitrary data models
EP1519266A2 (en) * 2003-08-29 2005-03-30 Microsoft Corporation Mapping architecture for arbitrary data models
EP1515250A3 (en) * 2003-09-12 2006-06-07 Hewlett-Packard Development Company, L.P. Method and apparatus for information search
EP1515250A2 (en) * 2003-09-12 2005-03-16 Hewlett-Packard Development Company, L.P. Method and apparatus for information search
US7555441B2 (en) 2003-10-10 2009-06-30 Kronos Talent Management Inc. Conceptualization of job candidate information
US20050080656A1 (en) * 2003-10-10 2005-04-14 Unicru, Inc. Conceptualization of job candidate information
US7685155B2 (en) 2004-03-23 2010-03-23 Microsoft Corporation System and method of providing and utilizing an object schema to facilitate mapping between disparate domains
US20050216501A1 (en) * 2004-03-23 2005-09-29 Ilker Cengiz System and method of providing and utilizing an object schema to facilitate mapping between disparate domains
US20080235203A1 (en) * 2004-04-06 2008-09-25 Simon J Case Information Retrieval
US7496585B2 (en) 2004-04-23 2009-02-24 International Business Machines Corporation Methods and apparatus for discovering data providers satisfying provider queries
US20050240551A1 (en) * 2004-04-23 2005-10-27 International Business Machines Corporation Methods and apparatus for discovering data providers satisfying provider queries
US8661016B2 (en) 2004-06-10 2014-02-25 International Business Machines Corporation Methods and apparatus for specifying and processing descriptive queries for data sources
US9286347B2 (en) 2004-06-10 2016-03-15 International Business Machines Corporation Methods and apparatus for specifying and processing descriptive queries for data sources
US20050278285A1 (en) * 2004-06-10 2005-12-15 International Business Machines Corporation Methods and apparatus for specifying and processing descriptive queries for data sources
US8200647B2 (en) * 2004-06-10 2012-06-12 International Business Machines Corporation Methods and apparatus for specifying and processing descriptive queries for data sources
US7487142B2 (en) 2004-06-10 2009-02-03 International Business Machines Corporation Methods and apparatus for specifying and processing descriptive queries for data sources
US20090182735A1 (en) * 2004-06-10 2009-07-16 International Business Machines Corporation Methods and Apparatus for Specifying and Processing Descriptive Queries for Data Sources
US20060015843A1 (en) * 2004-07-13 2006-01-19 Marwan Sabbouh Semantic system for integrating software components
US7877726B2 (en) * 2004-07-13 2011-01-25 The Mitre Corporation Semantic system for integrating software components
US20060206883A1 (en) * 2004-07-13 2006-09-14 The Mitre Corporation Semantic system for integrating software components
US7823123B2 (en) 2004-07-13 2010-10-26 The Mitre Corporation Semantic system for integrating software components
US20080046427A1 (en) * 2005-01-18 2008-02-21 International Business Machines Corporation System And Method For Planning And Generating Queries For Multi-Dimensional Analysis Using Domain Models And Data Federation
US20080046422A1 (en) * 2005-01-18 2008-02-21 International Business Machines Corporation System and Method for Planning and Generating Queries for Multi-Dimensional Analysis using Domain Models and Data Federation
US7293010B2 (en) 2005-01-25 2007-11-06 Ontoprise Gmbh Enterprise information integration platform
US7487166B2 (en) * 2005-01-31 2009-02-03 Ontoprise Gmbh Mapping web services to ontologies
US20060173868A1 (en) * 2005-01-31 2006-08-03 Ontoprise Gmbh Mapping web services to ontologies
US7552117B2 (en) * 2005-05-26 2009-06-23 International Business Machines Corporation Using ontological relationships in a computer database
US20080162470A1 (en) * 2005-05-26 2008-07-03 International Business Machines Corporation Apparatus and method for using ontological relationships in a computer database
US20060271584A1 (en) * 2005-05-26 2006-11-30 International Business Machines Corporation Apparatus and method for using ontological relationships in a computer database
US7779024B2 (en) * 2005-05-26 2010-08-17 International Business Machines Corporation Using ontological relationships in a computer database
US8224855B2 (en) * 2005-06-14 2012-07-17 Enterprise Elements, Inc. Database data dictionary
US8219585B2 (en) * 2005-06-14 2012-07-10 Enterprise Elements, Inc. Database data dictionary
US8515997B2 (en) 2005-06-14 2013-08-20 Enterprise Elements, Inc. Database data dictionary
US8566789B2 (en) 2005-08-25 2013-10-22 Infosys Limited Semantic-based query techniques for source code
US20070050343A1 (en) * 2005-08-25 2007-03-01 Infosys Technologies Ltd. Semantic-based query techniques for source code
US20120317591A1 (en) * 2005-09-22 2012-12-13 Progress Software Corporation Implementation System for Business Applications
US20070162409A1 (en) * 2006-01-06 2007-07-12 Godden Kurt S Creation and maintenance of ontologies
US20070226246A1 (en) * 2006-03-27 2007-09-27 International Business Machines Corporation Determining and storing at least one results set in a global ontology database for future use by an entity that subscribes to the global ontology database
US8495004B2 (en) 2006-03-27 2013-07-23 International Business Machines Corporation Determining and storing at least one results set in a global ontology database for future use by an entity that subscribes to the global ontology database
US8812529B2 (en) 2006-03-27 2014-08-19 International Business Machines Corporation Determining and storing at least one results set in a global ontology database for future use by an entity that subscribes to the global ontology database
US7698257B2 (en) * 2006-05-16 2010-04-13 Business Objects Software Ltd. Apparatus and method for recursively rationalizing data source queries
US20070271227A1 (en) * 2006-05-16 2007-11-22 Business Objects, S.A. Apparatus and method for recursively rationalizing data source queries
US20080086490A1 (en) * 2006-10-04 2008-04-10 Sap Ag Discovery of services matching a service request
EP1965313A1 (en) * 2006-10-31 2008-09-03 British Telecommunications Public Limited Company Data processing
US7840600B1 (en) * 2006-12-29 2010-11-23 Izenda, LLC Systems and methods for interactively creating, customizing, and executing reports over the internet
US7730098B2 (en) 2007-03-02 2010-06-01 International Business Machines Corporation Method for supporting ontology-related semantic queries in DBMSs with XML support
US20090112841A1 (en) * 2007-10-29 2009-04-30 International Business Machines Corporation Document searching using contextual information leverage and insights
US20110208848A1 (en) * 2008-08-05 2011-08-25 Zhiyong Feng Network system of web services based on semantics and relationships
KR100919845B1 (en) * 2008-11-06 2009-09-30 (주)유엠텍 Meta modeling-based ontology system
US9475359B2 (en) 2009-10-06 2016-10-25 Johnson Controls Technology Company Systems and methods for displaying a hierarchical set of building management system information
US20110137853A1 (en) * 2009-10-06 2011-06-09 Johnson Controls Technology Company Systems and methods for reporting a cause of an event or equipment state using causal relationship models in a building management system
US20110088000A1 (en) * 2009-10-06 2011-04-14 Johnson Controls Technology Company Systems and methods for displaying a hierarchical set of building management system information
US20110087650A1 (en) * 2009-10-06 2011-04-14 Johnson Controls Technology Company Creation and use of causal relationship models in building management systems and applications
US8635182B2 (en) 2009-10-06 2014-01-21 Johnson Controls Technology Company Systems and methods for reporting a cause of an event or equipment state using causal relationship models in a building management system
US8655830B2 (en) 2009-10-06 2014-02-18 Johnson Controls Technology Company Systems and methods for reporting a cause of an event or equipment state using causal relationship models in a building management system
EP2365448A1 (en) * 2010-03-11 2011-09-14 British Telecommunications PLC Data integration system
US8682921B2 (en) 2010-07-07 2014-03-25 Johnson Controls Technology Company Query engine for building management systems
US9116978B2 (en) 2010-07-07 2015-08-25 Johnson Controls Technology Company Query engine for building management systems
US9189527B2 (en) 2010-07-07 2015-11-17 Johnson Controls Technology Company Systems and methods for facilitating communication between a plurality of building automation subsystems
US8516016B2 (en) 2010-07-07 2013-08-20 Johnson Controls Technology Company Systems and methods for facilitating communication between a plurality of building automation subsystems
US8478766B1 (en) * 2011-02-02 2013-07-02 Comindware Ltd. Unified data architecture for business process management
EP2827262A1 (en) * 2013-07-18 2015-01-21 Ims Health Incorporated System and method for modelling data
CN104376037A (en) * 2013-07-18 2015-02-25 Ims保健公司 System and method for modelling data
US9305044B2 (en) 2013-07-18 2016-04-05 Bank Of America, N.A. System and method for modelling data
US20160170999A1 (en) * 2014-12-16 2016-06-16 General Electric Company Method and tool for browsing semantic data and creating queries using a domain/range representation
US9760614B2 (en) * 2014-12-16 2017-09-12 General Electric Company Method and tool for browsing semantic data and creating queries using a domain/range representation

Also Published As

Publication number Publication date
US20060167927A1 (en) 2006-07-27
US7921098B2 (en) 2011-04-05
US20050216500A1 (en) 2005-09-29
US7475084B2 (en) 2009-01-06
US7472137B2 (en) 2008-12-30
US20050240606A1 (en) 2005-10-27

Similar Documents

Publication Publication Date Title
US7962503B2 (en) Data query and location through a central ontology model
US7472137B2 (en) Data query and location through a central ontology model
Elmasri et al. Fundamentals of Database Systems 7th ed.
Bernstein et al. Information integration in the enterprise
US7673282B2 (en) Enterprise information unification
US7925658B2 (en) Methods and apparatus for mapping a hierarchical data structure to a flat data structure for use in generating a report
Zloof QBE/OBE: A language for office and business automation
US6189004B1 (en) Method and apparatus for creating a datamart and for creating a query structure for the datamart
Elmasri Fundamentals of database systems seventh edition
US9218409B2 (en) Method for generating and using a reusable custom-defined nestable compound data type as database qualifiers
US20040093559A1 (en) Web client for viewing and interrogating enterprise data semantically
CA2526045C (en) Complex data access
Ponniah Data modeling fundamentals: a practical guide for IT professionals
Singh Database systems: Concepts, design and applications
US20100131520A1 (en) Method of representing an xml schema definition and data within a relational database management system using a reusable custom-defined nestable compound data type
US20100131565A1 (en) Method for creating a self-configuring database system using a reusable custom-defined nestable compound data type
Kitagawa et al. The unnormalized relational data model: for office form processor design
Kriegel et al. SQL bible
US7461076B1 (en) Method and apparatus for creating a well-formed database system using a computer
US20050038629A1 (en) Pricing of enterprise information resource management systems
Markowitz Representing processes in the extended entity-relationship model
Garmany et al. Logical database design principles
Colomb Use of upper ontologies for interoperation of information systems: a tutorial
McFadyen Relational databases and microsoft access
EP1274018A2 (en) Instance browser for ontology

Legal Events

Date Code Title Description
AS Assignment

Owner name: UNICORN SOLUTIONS INC, DELAWARE

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:EDELSTEIN, JOSEPH;MARCHANT, HAYDEN;MEIR, RANNEN;AND OTHERS;REEL/FRAME:013331/0580;SIGNING DATES FROM 20020910 TO 20020918

AS Assignment

Owner name: 2006 TRIDENT COMPANY, MASSACHUSETTS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:UNICORN SOLUTIONS, INC.;REEL/FRAME:018013/0001

Effective date: 20060505

AS Assignment

Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION,NEW YO

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:2006 TRIDENT COMPANY, INC.;REEL/FRAME:018627/0913

Effective date: 20061117

Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:2006 TRIDENT COMPANY, INC.;REEL/FRAME:018627/0913

Effective date: 20061117

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION