- From: Kingsley Idehen <kidehen@openlinksw.com>
- Date: Wed, 10 Sep 2014 14:18:53 -0400
- To: Dimitris Kontokostas <jimkont@gmail.com>
- CC: DBpedia-Developers <dbpedia-developers@lists.sourceforge.net>, "public-lod@w3.org" <public-lod@w3.org>
- Message-ID: <5410960D.2080200@openlinksw.com>
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
Attachments
- application/pkcs7-signature attachment: S/MIME Cryptographic Signature
Received on Wednesday, 10 September 2014 18:19:17 UTC