owlcs/argo

Name: argo

Owner: owl.cs code, everything OWL related

Description: Guidelines for automatically recognising and repairing OWL 2 profile violations

Created: 2017-03-29 18:30:36.0

Updated: 2017-03-29 18:30:36.0

Pushed: 2017-03-29 22:09:05.0

Homepage: null

Size: 28

Language: null

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

ARGO ? Guidelines for Automatically recognising and Repairing OWL 2 profile violations

Working draft 29 March 2017

Editors:

Nicolas Matentzoglu, Manchester University

Edit history:

| Version | Date | Contributors | Changes | |—|—|—|—|

| 0.0.1 | 29.03.2017 | Nicolas Matentzoglu | First version: reflecting the state of the OWL API 4.3.1. |

Summary

This document contains the guidelines for recognising and repairing OWL 2 profile violations. The goal is to determine through community discussion what constitutes a profile violation (definition), how to recognise it (recognition) and whether there should be an automated repair strategy (repair). The main purpose of the guidelines is to agree on a standard way on how to (automatically) repair ontologies in a safe way

The basic grouping, using the four main OWL 2 profiles (DL, EL, RL, QL) and general OWL 2 violations, is taken from the current OWL API version and serves to better localise the violations for those interested in one particular profile. It should be noted that, in order to be valid EL, RL and QL, the ontology needs to be valid OWL 2 DL. In order to be valid OWL 2 DL, the ontology needs to be valid OWL 2. We are working closely with the developers of the OWL API in order to provide a consistent and community-accredited implementation of the guidelines.

Basic definitions

| | Specification | |—|—| | O | The ontology under consideration excluding its imports. | | O' | The ontology under consideration including its full imports closure. | | S(O): | The signature of O, i.e. the set of all class names, object property names, data property names and individual names occuring across any logical axiom in O (including declarations). |

| SA(O): | The signature of O, i.e. the set of all class names, object property names, data property names, annotation property names and individual names occuring across any axiom in O. |

General points of discussions

General OWL 2 Violations

Ontology IRI not absolute

| | Specification | |—|—| | Definition: | Tbd. | | Recognition: | Tbd. | | Repair: | Tbd. | | Debate: | Tbd. | | OWL API: | OntologyIRINotAbsolute |

| OWL API Support: | 4.3.1 |
Use of non absolute IRI

| | Specification | |—|—| | Definition: | Tbd. | | Recognition: | Tbd. | | Repair: | Tbd. | | Debate: | Tbd. | | OWL API: | UseOfNonAbsoluteIRI |

| OWL API Support: | 4.3.1 |
Lexical not in lexical space

| | Specification | |—|—| | Definition: | Tbd. | | Recognition: | Tbd. | | Repair: | Tbd. | | Debate: | Tbd. | | OWL API: | LexicalNotInLexicalSpace |

| OWL API Support: | 4.3.1 |
Use of defined datatype in datatype restriction

| | Specification | |—|—| | Definition: | Tbd. | | Recognition: | Tbd. | | Repair: | Tbd. | | Debate: | Tbd. | | OWL API: | UseOfDefinedDatatypeInDatatypeRestriction |

| OWL API Support: | 4.3.1 |
Use of illegal facet restriction

| | Specification | |—|—| | Definition: | Tbd. | | Recognition: | Tbd. | | Repair: | Tbd. | | Debate: | Tbd. | | OWL API: | UseOfIllegalFacetRestriction |

| OWL API Support: | 4.3.1 |
Use of undeclared datatype

| | Specification | |—|—| | Definition: | Tbd. | | Recognition: | Tbd. | | Repair: | Tbd. | | Debate: | Tbd. | | OWL API: | UseOfUndeclaredDatatype |

| OWL API Support: | 4.3.1 |

OWL 2 DL Violations

Declaration Failure
Use of undeclared class

| | Specification | |—|—| | Definition: | A class name A from S(O') has been used as part of an OWL axiom in O' but is neither built-in vocabulary nor has been declared. | | Recognition: | Given a class A in S(O'), A is considered undeclared if it is not built-in vocabulary and there exists no declaration axiom Declaration(A). | | Repair: | Inject a class declaration axiom into the ontology. | | Debate: | Entity names in annotations? | | OWL API: | UseOfUndeclaredClass |

| OWL API Support: | 4.3.1 |
Use of undeclared object property

| | Specification | |—|—| | Definition: | An object property name P from S(O') has been used as part of an OWL axiom in O' but is neither built-in vocabulary nor has been declared. | | Recognition: | Given an object property P in S(O'), P is considered undeclared if it is not built-in vocabulary and there exists no declaration axiom Declaration(P). | | Repair: | Inject an object property declaration axiom into the ontology. | | Debate: | See use of undeclared class | | OWL API: | UseOfUndeclaredObjectProperty |

| OWL API Support: | 4.3.1 |
Use of undeclared data property

| | Specification | |—|—| | Definition: | A data property name P from S(O') has been used as part of an OWL axiom in O' but is neither built-in vocabulary nor has been declared. | | Recognition: | Given a data property P in S(O'), P is considered undeclared if it is not built-in vocabulary and there exists no declaration axiom Declaration(P). | | Repair: | Inject an data property declaration axiom into the ontology. | | Debate: | See use of undeclared class | | OWL API: | UseOfUndeclaredDataProperty |

| OWL API Support: | 4.3.1 |
Use of undeclared annotation property

| | Specification | |—|—| | Definition: | An annotation property name P from S(O') has been used as part of an OWL axiom in O' but is neither built-in vocabulary nor has been declared. | | Recognition: | Given an annotation property P in S(O'), P is considered undeclared if it is not built-in vocabulary and there exists no declaration axiom Declaration(P). | | Repair: | Inject an annotation property declaration axiom into the ontology. | | Debate: | See use of undeclared class | | OWL API: | UseOfUndeclaredAnnotationProperty |

| OWL API Support: | 4.3.1 |
Use of undeclared data type

| | Specification | |—|—| | Definition: | A datatype has been used as part of an OWL axiom in O' but is neither built-in vocabulary, nor the top datatype, nor has been declared. | | Recognition: | Given a datatype DT used in an axiom in O, DT is considered undeclared if it is not built-in vocabulary, not the top datatype, and there exists no declaration axiom Declaration(P). | | Repair: | Inject an annotation property declaration axiom into the ontology. | | Debate: | See use of undeclared class | | OWL API: | UseOfUndeclaredDatatype |

| OWL API Support: | 4.3.1 |
Misuse of reserved vocabulary
Use of reserved vocabulary for ontology IRI

| | Specification | |—|—| | Definition: | Tbd. | | Recognition: | Tbd. | | Repair: | Tbd. | | Debate: | Tbd. | | OWL API: | UseOfReservedVocabularyForOntologyIRI |

| OWL API Support: | 4.3.1 |
Use of reserved vocabulary for version IRI

| | Specification | |—|—| | Definition: | Tbd. | | Recognition: | Tbd. | | Repair: | Tbd. | | Debate: | Tbd. | | OWL API: | UseOfReservedVocabularyForVersionIRI |

| OWL API Support: | 4.3.1 |
UseOfReservedVocabularyForClassIRI

| | Specification | |—|—| | Definition: | Tbd. | | Recognition: | Tbd. | | Repair: | Tbd. | | Debate: | Tbd. | | OWL API: | UseOfReservedVocabularyForClassIRI |

| OWL API Support: | 4.3.1 |
UseOfReservedVocabularyForObjectPropertyIRI

| | Specification | |—|—| | Definition: | Tbd. | | Recognition: | Tbd. | | Repair: | Tbd. | | Debate: | Tbd. | | OWL API: | UseOfReservedVocabularyForObjectPropertyIRI |

| OWL API Support: | 4.3.1 |
UseOfReservedVocabularyForDataPropertyIRI

| | Specification | |—|—| | Definition: | Tbd. | | Recognition: | Tbd. | | Repair: | Tbd. | | Debate: | Tbd. | | OWL API: | UseOfReservedVocabularyForDataPropertyIRI |

| OWL API Support: | 4.3.1 |
UseOfReservedVocabularyForAnnotationPropertyIRI

| | Specification | |—|—| | Definition: | Tbd. | | Recognition: | Tbd. | | Repair: | Tbd. | | Debate: | Tbd. | | OWL API: | UseOfReservedVocabularyForAnnotationPropertyIRI |

| OWL API Support: | 4.3.1 |
UseOfBuiltInDatatypeInDatatypeDefinition

| | Specification | |—|—| | Definition: | Tbd. | | Recognition: | Tbd. | | Repair: | Tbd. | | Debate: | Tbd. | | OWL API: | UseOfBuiltInDatatypeInDatatypeDefinition |

| OWL API Support: | 4.3.1 |
UseOfReservedVocabularyForIndividualIRI

| | Specification | |—|—| | Definition: | Tbd. | | Recognition: | Tbd. | | Repair: | Tbd. | | Debate: | Tbd. | | OWL API: | UseOfReservedVocabularyForIndividualIRI |

| OWL API Support: | 4.3.1 |
Inherent Violation of OWL DL Profile
UseOfUnknownDatatype

| | Specification | |—|—| | Definition: | Tbd. | | Recognition: | Tbd. | | Repair: | Tbd. | | Debate: | Tbd. | | OWL API: | UseOfUnknownDatatype |

| OWL API Support: | 4.3.1 |
DatatypeIRIAlsoUsedAsClassIRI

| | Specification | |—|—| | Definition: | Tbd. | | Recognition: | Tbd. | | Repair: | Tbd. | | Debate: | Tbd. | | OWL API: | DatatypeIRIAlsoUsedAsClassIRI |

| OWL API Support: | 4.3.1 |
DatatypeIRIAlsoUsedAsClassIRI

| | Specification | |—|—| | Definition: | Tbd. | | Recognition: | Tbd. | | Repair: | Tbd. | | Debate: | Tbd. | | OWL API: | DatatypeIRIAlsoUsedAsClassIRI |

| OWL API Support: | 4.3.1 |
CycleInDatatypeDefinition

| | Specification | |—|—| | Definition: | Tbd. | | Recognition: | Tbd. | | Repair: | Tbd. | | Debate: | Tbd. | | OWL API: | CycleInDatatypeDefinition |

| OWL API Support: | 4.3.1 |
IllegalPunning

| | Specification | |—|—| | Definition: | Tbd. | | Recognition: | Tbd. | | Repair: | Tbd. | | Debate: | Tbd. | | OWL API: | IllegalPunning |

| OWL API Support: | 4.3.1 |
UseOfTopDataPropertyAsSubPropertyInSubPropertyAxiom

| | Specification | |—|—| | Definition: | Tbd. | | Recognition: | Tbd. | | Repair: | Tbd. | | Debate: | Tbd. | | OWL API: | UseOfTopDataPropertyAsSubPropertyInSubPropertyAxiom |

| OWL API Support: | 4.3.1 |
UseOfNonSimplePropertyInCardinalityRestriction

| | Specification | |—|—| | Definition: | Tbd. | | Recognition: | Tbd. | | Repair: | Tbd. | | Debate: | Tbd. | | OWL API: | UseOfNonSimplePropertyInCardinalityRestriction |

| OWL API Support: | 4.3.1 |
UseOfNonSimplePropertyInObjectHasSelf

| | Specification | |—|—| | Definition: | Tbd. | | Recognition: | Tbd. | | Repair: | Tbd. | | Debate: | Tbd. | | OWL API: | UseOfNonSimplePropertyInObjectHasSelf |

| OWL API Support: | 4.3.1 |
UseOfNonSimplePropertyInFunctionalPropertyAxiom

| | Specification | |—|—| | Definition: | Tbd. | | Recognition: | Tbd. | | Repair: | Tbd. | | Debate: | Tbd. | | OWL API: | UseOfNonSimplePropertyInFunctionalPropertyAxiom |

| OWL API Support: | 4.3.1 |
UseOfNonSimplePropertyInInverseFunctionalObjectPropertyAxiom

| | Specification | |—|—| | Definition: | Tbd. | | Recognition: | Tbd. | | Repair: | Tbd. | | Debate: | Tbd. | | OWL API: | UseOfNonSimplePropertyInInverseFunctionalObjectPropertyAxiom |

| OWL API Support: | 4.3.1 |
UseOfNonSimplePropertyInIrreflexivePropertyAxiom

| | Specification | |—|—| | Definition: | Tbd. | | Recognition: | Tbd. | | Repair: | Tbd. | | Debate: | Tbd. | | OWL API: | UseOfNonSimplePropertyInIrreflexivePropertyAxiom |

| OWL API Support: | 4.3.1 |
UseOfNonSimplePropertyInAsymmetricObjectPropertyAxiom

| | Specification | |—|—| | Definition: | Tbd. | | Recognition: | Tbd. | | Repair: | Tbd. | | Debate: | Tbd. | | OWL API: | UseOfNonSimplePropertyInAsymmetricObjectPropertyAxiom |

| OWL API Support: | 4.3.1 |
UseOfNonSimplePropertyInDisjointPropertiesAxiom

| | Specification | |—|—| | Definition: | Tbd. | | Recognition: | Tbd. | | Repair: | Tbd. | | Debate: | Tbd. | | OWL API: | UseOfNonSimplePropertyInDisjointPropertiesAxiom |

| OWL API Support: | 4.3.1 |
UseOfPropertyInChainCausesCycle

| | Specification | |—|—| | Definition: | Tbd. | | Recognition: | Tbd. | | Repair: | Tbd. | | Debate: | Tbd. | | OWL API: | UseOfPropertyInChainCausesCycle |

| OWL API Support: | 4.3.1 |
Syntax violations
EmptyOneOfAxiom

| | Specification | |—|—| | Definition: | Tbd. | | Recognition: | Tbd. | | Repair: | Tbd. | | Debate: | Tbd. | | OWL API: | EmptyOneOfAxiom |

| OWL API Support: | 4.3.1 |
InsufficientOperands

| | Specification | |—|—| | Definition: | Tbd. | | Recognition: | Tbd. | | Repair: | Tbd. | | Debate: | Tbd. | | OWL API: | InsufficientOperands |

| OWL API Support: | 4.3.1 |
InsufficientPropertyExpressions

| | Specification | |—|—| | Definition: | Tbd. | | Recognition: | Tbd. | | Repair: | Tbd. | | Debate: | Tbd. | | OWL API: | InsufficientPropertyExpressions |

| OWL API Support: | 4.3.1 |
InsufficientIndividuals

| | Specification | |—|—| | Definition: | Tbd. | | Recognition: | Tbd. | | Repair: | Tbd. | | Debate: | Tbd. | | OWL API: | InsufficientIndividuals |

| OWL API Support: | 4.3.1 |

OWL 2 EL Violations

UseOfIllegalDataRange

| | Specification | |—|—| | Definition: | Tbd. | | Recognition: | Tbd. | | Repair: | Tbd. | | Debate: | Tbd. | | OWL API: | UseOfIllegalDataRange |

| OWL API Support: | 4.3.1 |
UseOfAnonymousIndividual

| | Specification | |—|—| | Definition: | Tbd. | | Recognition: | Tbd. | | Repair: | Tbd. | | Debate: | Tbd. | | OWL API: | UseOfAnonymousIndividual |

| OWL API Support: | 4.3.1 |
UseOfObjectPropertyInverse

| | Specification | |—|—| | Definition: | Tbd. | | Recognition: | Tbd. | | Repair: | Tbd. | | Debate: | Tbd. | | OWL API: | UseOfObjectPropertyInverse |

| OWL API Support: | 4.3.1 |
UseOfIllegalClassExpression

| | Specification | |—|—| | Definition: | Tbd. | | Recognition: | Tbd. | | Repair: | Tbd. | | Debate: | Tbd. | | OWL API: | UseOfIllegalClassExpression |

| OWL API Support: | 4.3.1 |
UseOfIllegalDataRange

| | Specification | |—|—| | Definition: | Tbd. | | Recognition: | Tbd. | | Repair: | Tbd. | | Debate: | Tbd. | | OWL API: | UseOfIllegalDataRange |

| OWL API Support: | 4.3.1 |
UseOfIllegalAxiom

| | Specification | |—|—| | Definition: | Tbd. | | Recognition: | Tbd. | | Repair: | Tbd. | | Debate: | Tbd. | | OWL API: | UseOfIllegalAxiom |

| OWL API Support: | 4.3.1 |
UseOfObjectOneOfWithMultipleIndividuals

| | Specification | |—|—| | Definition: | Tbd. | | Recognition: | Tbd. | | Repair: | Tbd. | | Debate: | Tbd. | | OWL API: | OntologyIRINotAbsolute |

| OWL API Support: | 4.3.1 |
UseOfDataOneOfWithMultipleLiterals

| | Specification | |—|—| | Definition: | Tbd. | | Recognition: | Tbd. | | Repair: | Tbd. | | Debate: | Tbd. | | OWL API: | UseOfObjectOneOfWithMultipleIndividuals |

| OWL API Support: | 4.3.1 |
LastPropertyInChainNotInImposedRange

| | Specification | |—|—| | Definition: | Tbd. | | Recognition: | Tbd. | | Repair: | Tbd. | | Debate: | Tbd. | | OWL API: | LastPropertyInChainNotInImposedRange |

| OWL API Support: | 4.3.1 |

OWL 2 RL Violations

UseOfNonSubClassExpression

| | Specification | |—|—| | Definition: | Tbd. | | Recognition: | Tbd. | | Repair: | Tbd. | | Debate: | Tbd. | | OWL API: | UseOfNonSubClassExpression |

| OWL API Support: | 4.3.1 |
UseOfNonSuperClassExpression

| | Specification | |—|—| | Definition: | Tbd. | | Recognition: | Tbd. | | Repair: | Tbd. | | Debate: | Tbd. | | OWL API: | UseOfNonSuperClassExpression |

| OWL API Support: | 4.3.1 |
UseOfIllegalAxiom

| | Specification | |—|—| | Definition: | Tbd. | | Recognition: | Tbd. | | Repair: | Tbd. | | Debate: | Tbd. | | OWL API: | UseOfIllegalAxiom |

| OWL API Support: | 4.3.1 |
UseOfNonEquivalentClassExpression

| | Specification | |—|—| | Definition: | Tbd. | | Recognition: | Tbd. | | Repair: | Tbd. | | Debate: | Tbd. | | OWL API: | UseOfNonEquivalentClassExpression |

| OWL API Support: | 4.3.1 |
UseOfIllegalDataRange

| | Specification | |—|—| | Definition: | Tbd. | | Recognition: | Tbd. | | Repair: | Tbd. | | Debate: | Tbd. | | OWL API: | UseOfIllegalDataRange |

| OWL API Support: | 4.3.1 |

OWL 2 QL Violations

Use of illegal data range

| | Specification | |—|—| | Definition: | Tbd. | | Recognition: | Tbd. | | Repair: | Tbd. | | Debate: | Tbd. | | OWL API: | UseOfIllegalDataRange |

| OWL API Support: | 4.3.1 |
UseOfAnonymousIndividual

| | Specification | |—|—| | Definition: | Tbd. | | Recognition: | Tbd. | | Repair: | Tbd. | | Debate: | Tbd. | | OWL API: | UseOfAnonymousIndividual |

| OWL API Support: | 4.3.1 |
UseOfIllegalAxiom

| | Specification | |—|—| | Definition: | Tbd. | | Recognition: | Tbd. | | Repair: | Tbd. | | Debate: | Tbd. | | OWL API: | UseOfIllegalAxiom |

| OWL API Support: | 4.3.1 |
UseOfIllegalDataRange

| | Specification | |—|—| | Definition: | Tbd. | | Recognition: | Tbd. | | Repair: | Tbd. | | Debate: | Tbd. | | OWL API: | UseOfIllegalDataRange |

| OWL API Support: | 4.3.1 |
UseOfNonSubClassExpression

| | Specification | |—|—| | Definition: | Tbd. | | Recognition: | Tbd. | | Repair: | Tbd. | | Debate: | Tbd. | | OWL API: | UseOfNonSubClassExpression |

| OWL API Support: | 4.3.1 |
UseOfNonSuperClassExpression

| | Specification | |—|—| | Definition: | Tbd. | | Recognition: | Tbd. | | Repair: | Tbd. | | Debate: | Tbd. | | OWL API: | UseOfNonSuperClassExpression |

| OWL API Support: | 4.3.1 |
UseOfNonAtomicClassExpression

| | Specification | |—|—| | Definition: | Tbd. | | Recognition: | Tbd. | | Repair: | Tbd. | | Debate: | Tbd. | | OWL API: | UseOfNonAtomicClassExpression |

| OWL API Support: | 4.3.1 |

This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.