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

== Task

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

The user's email client queries their address book and fills in the result
in the "To:" field, if there is a single match, otherwise it shows there are
sevaerl options and allows the user to select one.

== 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.

Applications that use the DAWG rec. can be switched from a local personal, 
address book to a query to an LDAP server which makes its information
available as if it were an RDF graph with no change to the application
other than pointing it to a different source.

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.

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 Thursday, 25 March 2004 15:37:33 UTC