- From: Bob Ferris <zazi@elbklang.net>
- Date: Fri, 28 Jan 2011 19:25:43 +0100
- To: public-owl-dev@w3.org
As suggested by Michael Schneider (see [1]), this might be an issue
worth questioning at the owl-dev mailing list. So, here we go (this
question is taken from [2]):
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?
For namespace definitions (as far as I know) it is a good practice to
use a/the (version unspecific) PURL of a ontology specification, because
"cool URIs don't change". This PURL should usually resolve to the latest
version of the ontology specification.
So imagine now the following scenario:
1. I decribed my instances by utilizing version 0.1 of an ontology
specification
2. The author of this ontology specification change now some parts
of this ontology significantly (weel it's just version 0.1 ;) ) and
version 0.2 is somehow incompatible to version 0.1
3. The author included, of course, descriptions in both versions of
the ontology specification that relate them somehow (e.g.
owl:priorVersion etc.)
4. An information consumer requests my instance descriptions and
thereby resolves the namespace of the ontology specification, which
directs now to version 0.2
5. The information consumer cannot fully interpret the instance
data, because he/she/it doesn't know which version I used for describing
the instance data.
This leads to the conclusion, that one has explicitly define somehow the
used version of an ontology specification.
A proposal of a solution is:
1. Introduce a new property that explicitly relates the version
specific PURL of the ontology specification e.g., ex:thisVersion
(dc:hasVersion, dc:isVersionOf are to broad here).
2. Use the version specific PURLs for prefix definitions
or
3. Use dcterms:conformsTo to related the version PURLs of the
applied ontology specification versions. This would double the
description amount (prefix and conformatsTo definitions).
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)?
Here is an example with two version specific IRIs of an ontology
specification that uses owl:versionIRI (as proposed by Michael
Schneider, so the issue of "ex:thisVersion" is already solved ;) ):
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#:
@prefix co: <http://purl.org/ontology/co/core#> .
@prefix dc: <http://purl.org/dc/elements/1.1/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
co: a owl:Ontology ;
dc:title "The Counter Ontology"@en ;
owl:versionIRI <http://purl.org/ontology/co/20100913/core#> ;
owl:priorVersion <http://purl.org/ontology/co/20100804/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#:
@prefix co: <http://purl.org/ontology/co/20100913/core#> .
@prefix dc: <http://purl.org/dc/elements/1.1/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
co: a owl:Ontology ;
dc:title "The Counter Ontology"@en ;
owl:versionIRI <http://purl.org/ontology/co/20100913/core#> ;
owl:priorVersion <http://purl.org/ontology/co/20100804/core#> ;
dc:isVersionOf <http://purl.org/ontology/co/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):
@prefix co: <http://purl.org/ontology/co/20100913/core#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix dc: <http://purl.org/dc/terms/> .
@prefix ex: <http://example.org/> .
ex:WebpageCounter a co:Counter ;
dc:title "Webpage Counter"^^xsd:string ;
... .
instance description that references the applied version of an ontology
via a dcterms:conformsTo relation:
@prefix co: <http://purl.org/ontology/co/core#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix dc: <http://purl.org/dc/terms/> .
@prefix ex: <http://example.org/> .
<> dcterms:conformsTo <http://purl.org/ontology/co/20100913/core#> .
ex:WebpageCounter a co:Counter ;
dc:title "Webpage Counter"^^xsd:string ;
... .
Which version of the association of the applied ontology in instance
description would you prefer?
Currently, I would tend to use for a version specific ontology
description that addressed not the latest ontology version the version
IRI (as in the example above). For linking the applied ontology version
in instance descriptions I would use modelling that uses a version IRI
in the prefix definition.
Cheers,
Bob
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)
[1]
http://www.semanticoverflow.com/questions/2815/how-do-i-know-model-the-applied-version-of-an-ontology-specification/2839#2839
[2]
http://www.semanticoverflow.com/questions/2815/how-do-i-know-model-the-applied-version-of-an-ontology-specification
Received on Friday, 28 January 2011 18:26:15 UTC