U.S. patent application number 11/931244 was filed with the patent office on 2008-02-21 for system and method for planning and generating queries for multi-dimensional analysis using domain models and data federation.
This patent application is currently assigned to International Business Machines Corporation. Invention is credited to Juhnyoung Lee, Pietro Mazzoleni, Jakka Sairamesh, Maroun Touma.
Application Number | 20080046427 11/931244 |
Document ID | / |
Family ID | 36685191 |
Filed Date | 2008-02-21 |
United States Patent
Application |
20080046427 |
Kind Code |
A1 |
Lee; Juhnyoung ; et
al. |
February 21, 2008 |
System And Method For Planning And Generating Queries For
Multi-Dimensional Analysis Using Domain Models And Data
Federation
Abstract
Data integration and data analysis using computing equipment,
software as well as hardware, includes a system and method for
integrating data from various data sources, structured and
unstructured, without physically creating a data warehouse and
automatically generating queries for analysis of the integrated
data from a multitude of different views.
Inventors: |
Lee; Juhnyoung; (Yorktown
Heights, NY) ; Mazzoleni; Pietro; (Brivio (LC),
IT) ; Sairamesh; Jakka; (New York, NY) ;
Touma; Maroun; (Redding, CT) |
Correspondence
Address: |
HARRINGTON & SMITH, PC
4 RESEARCH DRIVE
SHELTON
CT
06484-6212
US
|
Assignee: |
International Business Machines
Corporation
|
Family ID: |
36685191 |
Appl. No.: |
11/931244 |
Filed: |
October 31, 2007 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
11037909 |
Jan 18, 2005 |
|
|
|
11931244 |
Oct 31, 2007 |
|
|
|
Current U.S.
Class: |
1/1 ;
707/999.006; 707/E17.017; 707/E17.032 |
Current CPC
Class: |
Y10S 707/957 20130101;
G06F 16/2471 20190101; Y10S 707/971 20130101; G06F 16/24522
20190101; G06F 16/256 20190101; Y10S 707/99936 20130101; Y10S
707/99933 20130101; Y10S 707/99935 20130101; Y10S 707/99934
20130101 |
Class at
Publication: |
707/006 ;
707/E17.017 |
International
Class: |
G06F 17/30 20060101
G06F017/30 |
Claims
1-11. (canceled)
12. A system for adding a metamodel to a plurality of data sources
for answering queries using a federation of data sources, said
metamodel comprising a domain model which defines a plurality of
concepts in a domain and defines concept relationships by utilizing
a semantic network and a multitude of mappings between entities in
the domain model and entities in the data sources, and said queries
comprising semantic queries utilizing the relationships defined in
the semantic network in finding answers to the queries in the
domain model.
13-25. (canceled)
26. A system as in claim 12, further comprising a receiver unit
configured to receive said queries and an output unit configured to
output corresponding answers to said queries.
27. A system as in claim 12, wherein the plurality of data sources
are located on one or more servers.
28. A system as in claim 12, wherein the plurality of data sources
are accessible via the World Wide Web.
29. A system as in claim 12, wherein the relationships comprise at
least one of an equivalence property, a subclass property, a
superclass property, a transitive property, a symmetric property
and an inverse property.
Description
FIELD OF THE INVENTION
[0001] The present invention relates to data integration and data
analysis using computing equipment, software as well as hardware,
and, more particularly, to a system and method for integrating data
from various data sources, structured and unstructured, without
physically creating a data warehouse and automatically generating
queries for analysis of the integrated data from a multitude of
different views.
BACKGROUND OF THE INVENTION
[0002] In recent years, industry trends toward mergers and
acquisitions has forced most OEMs to re-think their processes to
account for the multitude of data sources used by the various
corporate divisions within the enterprise for storing and
manipulating product data, including the product bill of materials,
parts catalog, diagnostic procedures and warranty claims as a
partial list of the kinds of product data that exists.
[0003] Government regulations, rising production cost, shorter
time-to-market are yet other reasons why companies are looking for
a more adaptive and dynamic information technology (IT)
infrastructure that would scale to the on-demand era for product
life cycle management.
[0004] The complexity of the IT environment in the industrial
manufacturing sector has grown exponentially over the years
creating problems. Some attributes of these problems include:
[0005] The increasingly complex nature of the product itself as
measured by the number of components that goes into the making of a
product and the number of configurations for each product. This
translates into increased storage and processing capacities for
managing the information associated with the product design that
could be in the order of a terabyte for just one product model.
[0006] The lack of visibility across the product life cycle due to
the disparity of data management systems used in the different
stages of the design, development, manufacturing process and
services after sales. A large number of heterogeneous systems that
are in use throughout the extended enterprise create an artificial
barrier for information sharing.
[0007] The product design is often organized in silos around
specific product assemblies (in the case of automobiles, e.g., wing
design, engine design, body structure design, interior design, etc)
making it difficult to integrate data across multiple divisions.
While the project team is often composed of a multi-disciplinary
group of engineers, the IT tools remain too fragmented and
specifically tailored to the organization or division that uses
them the most.
[0008] In this environment, traditional approaches for data
integration using data warehousing does not always scale well. A
data warehouse is a copy of transaction data specifically
structured for querying, analyzing, and reporting. A data warehouse
can be normalized or denormalized. It can be a relational database,
flat file, hierarchical database, object database, etc. Data
warehouse data often gets changed. Data warehouses often focus on a
specific activity or entity. Data warehouses are usually designed
to meet the requirements of one specific application and are not
easily extensible without tearing down and rebuilding the table
schema. They provide a fixed view on the data and are not easily
adapted to changing business needs such as when new suppliers are
integrated into the value chain.
[0009] Furthermore, product data tends to be deeply hierarchical in
nature and has associated semantics and access control procedures
that are encapsulated within the data management system that hosts
the information and cannot be easily exposed to external
applications. In order to safeguard the integrity of the data that
is owned by any given partner, the industry had traditionally
resorted to product data exchange where each partner exports a
subset of the data that is stored within its domain and shares the
data with other partners by mean of data replication. This approach
tends to be slow and costly as multiple iterations may be required
to provide the information that is needed. The approach leads to
data redundancy where multiple replicas of the same work product
could exist within the extended enterprise and requires additional
complexity for managing the life-cycle of the exchanged
information.
[0010] As industry transforms its processes to better leverage the
resources and know-how of the extended enterprise, a new approach
based on data federation emerges as it promises to deliver on speed
and accuracy, both of which are needed to quickly predict and
pinpoint weaknesses in a product design and performance. Delivering
on such a promise requires a better understanding of the semantic
and data models that are prominently used in the industry.
[0011] In the following description the automotive industry will be
used as an illustrative example of an application of the present
invention. However, the invention is not to be construed as being
limited solely to the automotive industry. A generic product
structure is a hierarchical structure of generic concepts or
functions such as the vehicle body structure or the vehicle
hydraulic system. The generic product structure describes a logical
aggregation of the vehicle assemblies and serves as a template for
creating the detailed product structure. As such, the generic
product structure can be used to define the common concepts (e.g.,
seats) that are shared among similar product classes (e.g., SUV and
passenger cars).
[0012] An ontology is a specification of a conceptionalization.
That is, an ontology is a description (like a formal specification
of a program) of the concepts and relationships that can exist for
an agent or a community of agents. A common ontology defines a
vocabulary with which queries and assertions are exchanged among
agents. A commitment to a common ontology is a guarantee of
consistency, but not completeness, with respect to queries and
assertions using the vocabulary defined in the ontology. An
automotive vehicle ontology is an annotated meta model of the
generic product structure, and processes that can execute against
such structure. It augments the generic product structure with
various relationships and dependencies that may exist between the
different components but cannot otherwise be expressed in the
generic product structure or the detailed product structure. For
example, the generic product structure for a vehicle may contain a
placeholder for the wheel assembly. The vehicle ontology augments
this assertion by defining a "similar to" relationship between the
wheel assembly of a sports same product class. One derived benefit
of such ontological relation is to broaden the scope of the search
to a wider set of data sources that otherwise would not have been
considered.
[0013] The vehicle ontology provides the foundation for defining a
common semantic model of the product structure with all the
associated engineering processes that execute against the product
structure as shareable business objects. FIG. 15 is a block diagram
of one possible vehicle ontology.
[0014] Reducing warranty costs by conducting a deep failure
analysis and improved claim processes have been identified as a
strategic initiative by many in the automotive industry. While OEMs
continues to strive to manage warranty payout while improving
supplier recovery for failed parts, they recognize the value of
proactive failure identification. The objectives of these efforts
are to reduce the cost of warranty through identification of
warranty issues more quickly than has been previously achieved and
thereby reducing costs; and enhancement of brand loyalty by
demonstrating a commitment to the reliability and quality of
products carrying the brand name.
[0015] Early warning and failure analysis solutions focus on
applying data mining and analytics against a wider set of data
sources including warranty claims, call-center contacts, vehicle
bills of materials, supplier parts catalog, suppliers' bulletins
and other attributes for how and where the vehicle is used. The
analytics aims at identifying trends, patterns, and abnormalities
at an early stage and creating a knowledge model that can be used
by the quality engineers to anticipate any major recall.
[0016] The present invention provides a system and method for
planning and generating queries for multi-dimensional analysis
across divisions in an entity using domain models and data
integration.
SUMMARY OF THE INVENTION
[0017] A principal object of the present invention is therefore,
the provision of a system and method for integrating (federating)
data from various data sources, structured and unstructured.
[0018] An object of the present invention is the provision of a
system and method for executing human-friendly queries over
integrated data sources.
[0019] Another object of the present invention is the provision of
a system and method for automatically planning and generating
physical queries to integrated data sources from human-friendly
queries.
[0020] A further object of the present invention is the provision
of a system and method for analyzing integrated data sources from a
multitude of views and dimensions without physically building a
data warehouse and/or OLAP (data warehouse for analysis processing)
data remodel (e.g., a star or snow-flake schema), which are
traditional approaches to multi-dimensional analysis.
[0021] A still further object of the present invention is the
provision of a system and method for creating semantic models for a
domain for data integration and analysis.
[0022] A yet further object of the present invention is the
provision of a system and method for generating and recording
mappings between the semantic model and data sources.
[0023] A still another object of the present invention is the
provision of a system and method for using a data federation system
for structuring the access of data from unstructured data
sources.
[0024] A yet another object of the present invention is the
provision of a system and method for using a report system for
generating reports for multi-dimensional analysis.
[0025] Further and still other objects of the present invention
will become more clearly apparent when the following description is
read in conjunction with the accompanying drawing.
BRIEF DESCRIPTION OF THE DRAWING
[0026] FIG. 1 shows a semantic model for automotive
diagnostics.
[0027] FIG. 2 shows an expanded semantic model for automotive
diagnostics.
[0028] FIG. 3 shows a semantic model with mapping to data
sources.
[0029] FIG. 4 shows a mapping of semantic model between a semantic
model and an IT model with data sources.
[0030] FIG. 5 shows schematically a method for generating a SQL
query.
[0031] FIG. 6 shows schematically relationship types of classes in
a semantic model.
[0032] FIG. 7 shows a flow chart of a mapping algorithm.
[0033] FIG. 8 shows a flow chart of a system architecture
overview.
[0034] FIG. 9 shows semantic query and equivalence class.
[0035] FIG. 10 shows a semantic query and subclass and a
superclass.
[0036] FIG. 11 shows semantic query and transitive property.
[0037] FIG. 12 shows semantic query and symmetric property.
[0038] FIG. 13 shows semantic query and inverse properties.
[0039] FIG. 14 is a schematic block diagram of an ontology query
server shown in FIG. 8.
[0040] FIG. 15 is schematic block diagram of an ontology model for
a vehicle.
DETAILED DESCRIPTION
[0041] Referring now to the figures and specifically to FIGS. 1 and
2 there are shown a semantic model for automotive diagnostics and
an expanded semantic model, respectively. A semantic model
(ontology) is a formal explicit description of classes, i.e.,
concepts in a domain of discourse (e.g., automotive), properties of
each class describing its attributes, relations with other classes
being a special kind of properties (e.g., subclass,
equivalentClass, etc.), properties of relations (e.g., transitive,
symmetric, inverse, etc.), and constraints on properties (e.g.,
cardinality, etc.). Knowledge base often indicates a semantic model
together with a set of individual instances of classes. The
theoretical foundation of semantic models and technologies include
logic (First Order Logic and Description Logic), knowledge
representation of artificial intelligence (AI), and symbolic
computation. The advantages of using semantic models include: (1)
the models provide a means to express rich semantics of concepts
and relations of domains, and (2) the models provide a means to
query knowledge base with automated reasoning (inferencing).
[0042] FIG. 1 and FIG. 2 show a semantic model and an expanded
semantic model related to an automotive diagnostic domain. It is to
be understood that the automotive example is provided for
illustrative purposes but the invention is not so limited. The
invention is applicable for any application. At the center of the
model, there is a concept representing a failure code 100. The
failure code concept is connected via edges to various other
concepts of the domains which contain information useful for
identifying and isolating problems related to the failure code,
including factory 102, dealer 104, car model 106, warranty 108,
platform 110, bill-of-materials 112, component 114, part 116,
supplier 118, and driver location 120. The model includes also
generic concepts such as time 122. FIG. 1 shows only a partial
model. It can be expanded in various ways by adding more related
concepts and their properties. For instance, the model can be
extended with a set of geography-related concepts that will be
connected to the driver location concept 120. Also, different
properties and constraints on classes and properties such as
subClass, equivalentClass, transitive, symmetric, inverse, and
cardinality can be used to represent various semantics. In FIGS. 1
and 2 time and driver location are expressed to have hierarchical
structures.
[0043] FIG. 3 shows a semantic model with mapping to data sources:
The usefulness of semantic models themselves is limited because a
model itself does not mean much without instances it represents.
However, when semantic models are connected to various data sources
which provide instances of concepts represented in the semantic
models, they become very useful for various purposes. The models
can be used to integrate various data sources; provide a means for
users to use human-friendly, semantic queries to access information
from the integrated data sources; automatically translate
human-friendly, semantic queries to physical queries to real data
sources underneath; and help users analyze information from the
integrated data sources.
[0044] The first step in realizing all these benefits is to create
a mapping between the semantic model and the underlying data
sources. Unfortunately, this task is not straightforward, because
often the structures of data sources vary drastically. It is also
necessary to handle a multitude of data sources in an enterprise
environment. Moreover, some sources do not have much structure
(e.g., semi-structured or unstructured data). The mapping creation
step is described below in conjunction with FIG. 7.
[0045] FIG. 3 shows the semantic model of an automotive domain with
mapping information to data sources. In the figure each oval, i.e.,
concept, is associated with a respective box which represents a
mapping to one or more columns in one or more tables (or table
views) in one or more relational databases.
[0046] FIG. 4 shows in more detail examples of the mapping
information between the semantic model and the IT model (e.g.,
relational tables, flat files, spreadsheets, XML files, etc.). The
semantic model is shown on the left-hand side of the figure. The
right-hand side of the figure represents the semantic model
associated with mapping information. Each relation of each class in
the semantic model is associated with a box which represents one or
more columns in one or more tables (or table views) in one or more
relational databases. This mapping information is used to generate
physical queries from semantic queries submitted by human users.
For example, in the semantic model a customer 400 is sold a vehicle
402 which was manufactured at assembly plant 404 on build date 406.
In the semantic model associated with the mapping information,
vehicle 402 has associated with it a specific vehicle
identification number 402A and warranty VIN number 402B. The plant
404 has associated with it a specific VIN number 404A for the
vehicle 402, such as a particular assembly line where the vehicle
was assembled.
[0047] FIG. 5 shows a method for generating a SQL query
illustrating an example of a semantic query and how the semantic
query is translated into a physical query to a data source by using
the mapping information associated with concepts and relations of
the semantic model. The left-hand side of FIG. 5 corresponds to the
right-hand side of FIG. 4. When an event such as a Fail Code=12abc
500 occurs, an initial query 502 is made "how is Fail Code related
to Plant?". The result 504 is the VIN number of the plant where the
Fail Code was generated.
[0048] FIG. 6 shows relationship types that each relation of each
class in the semantic model, such as vehicle 600, is associated
with boxes for vehicle identification number 602, and warranty
identification number 604, which represents one or more columns in
one or more tables (or table views) in one or more relational
databases. This mapping information is used to generate physical
queries from semantic queries submitted by human users.
[0049] FIG. 7 is a flow chart of a mapping algorithm. One method of
(semi-) automating the mapping process between semantic models and
IT models is to start with utilizing similarities in names in the
domain model 700 and IT model 702. For example, if the domain model
has a concept named phone number and the IT model has columns named
phone, phone_num, phone_number, pnum, etc., there is a high chance
that these columns can be mapped to the phone number concept in the
domain model. However, the system should not map them automatically
without human intervention. Rather, the similarity mapping manager
704 would suggest possible mapping of the concept and columns to
the user 706, and let the user confirm the final mapping 708. In
order to help identify possible mapping among variations of a same
concept, it is possible to use some existing lexical database 710
such as WordNet, which provides sets of synonyms, acronyms, and
other linguistic variations 712 to the query 714. If necessary, the
system can provide a facility to add more such sets to the lexical
database.
[0050] Once the initial mapping 716 is bootstrapped by utilizing
naming similarities, then the system can make further mapping
suggestions regarding neighboring concepts in neighbor mapping
manager 718. For example, once the phone number concept in the
domain model is mapped to the pnum column in a table in the IT
model, the system can suggest that the address concept neighboring
with the phone number concept be mapped to the addr column in the
table. Again, the system would suggest the mapping 720 and a human
makes the final mapping decision. In this way, the system can
incrementally build mapping information by using prior mapping and
human interaction. Also, after the mapping process, the user can
add more semantics, if necessary, to the classes and properties in
the model, such as symmetry, transitivity, inverse, etc. by means
of an annotation manager 722. The final mapping yields a new domain
model 724 and IT model 726.
[0051] FIG. 8 is a flow chart of the system architecture overview
showing the end-to-end steps of how a preferred embodiment of the
invention works for the users. The Users 800 of the system are
typically information analysts, for example, in the domain of
automotive diagnostics, claim analysts who want to understand a
particular set of automotive failures and how they are related with
other dimensions of the automotive domain, e.g., warranty,
manufacturing, assembly, geography, and the like. The user submits
queries to find answers to such questions. Initially the query 802
is a natural language free form query that is not constrained by
any form of underlying data stores. An ontology query generator 804
translates the human query to semantic queries that can be
understood by the semantic model (domain model) 806. Still, the
semantic query is not constrained by data store forms. The SQL
query plan generator 808 uses the semantic model (domain model) 806
and the mapping information from mapping server 805 associated with
concepts and relations of the domain model to generate a SQL query
that is understood by relational database sources 810, 812. Not all
the underlying data stores may be relational database stores that
understand SQL query. A data federation system 814 such as IBM
DB2II (Information Integration) solves that problem by making
non-relational, semi-structured, unstructured data stores look like
relational databases and understand SQL queries. Software
components doing this job are often referred to as adaptors 816 and
818.
[0052] The database sources are located on one or more servers or
alternatively, are located on the World Wide Web.
[0053] As explained above, one of the advantages of using semantic
models is the ability to express rich semantics of concepts and
relations, and use the semantics in answering queries providing
automated reasoning and inferencing (based on logic). FIGS. 9 to 13
show some examples of such reasoning with semantic queries. The
ontology query server supports the automated reasoning
capability.
[0054] The query result returned by the data sources is federated
by the data federation system 814, and then passed to the report
generator 820, which can generate reports regarding various useful
multidimensional analyses.
[0055] The mapping server 805 is a build-time tool described in
conjunction with FIG. 7, which is used to create semi-automatically
the mapping information between semantic models and IT models. The
mapping server identifies tables/views (and columns defined in
them) in the IT model that present relations in the domain model.
It is possible to (semi-) automate the process by using some
heuristics, machine learning and/or statistical approaches. The
semantic model may be defined in terms of a domain tree. Also, if
is possible to define some simple rules for creating joins when
necessary.
[0056] The user (analyst) submits the query through Query GUI 802.
The Ontology Query Generator 804 translates the submitted query to
an ontology query in server 822 in N3 format. An example of a user
query is as follows:
[0057] Show me all the dimensions of Failure Code.
And an example of an ontology query is as follows:
[0058] (FailureCode, hasDimension, ?X).
The Ontology Query Server 822 processes the query and returns a
Result Set:
[0059] ?X=Time, Driver Location, Dealer, Component, Car Model,
Factory
[0060] The Result Set is used by the SQL Query Plan Generator 808
to compose a SQL query. The Result Set can be shown to the user for
selecting dimensions of interest for the composition.
[0061] The SQL Query Plan Generator 808 composes a SQL query by
using the Result Set from Ontology Query Server 822 and Mapping
information from Mapping Server 805. An example of a SQL query is
as follows:
[0062] SELECT COUNT(FailureCode), Time, Component, CarModel,
Factory
[0063] FROM table_list
[0064] WHERE FailureCode="XX" and join conditions
[0065] [GROUP BY CarModel]
[0066] The GROUP BY dimension can be any dimension from the list.
The query basically creates a cube view over aggregated counts of
the given Failure Code. The query is submitted to data sources 810
and 812 via the Data Federation System 814 which retrieves data
instances from the data sources. The retrieved data instances are
displayed as a report by the Report Generator 820 (e.g., Alpha
Blocks). The analyst reviews this report and decides on the next
query, repeating the above steps.
[0067] Drill-down and roll-up is an important query type of OLAP
along with aggregation. Ontology query can help compose drill-down
and roll-up queries. A user query example is as follows:
[0068] Show me all the granularities of Time class
An ontology query is:
[0069] (Time, hasComponents, ?X)
A Result Set is:
[0070] ?X=Year, Month, Week, Day, Hour, . . .
[0071] The SQL Query Plan Generator 808 composes a SQL query by
using the Result Set and Mapping information. The SQL query is:
[0072] SELECT COUNT(FailureCode), Month, Component, CarModel,
Factory
[0073] FROM table_list
[0074] WHERE FailureCode="XX" and join_conditions
[0075] GROUP BY Month
[0076] The query is submitted to data sources 810 and 812 via the
Data Federation System 814 (DB2II), which retrieves the data on the
fly. Note that in traditional OLAP systems all the aggregation
values are pre-computed.
[0077] The user continues the analysis by finding classes and data
directly related to the given Failure Code. A user query example
is:
[0078] Show me all the secondary dimensions of Failure Code
An ontology query is:
[0079] (FailureCode, hasDimension, ?X) (?X, hasDimension, ?Y)
A Result Set is:
[0080] ?X=Time, Driver Location, Dealer, Component, Car Model,
Factory
[0081] ?Y=Warranty, Platform, Bill Of Material, Part
[0082] The secondary dimensions can be used by the SQL Query Plan
Generator 808 to compose a SQL query. The secondary dimensions
along with direct dimensions can be shown to the user for selecting
dimensions of interest for the composition. The SQL-Query Plan
Generator composes a SQL query by using the Result Set and Mapping
information. A SQL query is:
[0083] SELECT COUNT(FailureCode), Time, Warranty, Platform,
Part
[0084] FROM table_list
[0085] WHERE FailureCode="XX" and join_conditions
[0086] GROUP BY Warranty
[0087] The user can simply move the focus of the analysis to a
different class. A user query example is:
[0088] Show me all the dimensions of Component
An ontology query is:
[0089] (Component, hasDimension, ?X)
A Result Set is:
[0090] ?X=Failure Code, Part, Bill Of Material
[0091] The SQL Query Generator composes a SQL query by using the
Result Set and mapping information. A SQL query is:
[0092] SELECT COUNT(FailureCode), Component, Part
[0093] FROM table_list
[0094] WHERE join_conditions
[0095] GROUP BY Part
[0096] FIG. 9 shows a semantic query and equivalence class. The
present invention supports semantic queries by utilizing a
"semantic network" for defining a domain model 900. Semantic
networks specify relationships among concepts in the model and use
the meaning (semantics) of the relationships in answering queries
against the model. Examples of the relationships include
generalization (superclass), specification (subclass), equivalence,
symmetry, transitivity, and inverse properties of relationships.
Certain prior art networks, such as Google and Yahoo, do not
support such semantic queries.
[0097] FIG. 9 shows an example of an equivalence class. Suppose the
user wants to find information (e.g., styles) about automobiles
902. Prior art systems yield a result which will display
information only on automobiles 902. The present invention yields a
result which will display information on automobiles 902 and
vehicles 904, assuming the domain model defines automobile and
vehicle to be equivalent concepts.
[0098] FIG. 10 shows a semantic query and subclass and a
superclass. Suppose the user wants to find phone number 1002 of a
customer. Prior art systems look for only a phone number column in
the table; and the result is a null if no such column exists in the
table. The present invention looks for phone number, home phone
number, office phone number, and mobile phone number to answer the
query, assuming the domain model defines home/office/mobile phone
numbers to be subclasses of phone number.
[0099] FIG. 11 illustrates a semantic query and transitive
property. Assume the user wants to find regions located in New
York. The semantic model 1100 can define the locations Yorktown
1102, Hawthorne 1104, Westchester 1106, and New York 1108 which are
transitive properties. The data stores give instances such as
Yorktown which is located in Westchester County and Hawthorne which
is also located in Westchester County. Westchester County is
located in New York. Then the query result returns not only
Westchester but also Yorktown and Hawthorne because of the
transitivity property.
[0100] FIG. 12 shows a semantic query and symmetric property.
Assume the user wants to find equivalent classes of vehicles.
Further assume that none of the data stores has this information
explicitly. Also, assume that the semantic model 1200 defines that
equivalence is a symmetric property 1202. Then, assuming the fact
that automobile 1204 is equivalent to vehicle 1206 is defined in
the semantic model 1200 as shown in FIG. 9, the new fact that a
vehicle is equivalent to automobile is inferred from the semantic
model by using that the knowledge equivalence is a symmetric
property. Therefore, the query result returns automobile, because
it is reasoned to be equivalent with vehicle.
[0101] FIG. 13 shows semantic query and inverse properties. Suppose
the user wants to find a child of John when the underlying data
stores only keep the fact that John 1302 is the father of Fred
1304. A query to find a child of John to the data stores cannot
find an answer. The semantic model 1300 can be used to interpret
the query. If the semantic model defines that "child of" is an
inverse property of "father of" 1306, then an implied fact that
Fred is child of John can be found. The query result returns Fred,
because Fred is reasoned to be the John's child.
[0102] FIG. 14 is a schematic block diagram of ontology query
server 822. A user 800 submits a query to user interface 1402. An
application 1404 is submitted to an application programming
interface (API) 1406. The user interface 1402 is also connected to
API 1406. Ontology management system 1408 contains ontology create
unit 1410, ontology edit unit 1412, ontology translation unit 1414,
ontology store unit 1410, ontology query unit 1418, query
optimization unit 1420, and ontology directory 1422. In addition,
the system 1408 includes a working memory 1424 and a rules base
1426. Moreover, ontology persistent store 1428 memory is contained
in system 1408. An ontology load unit 1430 is connected to ontology
source connector 1432 which, in turn, provides as the system output
ontology files 1434. In other words, the units within system 1408
interoperate to process user query inputs according to the selected
application and ontology rules base in order to provide the
ontology files output.
[0103] It will be understood by those skilled in the art that while
the above description refers to the automotive industry in examples
in describing the invention, the invention is not so limited and is
applicable to any situation where there is a use for planning and
generating queries for multi-dimensional analysis of data.
[0104] While there has been described and illustrated a system and
method for planning and generating queries for multi-dimensional
analysis using domain models and data federation, it will be
apparent to those skilled in the art that modifications and
variations are possible without deviating from the broad teachings
and spirit of the present invention which shall be limited solely
by the scope of the claims appended hereto.
* * * * *