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):

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:

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 (, 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 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: