My best practices for Ontology versioning for http://nlp2rdf.org, was Re: Versioning system for ontologies

Dear all,

personally, I have been working on this for quite a while and for me the 
best and easiest way is as documented here:
https://github.com/NLP2RDF/persistence.uni-leipzig.org#readme

They are simple and effective and I couldn't imagine anything more.

Note that I have also secured persistent hosting for the URIs (also an 
important point).
Feedback welcome, of course.

All the best,
Sebastian


      Ontology:
      http://persistence.uni-leipzig.org/nlp2rdf/ontologies/nif-core#


      # vs /

When you publish ontologies without data, you can use '#' . However, if 
you want to query instances via Linked Data in a database, you have to 
use '/' as DBpedia does for classes: 
http://dbpedia.org/ontology/PopulatedPlace


      <https://github.com/NLP2RDF/persistence.uni-leipzig.org#workflow>Workflow

 1. I edit the ontologies in turtle syntax with the Geany text editor
    (or a Turtle editor
    http://blog.aksw.org/2013/xturtle-turtle-editing-the-eclipse-way ),
    This allows me to make developers comments using "#" directly in the
    source, see e.g. nlp2rdf/ontologies/nif-core.ttl
 2. When I am finished I use rapper
    (http://librdf.org/raptor/rapper.html) to convert it to rdfxml (
    nlp2rdf/ontologies/nif-core.owl )
 3. I am versioning the ontologies in a folder with the version number,
    e.g. version-1.0 If somebody wants to find old ontologies, she can
    find them in the GitHub repository, which is linked from the
    ontology. I assume this is not often required, but it is nice to
    keep old versions. The old versions should be linked to in the
    comment of the ontology, see the header of nif-core.ttl
 4. Then I use git push to push the changes to our server
 5. (not yet) I use a simple OWL2HTML generator, e.g.
    https://github.com/specgen/specgen
 6. add yourself to http://prefix.cc, see e.g. http://prefix.cc/nif
 7. The versions are switched and published by these .htaccess rules,
    e.g. ||
    |RewriteRule .(owl|rdf|html|ttl|nt|txt|md)$ - [L]
    # (in progress) RewriteCond %{HTTP_ACCEPT} text/html
    # (in progress) RewriteRule ^nif-core$
    /nlp2rdf/ontologies/nif-core/version-1.0/nif-core.html [R=303,L]

    RewriteCond %{HTTP_ACCEPT} application/rdf+xml
    RewriteRule ^nif-core$
    /nlp2rdf/ontologies/nif-core/version-1.0/nif-core.owl [R=303,L]

    RewriteRule ^nif-core$
    /nlp2rdf/ontologies/nif-core/version-1.0/nif-core.ttl [R=303,L]|






Am 19.04.2013 16:05, schrieb Prateek:
> Hello all,
>
> I am trying to identify a system which will provide versioning and 
> revision control capabilities specifically for ontologies. Does anyone 
> have any experience and idea about which systems can help out or if 
> systems like SVN, CVS can do the job?
>
> Regards
>
> Prateek
>
> -- 
>
> - - - - - - - - - - - - - - - - - - -
> Prateek Jain, Ph. D.
> RSM
> IBM T.J. Watson Research Center
> 1101 Kitchawan Road, 37-244
> Yorktown Heights, NY 10598
> Linkedin: http://www.linkedin.com/in/prateekj
>


-- 
Dipl. Inf. Sebastian Hellmann
Department of Computer Science, University of Leipzig
Projects: http://nlp2rdf.org , http://linguistics.okfn.org , 
http://dbpedia.org/Wiktionary , http://dbpedia.org
Homepage: http://bis.informatik.uni-leipzig.de/SebastianHellmann
Research Group: http://aksw.org

Received on Monday, 22 April 2013 09:21:58 UTC