- 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