W3C home > Mailing lists > Public > public-lod@w3.org > September 2014

Re: ANN: DBpedia Version 2014 released

From: Kingsley Idehen <kidehen@openlinksw.com>
Date: Wed, 10 Sep 2014 14:18:53 -0400
Message-ID: <5410960D.2080200@openlinksw.com>
To: Dimitris Kontokostas <jimkont@gmail.com>
CC: DBpedia-Developers <dbpedia-developers@lists.sourceforge.net>, "public-lod@w3.org" <public-lod@w3.org>
On 9/10/14 10:35 AM, Dimitris Kontokostas wrote:
> Hi Kingsley,
>
> It would be good to know how you did this so that we can deploy this 
> on all chapters.
> Ideally this could go directly into the dbpedia-vad init script
> https://github.com/dbpedia/dbpedia-vad-i18n
>
> Best,
> Dimitris
>
> On Wed, Sep 10, 2014 at 5:00 PM, Kingsley Idehen 
> <kidehen@openlinksw.com <mailto:kidehen@openlinksw.com>> wrote:
>
>     On 9/10/14 7:47 AM, Kingsley Idehen wrote:
>
>         On 9/10/14 6:01 AM, Bernard Vatant wrote:
>
>             Hi all
>
>             Following an off-list answer to Kingsley on the G+ LOV
>             community conversation [1]
>
>             - The current state of affair needs to follow the
>             ov:defines predicates in the ontology description to each
>             of its elements to get the full description of the
>             ontology content (classes and propertie). I tried to
>             replace those by owl:imports predicates and submit the
>             file to Protégé, but after more than one hour it was still
>             struggling with importing the 3480 elements from their
>             URI, with so many queries on DBpedia servers. Cleraly not
>             the good solution.
>
>             - So I tried otherwise, sending to the SPARQL endpoint
>             this very basic query.
>
>             CONSTRUCT {?s ?p ?o}
>
>             WHERE {   ?s rdfs:isDefinedBy <http://dbpedia.org/ontology/>.
>                               ?s ?p ?o}
>
>             This is a compact URI for this query result (in RDF/XML)
>             http://bit.ly/1xHzpv5 which I successfully submitted to
>             either Protégé or the LOV-Bot.
>             So, seems to me if the ontology namespace had a conneg to
>             such a query it would be all we need.
>             Or, if you keep the things as they are, we will take
>             internally in LOV such a URI to feed the LOV-Bot.
>
>             [1] https://plus.google.com/+BernardVatant/posts/jVVSVbxuDfq
>
>
>         Bernard,
>
>         Alternatively, we can implement the following, which basically
>         leverages the much underutilized
>         <http://www.w3.org/2007/05/powder-s#describedby> relation as a
>         mechanism for incorporating an external (outside quad store)
>         ontology terms description document into the DBpedia Ontology
>         description:
>
>         ## DBpedia Ontology Fix
>
>         # Ontology IRI: <http://dbpedia.org/ontology/>
>         # Named Graph IRI: <http://dbpedia.org/ontology/definitions#>
>         # Ontology Definitions Document URLs:
>         <http://dbpedia.org/ontology/data/definitions.ttl>,
>         # <http://dbpedia.org/ontology/data/definitions.jsonld>, etc..
>         # URL Re-write rule:
>         # for all lookups requests for: <http://dbpedia.org/ontology/>
>         # resolve to (subject to Accept: headers), a SPARQL URL for:
>         # DESCRIBE <http://dbpedia.org/ontology/> FROM
>         <http://dbpedia.org/ontology/definitions#>
>         #
>         # HTTP/WebDAV accessible Docs, generated by internal
>         indirection of SPARQL DESCRIBE or CONSTRUCT:
>         # <http://dbpedia.org/ontology/data/definitions.ttl>,
>         # <http://dbpedia.org/ontology/data/definitions.jsonld>, etc..
>
>          INSERT
>           {GRAPH <http://dbpedia.org/ontology/definitions#>
>                  {
>                       ?s rdfs:isDefinedBy <http://dbpedia.org/ontology/>.
>         <http://dbpedia.org/ontology/>
>         <http://open.vocab.org/terms/defines> ?s.
>         <http://dbpedia.org/ontology/> a owl:Ontology .
>                       ?s
>         <http://www.w3.org/2007/05/powder-s#describedby>
>         <http://dbpedia.org/ontology/data/definitions.ttl> .
>         <http://dbpedia.org/ontology/dqta/definitions.ttl>
>         <http://open.vocab.org/terms/describes> ?s .
>                   }
>           }
>           WHERE
>           {GRAPH <http://dbpedia.org/ontology/definitions#>
>                   {
>                       {?s rdfs:subClassOf ?o}
>                       UNION
>                       {?s rdfs:subPropertyOf ?o}
>                       UNION
>                       {?s owl:equivalentClass ?o}
>                       UNION
>                       {?s owl:equivalentProperty ?o}
>                       UNION
>                       {?s a ?o}
>                   }
>            }
>
>         ETA for this going live:  next 20 - 60 minutes.
>
>         Kingsley
>
>
>     Bernard,
>
>     Done.
>
>     You can now lookup <http://dbpedia.org/ontology/> and retrieve the
>     entire DBpedia ontology, in your preferred document type.
>

Dimitri and others interested in this matter,

Note: for DBpedia distros, we've added this to the VAD, so when you run 
the Virtuoso VAD it just works.


Breaking down:

1. Extracted DBpedia Ontology from download archive and uploaded to a 
Virtuoso HTTP/WebDAV/LDP collection (folder)

2. Loaded DBpedia ontology triples from download archive into a Virtuoso 
Named Graph identified by <http://dbpedia.org/ontology/definitions#>
     -- this could also have been achieved using a Linked Data Import or 
RDF Sink folder which has a two-for-one effect i.e., you have the 
HTTP/WebDAV/LDP resource and an actual load of document content into a 
Virtuoso quad store named graph all happen via a single copy-to-folder 
action

3. Using the  SPARQL 1.1 query above (which is scoped to named graph 
<http://dbpedia.org/ontology/definitions#>) generate missing 
rdfs:isDefinedBy, wdrs:describedBy relations that handle
     -- Assigning Ontology its on HTTP URI <http://dbpedia.org/ontology/>
     -- association of Ontology with the Classes and Properties that it 
defines using rdfs:isDefinedBy
     -- association of Ontology, Classes, and Properties with an 
HTTP/WebDAV accessible Ontology document (identified by its document 
URI/URL) using wdrs:describedby

4. Using SPARQL CONSTRUCT with different data representation options to 
generate JSON-LD and XML (as in RDF/XML) variants of the TURTLE based 
Ontology document

5. Adjusted URL re-write rules accordingly re., /ontology/ pattern.

Verify using:

curl -I http://dbpedia.org/ontology/data/definitions.ttl
HTTP/1.1 200 OK
Date: Wed, 10 Sep 2014 17:07:07 GMT
Content-Type: text/turtle
Content-Length: 2152556
Connection: keep-alive
Server: Virtuoso/07.10.3211 (Linux) x86_64-redhat-linux-gnu  VDB
ETag: "cdeaaca054eab36ecd7365bda7902cde"
Link: 
<http://dbpedia.org/DAV/VAD/dbpedia/ontology/definitions.ttl,meta>; 
rel="meta"; title="Metadata File"
Link: <http://dbpedia.org/DAV/VAD/dbpedia/ontology/definitions.ttl,acl>; 
rel="acl"; title="Access Control File"
Accept-Ranges: bytes

-- 
Regards,

Kingsley Idehen	
Founder & CEO
OpenLink Software
Company Web: http://www.openlinksw.com
Personal Weblog 1: http://kidehen.blogspot.com
Personal Weblog 2: http://www.openlinksw.com/blog/~kidehen
Twitter Profile: https://twitter.com/kidehen
Google+ Profile: https://plus.google.com/+KingsleyIdehen/about
LinkedIn Profile: http://www.linkedin.com/in/kidehen
Personal WebID: http://kingsley.idehen.net/dataspace/person/kidehen#this




Received on Wednesday, 10 September 2014 18:19:17 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 7 January 2015 15:16:50 UTC