tillmo / DOL

The Distributed Ontology, Modeling and Specification Language (DOL) - an answer to the OMG RFP OntoIOp. * View the latest version here: https://github.com/tillmo/DOL/raw/master/Standard/dol.pdf. * Convenience version with diff to version of August 24: https://github.com/tillmo/DOL/raw/master/Standard/dol-diff.pdf * Homepage of OntoIOp is
http://ontoiop.org
7 stars 1 forks source link

massage the RDF/XML for DOL ontology #202

Closed tillmo closed 9 years ago

tillmo commented 9 years ago
  1. The ontology IRI should be http://www.omg.org/spec/DOL/dol.rdf now using http://www.omg.org/spec/DOL/dol-language/ after further discussion
  2. The ontology versionIRI should be http://www.omg.org/spec/DOL/20150601/dol.rdf (or, if we go for an August submission for Cambridge, it should be http://www.omg.org/spec/DOL/20150801/dol.rdf now using http://www.omg.org/spec/DOL/20150801/dol-language/ after further discussion
  3. The ontology header should include the following:

<?xml version="1.0" encoding="UTF-8"?> done

instead of

<?xml version="1.0"?>

and

<!DOCTYPE rdf:RDF [ <!ENTITY rdf "http://www.w3.org/1999/02/22-rdf-syntax-ns#" > <!ENTITY rdfs "http://www.w3.org/2000/01/rdf-schema#" > <!ENTITY owl "http://www.w3.org/2002/07/owl#" > <!ENTITY xsd "http://www.w3.org/2001/XMLSchema#" > <!ENTITY dct "http://purl.org/dc/terms/" > <!ENTITY skos "http://www.w3.org/2004/02/skos/core#" > <!ENTITY sm "http://www.omg.org/techprocess/ab/SpecificationMetadata/" > <!ENTITY dol "http://www.omg.org/spec/DOL/dol/" > ]>

done

and then the rdf:RDF section of the header should be

<rdf:RDF xml:base="http://www.omg.org/spec/DOL/dol/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:xsd="http://www.w3.org/2001/XMLSchema#" xmlns:dct="http://purl.org/dc/terms/" xmlns:skos="http://www.w3.org/2004/02/skos/core#" xmlns:sm="http://www.omg.org/techprocess/ab/SpecificationMetadata/" xmlns:dol="http://www.omg.org/spec/DOL/dol/">

done

  1. It should -not- have both a default and xml:base IRI done , and should use a "slash" style IRI instead of a "hash" style IRI. done The metadata section needs even more work, which I'll help with. Once we are done with our part of the work, we need to ask Elisa for help
  2. The ontology rdfs:label should not have any mention of LoLa, which will have no meaning to DOL users -- it should be "Distributed Ontology, Model, and Specification Language Terminology Ontology" or "DOMSL Ontology" or "DOL Ontology". has been fixed meanwhile
  3. The copyright should include: Fraunhofer, MITRE, and the university, in addition to OMG and Thematix, just as the specification does, and if we include Tara, then we will need a statement from her that says she is willing to grant copyright to OMG (not in the ontology, but separate from it). The ones that are there should be 2014-2015 (and so should the spec, actually). In the spec I think Athan Services has now been added; not sure about Tara's copyright grant statement.
  4. It should use abbreviated IRIs and Qnames throughout RDF/XML doesn't support abbreviated IRIs; by "abbreviated IRIs" I suppose you mean using XML entities – done , and should not reference example.org at all. is no longer the case
  5. It should not include duplicated declarations for annotations, such as those from Dublin Core and SKOS, which are declared in the specification metadata already. Fixed with a hack. The OWLTools/OWL API/Protégé parser can't parse an OWL Manchester ontology having ontology-level annotations where only an imported ontology declares the respective annotation properties; therefore we need redundant annotation property declarations in the OWL Manchester source. In fact, all duplicate declarations, which Protege puts in but which are actually redefinitions of things like owl:Thing, should be eliminated. had been done already
  6. Extraneous comments that Protege adds with the IRI of the thing defined below it should be removed, although the block comments that delimit sections of the ontology are fine. The trailing comment about being generated by the OWL API should be removed. done
  7. The main problem is that there must be some punning and other things going on, some of which I'm sure Tara contributed, as both Pellet and HermiT blow up on it. I think there are several bugs that are causing this ... actually. We need to fix this, especially if the ontology is normative, which I believe it should be, then we might want to talk about pushing this off to a September submission.
clange commented 9 years ago

With https://ontohub.org/repositories/meta/26d1e2f44590689762dc1b15437d3c74bcb3338e/diff and previous commits I have now implemented many of these requirements (and will continue later), implementing more of them (those that don't require further discussion). I will "tick off" whatever I resolved in the original post above. The result of post-processing the RDF/XML encoded ontology is in https://ontohub.org/meta/dol-ontology-clean.owl.

ElisaKendall commented 9 years ago

There are several additional issues in the ontology header that need to be addressed. These include: (1) the canonical IRI for the ontology should be http://www.omg.org/spec/DOL/dol-language/ (2) the owl:versionIRI for the ontology should be http://www.omg.org/spec/DOL/20150801/dol-language/ (3) the namespace prefix should be "dol", not "ontology", and this requires both an entity declaration and an xmlns namespace declaration (4) the namespace prefix for the specification metadata should be "sm" not "SpecificationMetadata" (5) additional metadata is needed in the header, but once you've made these changes please send me a note, and I can make them for you. (6) the filename for the ontology should be dol-language.rdf, NOT "dol-ontology-clean.owl"

Thanks!

Elisa

clange commented 9 years ago

@ElisaKendall thanks for your up-to-date list of issues!

One question for my understanding: why does OMG require ontology namespaces to end with a slash? (I'm happy to introduce a slash namespace but would like to learn the deeper reasons.)

ElisaKendall commented 9 years ago

If you review the documents on the W3C site regarding the hash-vs-slash discussion, you'll see that for ontologies that are reused substantially, it is important to support server-side processing. The tools can only access the content of an ontology if you use a slash style IRI, rather than hash style. Pete Rivett's Adaptive repository, Callimachus, and many of the triple stores require a slash-style for server-side accessibility and processing, for example.

It's really only important if the ontology is going to be reused by anyone, not for local ontologies that are only intended for use within a small team. At OMG, we really are building standards for reuse, which we hope many people will extend, reuse, load into their systems, etc., so it's important to allow them to do so using slash-style IRIs.

There is a bit about this in http://www.w3.org/2001/sw/BestPractices/VM/http-examples/2006-01-18/, but the main debate took place years ago outside of the RDF working group. The TAG determined the processing approaches for XML -after- the original work in RDF and OWL had completed, and we had to go back and rethink recommendations. Before that, most ontologists used the "#" or hash style, because they were building small ontologies that no one reused or loaded into larger triple stores. As that practice changed and matured, most of us switched to a slash style, based on processing requirements on repositories that used them.

I hope this is helpful,

Elisa

tillmo commented 9 years ago

actually, this agrees with what we have in annex O of the DOL standard.

ElisaKendall commented 9 years ago

A few other comments on some questions raised earlier, at the top of this issue:

  1. We do not use the default IRI in the xml headers of OMG ontologies, but prefer xml:base. This is because it is explicit, rather than default.
  2. You also need to use the ontology name and IRI I've specified above -- using .../current/... is not acceptable, and having .../ontology/ as the name is not acceptable either from a standards perspective.
  3. Please use the prefixes for the standard ontologies correctly. If Protege or other tools overwrite or ignore them, which appears to happen with OMV and specification metadata (which should be "omv" and "sm" respectively), then you'll need to fix those manually.

Elisa

clange commented 9 years ago

Elisa Kendall on 2015-07-21 17:41:

If you review the documents on the W3C site regarding the hash-vs-slash discussion, you'll see that for ontologies that are reused substantially, it is important to support server-side processing. The tools can only access the content of an ontology if you use a slash style IRI […]

Thanks for clarifying!

There is a bit about this in http://www.w3.org/2001/sw/BestPractices/VM/http-examples/2006-01-18/

Only in this old version, or has it been preserved in http://www.w3.org/TR/swbp-vocab-pub/ ?

Before that, most ontologists used the "#" or hash style […]

Thanks for this concise historical review – very helpful indeed!

Christoph

Dr. Christoph Lange, Enterprise Information Systems Department Applied Computer Science @ University of Bonn; Fraunhofer IAIS http://langec.wordpress.com/about, Skype duke4701

→ Web Intelligence Summer School “Question Answering with the Web” Saint-Étienne, FR. Apply by 4 July @ https://wiss.univ-st-etienne.fr/

clange commented 9 years ago

@ElisaKendall all issues have been fixed, with one exception that I'll resolve with Till separately in #222. What are the other metadata you'd like us to add?

tillmo commented 8 years ago

@ElisaKendall, could you recall why you think that the URL for the DOL ontology should be http://www.omg.org/spec/DOL/dol-language/ and not just http://www.omg.org/spec/DOL/dol/ ? I personally find the latter more natural. Note that the "L" in DOL already means "language".

fabianneuhaus commented 8 years ago

An alternative name would be "DOLTermsAndDefinitions". This name would make clear that the ontology covers the terms of the identically named section in the specification.