DAML Word Search

DAML Word Search is a proof-of-concept implementation to show
the value of
DAML in semantic search.

This page was first published in May 2002.

Background

Users of
PalmDAML
often use the
Find
feature to lookup a name or other word
and then navigate the DAML object graph from there.

Many people expect the Semantic Web to enable better search
than purely text-based engines such as
Google.

Example

The image below shows the results of searching for the word "Suffolk"
in
royal92.daml,
a
genealogy
of European royalty.
This shows that Suffolk is part of the place for 2 Death events,
and is part of the title for several
Individuals.
The user would then typically traverse the Semantic Web from one of
these Events or Individuals.

Architecture

This prototype implementation consists of 2 primary components:
Setup.java
retrieves all of the literals
from a
DAML DB
database storing cached DAML statements,
tokenizes them,
and stores word/DB node index pairs in a
MySQL
database.
Search.java
looks up a specified word in the database to
retrieve the DAML DB node index(es) of literals containing that word,
retrieves these DAML DB nodes,
identifies the statements containing that literal,
identifies the properties used as predicates in those statements,
identifies the instances used as subjects in those statements,
identifies any type(s) associated with those objects,
and displays the object URIs, properties, literals, and types.

Possible Future Directions

replace the database with a more sophisticated text search engine
such as
Apache Lucene