IP Library Granted Patent US 8,335,778
Granted Patent B2
US 8,335,778 · App. 12/212,178 · Granted Dec 18, 2012

System and method for semantic search in an enterprise application

Assignee: Oracle International Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,335,778
App. No.
12/212,178
Granted
Dec 18, 2012
Kind
B2
Abstract

Embodiments of the present invention provide techniques for searching enterprise data using semantic information associated with enterprise applications. One or more searchable data definitions that describe searchable data associated with one or more enterprise applications may identify semantic relationships among searchable data in the application. An ontology for the application that describes semantic relationships among data associated with the application may be generated from the searchable data definitions. The ontology may be used to execute search queries and provide search results that include or result from semantic relationships among the searched data.

Claims (44)

1. A method of performing a search, the method comprising:

receiving a search query;

parsing the search query to identify potential semantic entities to generate a set of tagged keywords for the search query;

comparing the set of tagged keywords with a vocabulary to identify semantic entities included in the set of tagged keywords, wherein the vocabulary includes a list of terms used to construct semantic statements that describe relationships between entities described by data associated with an application;

based on a comparison match, identifying one or more semantic entities;

determining that an application ontology exists for at least one of the one or more identified entities;

in response to determining that an application ontology exists, converting a first portion of the search query into a semantic search, wherein the semantic search is formatted based on a format of the associated ontology;

determining that an application ontology does not exist for at least one of the one or more identified entities;

in response to determining that an application ontology does not exist, converting a second portion of the search query into a non-semantic search;

combining, using a hybrid search system, the semantic search and the non-semantic search into a hybrid search;

based at least in part on the search query, determining, by the hybrid search system, whether to use only the semantic search, only the non-semantic search, or a combination of both the semantic search and the non-semantic search; and

executing the hybrid search using the determined combination of the semantic and the non-semantic search to generate one or more results.

2. The method of claim 1 , further comprising:

generating an ontological statement;

identifying a semantic relationship between entities associated with data described by the search query; and

constructing the ontological statement to describe the semantic relationship.

3. The method of claim 2 wherein the semantic relationship is specified by the search query.

4. The method of claim 2 , wherein the ontological statement is a resource description framework (RDF) statement.

5. A non-transitory computer-readable medium having sets of instructions stored thereon which, when executed by a computer, cause the computer to:

receive a search query;

parse the search query to identify potential semantic entities to generate a set of tagged keywords for the search query;

compare the set of tagged keywords with a vocabulary to identify semantic entities included in the set of tagged keywords, wherein the vocabulary includes a list of terms used to construct semantic statements that describe relationships between entities described by data associated with an application;

based on a comparison match, identify one or more semantic entities;

determine that an application ontology exists for at least one of the one or more identified entities;

in response to determining that an application ontology exists, convert a first portion of the search query into a semantic search, wherein the semantic search is formatted based on a format of the associated ontology;

determine that an application ontology does not exist for at least one of the one or more identified entities;

in response to determining that an application ontology does not exist, convert a second portion of the search query into a non-semantic search;

combine, using a hybrid search system, the semantic search and the non-semantic search into a hybrid search;

based at least in part on the search query, determine, by the hybrid search system, whether to use only the semantic search, only the non-semantic search, or a combination of both the semantic search and the non-semantic search; and

execute the hybrid search using the determined combination of the semantic and the non-semantic search to generate one or more results.

6. A system comprising:

a storage memory; and

a processor coupled with the storage memory, wherein the storage memory includes set of instructions stored thereon which, when executed by the processor, cause the processor to:

receive a search query;

parse the search query to identify potential semantic entities to generate a set of tagged keywords for the search query;

compare the set of tagged keywords with a vocabulary to identify semantic entities included in the set of tagged keywords, wherein the vocabulary includes a list of terms used to construct semantic statements that describe relationships between entities described by data associated with an application;

based on a comparison match, identify one or more semantic entities;

determine that an application ontology exists for at least one of the one or more identified entities;

in response to determining that an application ontology exists, convert a first portion of the search query into a semantic search, wherein the semantic search is formatted based on a format of the associated ontology;

determine that an application ontology does not exist for at least one of the one or more identified entities;

in response to determining that an application ontology does not exist, convert a second portion of the search query into a non-semantic search;

combine, using a hybrid search system, the semantic search and the non-semantic search into a hybrid search;

based at least in part on the search query, determine, by the hybrid search system, whether to use only the semantic search, only the non-semantic search, or a combination of both the semantic search and the non-semantic search; and

execute the hybrid search using the determined combination of the semantic and the non-semantic search to generate one or more results.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 7, 2008
From: GHOSH, RAJESH; MADDALI, PHANI KISHORE; RANGARAJAN, KESHAVA
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 021642/0316 →
Continuity (1)
Related Publication 20100070517A1 · Mar 18, 2010