- 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