Information Technology Reference
In-Depth Information
5.2.3 Search
Unlike keyword search engines, InFact employs a highly expressive query language
(IQL or InFact Query Language) that combines the power of grammatical roles
with the flexibility of Boolean operators, and allows users to search for actions,
entities, relationships, and events. InFact represents the basic relationship between
two entities with an expression of the kind:
Subject Entity > Action > Object Entity,
The arrows in the query refer to the directionality of the action, which could be
either uni-directional (as above) or bi-directional. For example,
Entity 1 <> Action <> Entity 2
will retrieve all relationships involving Entity 1 and Entity 2 , regardless of their
roles as subject or object of the action. Wildcards can be used for any grammatical
role. For instance, the query “ ∗ > eat > cake ” will retrieve a list of anybody or
anything that eats a cake; and a query like “ John > ∗ > Jane ” will retrieve a list
of all uni-directional relationships between John and Jane. InFact also supports the
notion of entity types. For instance, in addition to entering an explicit country name
like “Argentina” as Entity 1 or Entity 2 in a relationship query, a user can enter a
wildcard for any country name by using the syntax [Country] . InFact comes with
a generic ontology that includes [Location] , [Person] , [Organization] , [Numeric] as
the four main branches. Entity types can be organized hierarchically in a taxonomy.
IQL renders hierarchical dependencies by means of taxonomy paths. For instance,
in [Entity/Location/Country] and [Entity/Location/City] both [Country] and [City]
nodes have a common parent [Location] . Taxonomy path can encode “is-a” relations
(as in the above examples), or any other relations defined in a particular ontology
(e.g., “part-of” relation). When querying, we can use a taxonomy node in a relation-
ship search, e.g., [Location] , and the query will automatically include all subpaths
in the taxonomic hierarchy, including [City] , [Location] , or narrow the search by
expanding the path to [Location/City] .
With the InFact query language, we can search for:
Any relationships involving an entity of interest
For example, the query “ George Bush <> * <> * ” will retrieve any events involving
George Bush ” as subject or object
Relationships between two entities or entity types
For example, the query “ China <> * <> Afghan* ” will retrieve all relationships
between the two countries. Note in this case a wildcard is used in “ Afghan* ”to
handle different spelling variations of Afghanistan. The query “ Bin Laden <>*<>
[Organization] ” will retrieve any relationships involving “Bin Laden” and an orga-
nization.
Events involving one or more entities or types
For example, the query “ Pope > visit > [country] ” will return all instances of the
Pope visiting a country. In another example, “ [Organization/name] > acquire >
[Organization/name] ” will return all events involving a named company buying
another named company.
Search WWH ::




Custom Search