Use case: Find the email address of "John Smith"

== Task

A user wants to find the email address for a person whose name is "John
Smith".  The user has an address book in RDF that contains all the
information needed.  The address book uses the FOAF vocabulary [1].

== Importance of DAWG

A query is more efficient in terms of application programmer time than
writing custom code to a lower level interface.  The resulting execution can
be more efficient because an application might choose a simple way of doing
it where as a toolkit can invest in optimization.

If the query is issued to a remote data source then a way of serialising one
or more operations requests is needed.  A query language is one way of
providing this.

Applications that use the DAWG rec. can be switched from a local address
book to an interface to an LDAP server (say) with no change to the
application other than pointing it to a different source.

Information sources that use the DAWG rec. can be accessed by a wider set of
applications with no extra work.

== Other

The query has two parts - locate the resource and extract some information
from that resource.  The presentation of the results is the mailbox email
address.  As people may have several mailboxes, there can be multiple
results even if the conceptual task is to find one.

The resource for the person could be a bnode or a labelled resource.

An example query:

SELECT ?mbox
WHERE
  (?x foaf:name "John Smith")
  (?x foaf:mbox ?mbox)
USING
  foaf  FOR <http://xmlns.com/foaf/0.1/>

-------

[1] http://xmlns.com/foaf/0.1/
    FOAF namespace document

Received on Friday, 19 March 2004 10:04:04 UTC