Patent ID: 9262527
Filing Date: 2016-02-16
CPC Classification: G06F

Claim Text:
1. A computer-implemented method of providing suggested completions to search engine results, comprising executing on a processor the steps of: receiving at a server at least one search term; locating nodes in an ontology stored in a memory associated with the server, wherein nodes consist of classes or instances of information, that correspond to the at least one search term; retrieving at least one neighbor and/or extended neighbor of each of two or more located nodes in the stored ontology, wherein neighbors of a class comprise parent classes, child classes and classes that are reachable from a class by traversing a semantic relationship, and wherein neighbors of an instance are the class to which the instance belongs, object properties and data type properties of the instance; wherein extended neighbors of a class comprise ancestor classes, descendant classes and classes that are reachable from a class by traversing a path of at least one semantic relationship followed by another semantic relationship and wherein extended neighbors of an instance are classes which are reachable as parent or ancestors from the class to which the instance belongs, class properties and data type properties of the class to which the instance belongs; retrieving first a parent or ancestor for each node which is a class; for each node which is an instance, retrieving first the class of which it is an instance or at least one of its ancestors; optionally, limiting the retrieved information to a subset; and generating suggested completions in a format using at least one visually distinguishing feature that may be presented to a user, wherein the method comprises using an ontology built according to the steps of querying a search engine with common terms; extracting at least one term of interest from results generated by the search engine; assigning the at least one term of interest to a top value category; querying a separate database with the at least one term; saving type and relationship data for term(s) found in the separate database; removing all terms not correlated to the selected term type; creating mappings for disambiguation tags; assigning terms to an ontology type, analyzing the types of relationships for each type, and retaining the most common relationships for each type.