Ontology Evaluation

Analysis made with OOPS!



    Error 1

  • Results for P40: Namespace hijacking. 1 case | Critical.
  • Critical: it refers to reusing or referring to terms from another namespace that are not defined in such namespace. This is an undesirable situation as no information can be retrieved when looking up those undefined terms. This pitfall is related to the Linked Data publishing guidelines provided in [11]: "Only define new terms in a namespace that you control" and to the guidelines provided in [5].
  • This pitfall appears in the following elements.
  • Explanation and solution:

  • This problem was caused because of a typo in our RDF (laber instead of label).


    Error 2

  • Results for P10: Missing disjointness.ontology* | Important Important.
  • The ontology lacks disjoint axioms between classes or between properties that should be defined as disjoint. This pitfall is related with the guidelines provided in [6], [2] and [7].
  • *This pitfall applies to the ontology in general instead of specific elements.
  • Explanation and solution:

  • Some of our classes shared individuals between them so we added the owl:disjointWith axiom to ensure that no individual can be a member of both classes at the same time.


    Error 3

  • Results for P06: Including cycles in a class hierarchy.8 cases | Critical Critical.
  • A cycle between two classes in a hierarchy is included in the ontology. A cycle appears when some class A has a subclass (directly or indirectly) B, and at the same time B is a superclass (directly or indirectly) of A. This pitfall was first identified in [3]. Guidelines presented in [2] also provide recommendations to avoid this pitfall.
  • The following classes are inolved in a cycle:
  • https://catcherRye.github.io/catcherRye.owl#ContainerExpressions,
  • https://catcherRye.github.io/catcherRye.owl#AbsoluteLocationExpressions.
  • https://catcherRye.github.io/catcherRye.owl#ExpressionOfPlace,
  • https://catcherRye.github.io/catcherRye.owl#DirectionalExpressions.
  • https://catcherRye.github.io/catcherRye.owl#ExpressionOfPlace,
  • https://catcherRye.github.io/catcherRye.owl#GeographicExpressions.
  • https://catcherRye.github.io/catcherRye.owl#ExpressionOfPlace,
  • https://catcherRye.github.io/catcherRye.owl#RoomExpressions.
  • https://catcherRye.github.io/catcherRye.owl#ExpressionOfPlace,
  • https://catcherRye.github.io/catcherRye.owl#RelativeLocationExpressions.
  • https://catcherRye.github.io/catcherRye.owl#ExpressionOfPlace,
  • https://catcherRye.github.io/catcherRye.owl#BuildingExpressions.
  • https://catcherRye.github.io/catcherRye.owl#ExpressionOfPlace,
  • https://catcherRye.github.io/catcherRye.owl#CityExpressions.
  • Explanation and solution:

  • In our code, catcherRye:ExpressionOfPlace was defined as a subclass of multiple classes at once, which caused the issue.
  • What we did was to create a new class, catcherRye:LocationExpressions, as a subclass of catcherRye:ExpressionOfPlace, so the other classes, such as catcherRye:GeographicExpressions, catcherRye:CityExpressions, and so on, were now subclasses of catcherRye:LocationExpressions.


    Error 4

  • Results for P11: Missing domain or range in properties.16 cases | Important Important
  • Object and/or datatype properties without domain or range (or none of them) are included in the ontology.
  • This pitfall appears in the following elements:
  • https://catcherRye.github.io/catcherRye.owl#hasShape
  • https://catcherRye.github.io/catcherRye.owl#hasQuality
  • https://catcherRye.github.io/catcherRye.owl#hasAge
  • https://catcherRye.github.io/catcherRye.owl#hasAdjectiveSize
  • https://catcherRye.github.io/catcherRye.owl#hasAdjectiveSize
  • https://catcherRye.github.io/catcherRye.owl#hasQuantity
  • https://catcherRye.github.io/catcherRye.owl#hasSpatialRelation
  • https://catcherRye.github.io/catcherRye.owl#hasComparison
  • https://catcherRye.github.io/catcherRye.owl#hasColor
  • https://catcherRye.github.io/catcherRye.owl#hasManner
  • https://catcherRye.github.io/catcherRye.owl#hasIntensity
  • https://catcherRye.github.io/catcherRye.owl#hasOtherProperty
  • https://catcherRye.github.io/catcherRye.owl#hasOpinion
  • https://catcherRye.github.io/catcherRye.owl#hasLatitude
  • https://catcherRye.github.io/catcherRye.owl#hasLongitude
  • https://catcherRye.github.io/catcherRye.owl#hasAltitude
  • *Tip: Solving this pitfall may lead to new results for other pitfalls and suggestions. We encourage you to solve all cases when needed and see what else you can get from OOPS!.
  • Explanation and solution:

  • Some properties of our anthology were missing Domain and Range. At the end we deleted these properties because they keep giving errors. The ontology was too big so we tried to simplify it.


    Error 5

  • An ontology element is used as a class without having been explicitly declared as such using the primitives owl:Class or rdfs:Class. This pitfall is related with the common problems listed in [8].
  • This pitfall appears in the following elements:
  • https://catcherRye.github.io/catcherRye.owl#PeriodExpressions
  • https://catcherRye.github.io/catcherRye.owl#DirectObject
  • https://catcherRye.github.io/catcherRye.owl#ReferenceOrigin
  • https://catcherRye.github.io/catcherRye.owl#EmotionType
  • https://catcherRye.github.io/catcherRye.owl#ExperienceType
  • https://catcherRye.github.io/catcherRye.owl#NameOrigin
  • https://catcherRye.github.io/catcherRye.owl#ExperienceDomain
  • https://catcherRye.github.io/catcherRye.owl#PhysicalStateSeverity
  • https://catcherRye.github.io/catcherRye.owl#MealTimeExpressions
  • https://catcherRye.github.io/catcherRye.owl#ReferenceType
  • https://catcherRye.github.io/catcherRye.owl#WeekdayExpressions
  • https://catcherRye.github.io/catcherRye.owl#SeasonExpressions
  • https://catcherRye.github.io/catcherRye.owl#PhysicalStateType
  • https://catcherRye.github.io/catcherRye.owl#EntityType
  • https://catcherRye.github.io/catcherRye.owl#MonthExpressions
  • https://catcherRye.github.io/catcherRye.owl#OrganizationIndustry
  • https://catcherRye.github.io/catcherRye.owl#OrganizationType
  • Explanation and solution:

  • The issue was that several ontology elements were being used as classes without being explicitly declared as such using owl:Class or rdfs:Class. After declaring them it was solved.


    Error 6

  • This pitfall appears when any relationship (except for those that are defined as symmetric properties using owl:SymmetricProperty) does not have an inverse relationship (owl:inverseOf) defined within the ontology.
  • This pitfall appears in the following elements:
  • This pitfall appears in the following elements:
  • https://catcherRye.github.io/catcherRye.owl#hasOpinion
  • https://catcherRye.github.io/catcherRye.owl#hasOrganizationIndustry
  • https://catcherRye.github.io/catcherRye.owl#isContainedIn
  • https://catcherRye.github.io/catcherRye.owl#hasOtherProperty
  • https://catcherRye.github.io/catcherRye.owl#hasIntensity
  • https://catcherRye.github.io/catcherRye.owl#contains
  • https://catcherRye.github.io/catcherRye.owl#isLocatedInCity
  • https://catcherRye.github.io/catcherRye.owl#hasEntityType
  • https://catcherRye.github.io/catcherRye.owl#isPartOfBuilding
  • https://catcherRye.github.io/catcherRye.owl#hasOrganizationType
  • https://catcherRye.github.io/catcherRye.owl#hasManner
  • https://catcherRye.github.io/catcherRye.owl#hasColor
  • https://catcherRye.github.io/catcherRye.owl#hasDirectObject
  • https://catcherRye.github.io/catcherRye.owl#hasExperienceType
  • https://catcherRye.github.io/catcherRye.owl#hasReferenceOrigin
  • https://catcherRye.github.io/catcherRye.owl#hasSpatialRelation
  • https://catcherRye.github.io/catcherRye.owl#hasComparison
  • https://catcherRye.github.io/catcherRye.owl#hasMaterial
  • https://catcherRye.github.io/catcherRye.owl#isLocatedInCountry
  • https://catcherRye.github.io/catcherRye.owl#hasEmotionType
  • https://catcherRye.github.io/catcherRye.owl#hasQuantity
  • https://catcherRye.github.io/catcherRye.owl#hasDestination
  • https://catcherRye.github.io/catcherRye.owl#isRelativeTo
  • https://catcherRye.github.io/catcherRye.owl#isLocatedInState
  • https://catcherRye.github.io/catcherRye.owl#hasNameOrigin
  • https://catcherRye.github.io/catcherRye.owl#hasExpression
  • https://catcherRye.github.io/catcherRye.owl#hasReferenceType
  • https://catcherRye.github.io/catcherRye.owl#hasAdjectiveSize
  • https://catcherRye.github.io/catcherRye.owl#hasMeansOfTransportation
  • https://catcherRye.github.io/catcherRye.owl#hasOrigin
  • https://catcherRye.github.io/catcherRye.owl#hasExperienceDomain
  • https://catcherRye.github.io/catcherRye.owl#hasPhysicalStateType
  • https://catcherRye.github.io/catcherRye.owl#hasPhysicalStateSeverity
  • https://catcherRye.github.io/catcherRye.owl#hasQuality
  • https://catcherRye.github.io/catcherRye.owl#hasShape
  • Explanation and solution:

  • As with the example above, we deleted some classes and properties for sake of simplification of an overly large resulting ontology.