[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

UDD export as RDF data through D2R and a corresponding mapping definition



Hi.

(not subscribed to debian-qa, please CC: me of any responses)

I've been pursuing previous ideas about the use of Semantic Web
standards for publication of facts about Debian using the UDD database
as a source.

FYI, I have a running prototype (unfortunately only on my laptop at the
moment, hopefully on the Web some day soon) which uses D2R [1], a server
which can publish RDBMS tables as RDF documents, using a mapping
description.

I'm documenting bits of what I've done in
https://picoforge.int-evry.fr/cgi-bin/twiki/view/Helios_wp3/Web/UltimateDebianDatabaseToRDF should you be interested.

This first prototype allow to express queries such as :
SELECT DISTINCT ?b ?s WHERE {
  ?b vocab:bugs_package <http://localhost:2020/resource/package/sympa>.
  ?b debbugs:hasSubmitter ?s
}

which returns a list of all bugs id and corresponding bug reporters
"submitters" (From) addresses on the package sympa in the form of links
to resources like :
http://localhost:2020/resource/debbug/169102 - http://localhost:2020/resource/foafdebbug/Olivier+Berger+%3Colivier.berger%40it-sudparis.eu%3E

which each point to different RDF documents like :
http://localhost:2020/resource/debbug/169102 :
        debbugs:bugUrl <http://bugs.debian.org/169102> 
        debbugs:hasSubmitter db:foafdebbug/Olivier+Berger+%3Colivier.berger%40it-sudparis.eu%3E 
        debbugs:number 169102
        debbugs:summary "sympa: Lack of exim configuration for pipe transport"
        vocab:bugs_arrival "2002-11-14T16:48:05"^^xsd:dateTime
        vocab:bugs_package db:package/sympa 
        vocab:bugs_severity debbugs:Important 
        rdf:type debbugs:Debbug 
        rdfs:label "Debian bug #169102"

and http://localhost:2020/resource/foafdebbug/Olivier+Berger+%3Colivier.berger%40it-sudparis.eu%3E :
        rdf:type foaf:Person
        foaf:mbox <mailto:olivier.berger@it-sudparis.eu>
        foaf:mbox_sha1sum "6688a14521cd97db162af8f9757f2e2232300e50"
        foaf:name "Olivier Berger"
 and with inverse relationships :
        debbugs:hasSubmitter  db:debbug/169102
        debbugs:hasSubmitter db:debbug/208203 
        ...
        
This is obtained with a simple mapping of data from the bugs table in
UDD to several ontologies like "foaf", and "debbugs" (a fictive one).

When running such sparql queries, or navigating the URLs provided by
D2R, the mapping is applied and corresponding SQL queries are done on
the UDD database (like :

        SELECT DISTINCT 1 FROM "d2r_bugsubmitters" WHERE
        "d2r_bugsubmitters"."submitter" = 'Olivier Berger
        <olivier.berger@it-sudparis.eu>'
        
        SELECT DISTINCT "d2r_bugs"."id" FROM "d2r_bugs" WHERE
        "d2r_bugs"."submitter" = 'Olivier Berger
        <olivier.berger@it-sudparis.eu>'
        
Of course, this would be great if such a service was on the (Semantic)
Web, with URI for resources becoming real URLs and which may then be
navigated to discover links to other resources (like my other FOAF
profiles searching for my foaf:mbox_sha1 on the Web, which would return
http://www-public.it-sudparis.eu/~berger_o/foaf.rdf for instance).

I hope this will trigger some interest by UDD maintainers, and maybe we
can continue discussing that, and maybe plan to have a D2R server
alongside UDD on udd.debian.net some day ?

I have some comments on the contents of the UDD databse, btw, which I
will post in another message.

Any comments welcome, of course.

Best regards,

[1] : http://www4.wiwiss.fu-berlin.de/bizer/d2r-server/
-- 
Olivier BERGER <olivier.berger@it-sudparis.eu>
http://www-public.it-sudparis.eu/~berger_o/ - OpenPGP-Id: 1024D/6B829EEC
Ingénieur Recherche - Dept INF
Institut TELECOM, SudParis (http://www.it-sudparis.eu/), Evry (France)


Reply to: