Ontology versioning

Ontology versioning

Ontology versioning

Contents

Introduction

cause of ontology change [1]

  • change in the domain
  • change in the shared conceptualization (that is our case) a way to model domain knowledge is not a static process, but is changed over time. Specially ontology is used for new tasks, then the modification of model is required
  • changes in the specification:what languages does ontology represent such as RDF, OR OWL? --> It actually doesn't matter.

consequences of the change [1]

  • incompatibility with the data that confirms to the ontology (i.e. some contents of web pages annotated with concepts from the ontology)
  • incompatibility with other ontologies (i.e. ontologies built from the source ontology or ontologies importing the source ontology)
  • incompatibility with applications

Current researches on the ontology versioning

  • there are no overall methodological theoretical framework that wold support the implementations [2]. Currently, there are four approach for ontology versioning.
approach pros cons
Purely syntactic versioning easy to implement, automatic process only at the symtax level by comparing text, no semantic level --> It is not enough for us!
Transaction-based Versioning (NeOn) semi-automatic process, inspired by the database theory, namely solutions supporting schema evolution, handle changes without loss of existing data, using mechanism of transactions too granular, too complicate, we doesn't care much about transaction mechanism
Merge-based versioning (Protege) semi-automatic process, finding difference between two ontology by comparing two images of graph using heuristics to find structural difference semi-automatically --> basic idea is ok. But, for now, it is ok to describe manually change of ontology inside the ontology.
Semantic Extensions of the Syntactic Versioning (SemVersion in Protege?) not only syntactic diff, but also a semantic one is taken into account implementation depends on the semantics representation used (pure RDF, RDF/S, OWL, F-logic, etc.)

Requirements for ontology versioning mechanism in FAO geopolitical ontology

  • Both the new version and the previous version are accessible.
  • There is explicit specification of the relation between concepts of the new version and the previous version.
  • Only change of conceptualization(structural difference) is in the scope of ontology versioning. We assume that knowledge of each version is same in the geopolitical domain.
  • The update on values of properties in each instances such as (GDP values or country names) is not considered as "change on the ontology"
  • Every concept and relations should have unambiguous identification by URI
  • Every change should be specified
  • The explicit specification should be inside the ontology and is implemented in the same formal language (i.e. OWL/RDF)
  • Each version needs to describe valid time (validSince and validUntil)
  • Each version has last update--> dcterms:modified
  • We need to reuse of existing OWL terms regarding versioning, instead of creating new terms

Design for ontology versioning

Reuse of existing OWL terms for versioning

term description comments
owl:versionInfo An owl:versionInfo statement generally has as its object a string giving information about this version, for example RCS/CVS keywords. This statement does not contribute to the logical meaning of the ontology other than that given by the RDF(S) model theory.

Although this property is typically used to make statements about ontologies, it may be applied to any OWL construct. For example, one could attach a owl:versionInfo statement to an OWL class.

owl:priorVersion An owl:priorVersion statement contains a reference to another ontology. This identifies the specified ontology as a prior version of the containing ontology. This has no meaning in the model-theoretic semantics other than that given by the RDF(S) model theory. However, it may be used by software to organize ontologies by versions.

owl:priorVersion is a built-in OWL property with the class owl:Ontology as its domain and range.

owl:backwardCompatibleWith An owl:backwardCompatibleWith statement contains a reference to another ontology. This identifies the specified ontology as a prior version of the containing ontology, and further indicates that it is backward compatible with it. In particular, this indicates that all identifiers from the previous version have the same intended interpretations in the new version. Thus, it is a hint to document authors that they can safely change their documents to commit to the new version (by simply updating namespace declarations and owl:imports statements to refer to the URL of the new version). If owl:backwardCompatibleWith is not declared for two versions, then compatibility should not be assumed.
owl:incompatibleWith An owl:incompatibleWith statement contains a reference to another ontology. This indicates that the containing ontology is a later version of the referenced ontology, but is not backward compatible with it. Essentially, this is for use by ontology authors who want to be explicit that documents cannot upgrade to use the new version without checking whether changes are required.
owl:DeprecatedClass and owl:DeprecatedProperty Deprecation is a feature commonly used in versioning software (for example, see the Java programming language) to indicate that a particular feature is preserved for backward-compatibility purposes, but may be phased out in the future. Here, a specific identifier is said to be of type owl:DeprecatedClass or owl:DeprecatedProperty, where owl:DeprecatedClass is a subclass of rdfs:Class and owl:DeprecatedProperty is a subclass of rdf:Property. By deprecating a term, it means that the term should not be used in new documents that commit to the ontology. This allows an ontology to maintain backward-compatibility while phasing out an old vocabulary (thus, it only makes sense to use deprecation in combination with backward compatibility). As a result, it is easier for old data and applications to migrate to a new version, and thus can increase the level of adoption of the new version. This has no meaning in the model theoretic semantics other than that given by the RDF(S) model theory. However, authoring tools may use it to warn users when checking OWL markup.

Life cycle of ontology evolution (change)

  • The following change processes of ontology need to be performed (manually for now): [3]
    • change representation: "the necessary changes have to be identified and represented." [3]
    • semantics of change: "changes to an ontology can induce inconsistencies in other parts of the ontology or to other depending artifacts. The task of this phase is to solve these inconsistencies by requesting new deduced changes.[3]
    • Change propagation: "the task of this phase is to bring all dependent artifacts in a consistent state by propagating changes to these depending artifacts".[3]
    • Change implementation: "this phase is used to inform an ontology engineer about all the consequences of a change request, to apply all requested and deduced changes and to keep track of all these applied changes in an evolution log"[3]
    • change announcement: this phase is to announce that ontology would be updated to users
    • change release": this phase is to release the updated ontology in public.
    • update on related applications: this phase is to update applications related to the ontology.

List of operation on change at ontology/class/property/individual level

  • Note that it is just a draft. The list would be a subject under change.

1. operations at ontology level

subject predicate object comments
ontology owl:versionInfo string
ontology owl:priorVersion ontology
ontology validSince Date
ontology validUntil Date
ontology dcterms: modified Date
ontology addClass class
ontology owl:DeprecatedClass class
ontology addPorperty class
ontology owl:DeprecatedProperty class
ontology addIndividual class
ontology DeprecatedIndividual class

2. operations at class level

subject predicate object comments
class addSuperclass class
class removeSuperclass class
class modifySuperClass class
class addRestriction Restriction
class removeRestriction Restriction
class modifyRestriction Restriction
class addDomain class
class removeDomain class
class modifyDomain class

3. operations at property level

subject predicate object comments
property addSuperproperty class
property removeproperty class
property modifySproperty class
property addRestriction Restriction
property removeRestriction Restriction
property modifyRestriction Restriction
property addDomain class
property removeDomain class
property modifyDomain class
property addRange class
property removeRange class
property modifyRange class

3. operations at Individual level

subject predicate object comments
individual addParent class
individual removePreant class
individual modifyParent class

Implementation on geopolitical ontology

  • All verisoning-related change would be implemented annotation properties, which is located inside "owl:Ontology>header.
example - adding source descriptions (version 1.1)
<owl:Ontology rdf:about="http://aims.fao.org/aos/geopolitical.owl">
  <owl:versionInfo> xml:lang="en">version 1.1</owl:versionInfo>
  <owl:priorVersion> http://aims.fao.org/aos/geopolitical_v1.owl  </owl:priorVersion >
  <owl:backwardCompatibleWith> http://aims.fao.org/aos/geopolitical_v1.owl  <owl:backwardCompatibleWith>
  <dcterms:modified>2010-07-10</dcterms:modified>
  <versionAddAnnotationProperty>sourceCreator</versionAddAnnotationProperty>
  <versionAddAnnotationProperty>sourceIdentifier</versionAddAnnotationProperty>
  <versionAddAnnotationProperty>sourceModified</versionAddAnnotationProperty>
  <versionAddAnnotationProperty>http://purl.org/dc/elements/1.1/description</versionAddAnnotationProperty>
  <versionAddAnnotationProperty>http://purl.org/dc/elements/1.1/source</versionAddAnnotationProperty>
  <versionAddAnnotationProperty>http://purl.org/dc/terms/modified</versionAddAnnotationProperty>
  <versionValidSince>2010-07-01</versionValidSince>
  <versionValidUntil>9999-12-31</versionValidUntil>

</owl:Ontology>

<owl:AnnotationProperty rdf:about="http://aims.fao.org/aos/geopolitical.owl#versionValidSince">
<rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"> This "versionValidSince" annoatation property is 
 implemented for ontology versioning.
 The value of the datatype property *versionValidSince* indicates
  the particular version's first date of validity. <rdfs:comment> 
</owl:AnnotationProperty>
<owl:AnnotationProperty rdf:about="http://aims.fao.org/aos/geopolitical.owl#versionValidUntil"> 
 <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">This "versionValidUntil" annoatation property 
 is implemented for ontology versioning.
The value of the property *versionValidUntil* indicates 
 the particular version's last date of validity. <rdfs:comment> 
</owl:AnnotationProperty>
<owl:AnnotationProperty rdf:about="http://aims.fao.org/aos/geopolitical.owl#versionAddAnnotationProperty">
 <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">This "versionAddAnnotationProperty" annoatation property is   
 implemented for ontology versioning.
 The value of the property *versionAddAnnotationProperty* indicates 
 the particular annotation property added in this version<rdfs:comment> 
</owl:AnnotationProperty>
 ................

discussion

References


Wikimedia Foundation. 2010.

Игры ⚽ Нужно решить контрольную?

Look at other dictionaries:

  • Document management system — A document management system (DMS) is a computer system (or set of computer programs) used to track and store electronic documents and/or images of paper documents. It is usually also capable of keeping track of the different versions created by… …   Wikipedia

  • Semantic wiki — A semantic wiki is a wiki that has an underlying model of the knowledge described in its pages. Regular, or syntactic, wikis have structured text and untyped hyperlinks. Semantic wikis, on the other hand, provide the ability to capture or… …   Wikipedia

  • Comparison of wiki software — The following tables compare general and technical information for a number of wiki software packages. Contents 1 General information 2 Target audience 3 Features 1 4 Features 2 …   Wikipedia

  • Knowledge Science — is the discipline of understanding the mechanics through which humans and software based machines know, learn, change, and adapt their own behaviors. Throughout recorded history, knowledge has been made explicit through symbols, text and graphics …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”