SemNum
semantic
numbers
on the web
PHOAF - The SemNum Prototype
To proof the authors’ proposed integration of ENUM and the Semantic Web’s FOAF and to better evaluate proposed applications a JAVA prototype was developed. The main functionalities of that prototype are looking up the ENUM DNS database, retrieving the ENUM NAPTR data, detecting the location of FOAF RDF data (i.e. a foaf.rdf file) using different methods and finally parsing the FOAF file found for data requested by the respective application. The prototype allows three different input parameters to start a query (see Fig. 1):
Start ENUM DNS NAPTR query with given phone number – the result is a list of URIs and services of the queried phone number’s owner
Start FOAF RDF file lookup with given web URL – the result is the exact location of a foaf.rdf file
Start FOAF RDF file parsing with given location of foaf.rdf file – the result is data available from the foaf.rdf file
Fig.
1. Flowchart of prototype main functionalities
In principle, appropriate results of any of these three operations can be used to start any further query. For instance, if an ENUM DNS NAPTR query result contains a Web URL (http URI), that URL can be used as input for a subsequent FOAF RDF file lookup, trying to detect the location of a foaf.rdf file. The same applies to FOAF RDF file parsing results, which also can be used to start another query, e.g. a phone number could be used for a subsequent ENUM DNS NAPTR query or a website URL could be used for another FOAF RDF file lookup.
Demo Description
The application demo presented at the International Semantic Web Conference 2005 (ISWC 2005) at Galway, Ireland, needs a telephone number in the international format as input parameter. This input can be done manually (as in the demo setup) or by an agent importing the telephone from a VoIP client, for instance. After entering a phone number and pushing the “Start query” button, the following steps are internally taken by the demo application without any further user interaction:
Looking up the ENUM DNS database
Retrieving ENUM NAPTR data
Detecting the location of FOAF RDF data
Parsing the FOAF file for specific FOAF RDF data
Presenting the aggregated results from ENUM and FOAF, respectively
Figure 2 shows the start screen of the demo application with a field to type in a telephone number and a button to start the integrated ENUM / FOAF query and parsing process.
Fig.
2. Screenshot of start screen for ENUM / FOAF demo with telephone
number needed as input and “Start query” button
Figure 3 shows the output screen with the final result of the integrated ENUM / FOAF query and data retrieval as it is presented to the querying user. In order to illustrate the order in which data is retrieved, the steps taken and according results are explicitly mentioned in the aggregated results output screen.
First, an ENUM DNS NAPTR query for the input telephone number is performed and a message generated wether the query was successful. In addition all data found in ENUM DNS is presented and options for further steps as sending e-mail or visiting a website are listed.
Next is a lookup for FOAF data. Therefore the demo automatically extracts the web URL found in ENUM (http://members.chello.at/reichinger/), looks for a link tag pointing to the location of a foaf.rdf file or alternatively tries an “educated guess” for the location of a foaf.rdf file. If no web URL is found in ENUM, the application is terminated at this point. In Figure 4, the FOAF lookup has been successful as a link tag pointing to http://members.chello.at/reichinger/foaf.rdf was found by the application.
Now
the FOAF RDF file is parsed by the application for data relevant for the
specific application. In our demo basic FOAF properties as name, depiction,
phone and homepage are parsed. Additionally, the demo application looks for
other persons indicated to be known by the called party (foaf:knows property).
Finally, the FOAF data retrieved is listed with options for further steps like
visiting a website or looking up a FOAF RDF file of some person found. Should
the parsing bring up a link to a depiction of the called party, that image
automatically is displayed.
Fig. 4. Screenshot of aggregated ENUM / FOAF results
[Click to go directly to application example]
The following Austrian telephone numbers can be used for testing the application example utilising the PHOAF prototype. For all these numbers an ENUM domain has been delegated and an associated FOAF file has been created: