Closed tillmo closed 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.
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
@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.)
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
actually, this agrees with what we have in annex O of the DOL standard.
A few other comments on some questions raised earlier, at the top of this issue:
Elisa
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/
@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?
@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".
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.
The ontology IRI should be http://www.omg.org/spec/DOL/dol.rdfnow using http://www.omg.org/spec/DOL/dol-language/ after further discussionThe 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.rdfnow using http://www.omg.org/spec/DOL/20150801/dol-language/ after further discussion<?xml version="1.0" encoding="UTF-8"?>doneinstead 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
and xml:base IRIdone, 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 helpThe 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 meanwhileThe 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.It should use abbreviated IRIs and Qnames throughoutRDF/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 caseIt 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 alreadyExtraneous 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