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 <kide...@openlinksw.com <mailto:kide...@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

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

------------------------------------------------------------------------------
Want excitement?
Manually upgrade your production database.
When you want reliability, choose Perforce
Perforce version control. Predictably reliable.
http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk
_______________________________________________
Dbpedia-developers mailing list
Dbpedia-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dbpedia-developers

Reply via email to