Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ontology compliance tests #1

Open
cstockloew opened this issue Mar 20, 2017 · 1 comment
Open

Ontology compliance tests #1

cstockloew opened this issue Mar 20, 2017 · 1 comment

Comments

@cstockloew
Copy link
Member

Based on this discussion, extend the LogMonitor (which probably migrates to be uCC, or a part of it) with capabilities to test ontologies and provide a more detailled report on compliance with uaal realization and modelling errors.

This thread is meant to create a "wishlist" for the functionality that is to be implemented.

@cstockloew
Copy link
Member Author

Tests that are already done and logged when registering an ontology:

For the ontology:

  • Duplicate factory index: 2 non-abstract classes have the same factory index

For each ontology class:

  • Unqualified URI: an ontology class has an unqualified URI (e.g. an anonymous URI)
  • Missing factory: a non-abstract class does not define a factory
  • Missing factory result: calling the factory with the info provided for a class does not return an instance of the class (the factory returned null)
  • Factory returned non-ManagedIndividual: a non-abstract class is registered as an ontology class (OWL), but the factory does not return a subclass of ManagedIndividual. All OWL classes must be a subclass of ManagedIndividual.
  • Wrong class URI: a non-abstract class does not return the URI that was used for registration. Please check that the method "getClassURI()" is overwritten and matches the URI you specify as parameter to creator methods like createNewOntClassInfo(). The factory could also be the source of this error: please check that the factoryIndex is correct.
  • No super class: a non-abstract class does not have a super class defined
  • Unregistered super class: a non-abstract class has a super class from Java inheritance that is not registered as a class in Ontology Management (or the super class is a non-abstract class that is registered as an abstract ontology class)
  • Undefined super class: a non-abstract class has a super class from Java inheritance that is registered in Ontology Management but this class is not defined as a super class of this class (neither directly nor indirectly)
  • Wrong serialization type: a non-abstract sub class of Service (from service bus) does not return Resource.PROP_SERIALIZATION_FULL as serialization type for a property used by the service bus. Please check the method getPropSerializationType(String propURI) of that class; this might cause an incomplete serialization result.

For each property of an ontology class:

  • Undefined serialization type: the property returns as serialization type for a declared property. Is this intended? If not, please check the method getPropSerializationType(String propURI); this might cause an incomplete serialization result.
  • Wrong property definition: the property is defined as either ObjectProperty or DatatypeProperty but there is an AllValuesFromRestriction defined which indicate otherwise. For example, there is an AllValuesFromRestriction for Integer defined for an ObjectProperty.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant