With the property owl:versionInfo and other related ones, I can define version information of an ontology. However, how can I relate a used ontology specification version in a description?
This leads to the conclusion, that one has explicitly define somehow the used version of an ontology specification.
A proposal of a solution is:
What do you think about this proposal? Did I oversee an existing property for ex:thisVersion (I looked at several ontology specification and found not really one, which at least provide also minimal version information for version tracing e.g., owl:priorVersion)?
the description of the owl:Ontology particular as it is part of the description that could be delivered, when resolving the canonical ontology IRI http://purl.org/ontology/co/core#:
the description of the owl:Ontology particular as it is part of the description that could be delivered, when resolving the version IRI http://purl.org/ontology/co/20100913/core#:
instance description that references the applied version of an ontology directly via its prefix definition (which can automatically be inferred by applying a rule that uses the object of the owl:versionIRI for the prefix definition, instead of the ontology IRI):
instance description that references the applied version of an ontology via a dcterms:conformsTo relation:
Which version of the association of the applied ontology in instance description would you prefer? [/edit]
PS: we may need also a further property to explicitly address the latest version of an ontology specification, which should usually also be served by resolving the (version independent) PURL of the ontology specification
PPS: explicitly define the used ontology specification version by using an owl:versionInfo relation with the ontology specification PURL as subject and the used version as object wouldn't work, because then I would normally have two owl:versionInfo triples of this ontology specification in my knowledge base (on of the ontology specification itself and one of the instance description)
Edit Comment: I now see that I did not understand you correctly when I gave my original answer. Your question is indeed a very important one. It is relevant for virtually any Linked Open Data data node. But I wonder whether it has ever been discussed before. I have now edited my answer. What was my original answer (the core of it, at least) is still relevant, but more as technical preliminaries.
OWL 2 introduces the new property
In an ideal world (that is, in an OWL 2 compliant world ;-)), all ontologies being referred to from the instance data have both an ontology URI and a version URI. At the location denoted by the version URI is the physical ontology versions. The latest ontology version is additionally available from resolving the purl'y ontology URI.
Provided this scenario holds (which will, of course, almost never be the case today), then the minimal-correct solution is in my humble opinion:
This approach is necessary: If you instead use an import directive on the "generic" ontology URI, then the semantic meaning of your data is likely to change with every update of the referenced ontology. It's like for citing Wikipedia articles: if you really want to do this, then cite a specific revision, otherwise you'll cite something different all ten minutes or so.
This approach is sufficient: Technically, you now obviously get the intended semantics for your data in a stable way. In addition, the imports directive acts as a declaration for anyone to see what vocabulary you are referring to /precisely/.