2

I am working on an ontology for video games for an university course project, specifically focused on the relations between different genres. I have included this ontology in my project and expanded on it. The current state of the OWL document is here.

When I start the HermiT reasoner in Protégé, it states that Game is Equivalent To Genre with the explanations:

Game Equivalent To Genre explanation

Furthermore, it states that owl:Thing is Equivalent To Game and equivalent to Genre with the following explanations (respectively):

owl:Thing Equivalent To Game explanation

owl:Thing Equivalent To Genre explanation

As you may suppose, this is definitely not a result that I expected. I have tried setting Game Disjoint With Genre, but the reasoner then states that the ontology is inconsistent. The explanation it gives is the same as the explanation for Game Equivalent To Genre but with the added Disjoint With restriction in each explanation.

This is my first time working with something like this, so I would be grateful if someone can explain to me the fallacy in my logic. What causes this behavior, why, and how can I fix it?

In addition, here is the code of the two object properties that seem to cause the trouble (the rest can be found here):

###  http://example.org/VideoGameOntologyExtended#hasElementsOf
:hasElementsOf rdf:type owl:ObjectProperty ,
                        owl:ReflexiveProperty ;
               rdfs:domain vgo:Genre ;
               rdfs:range vgo:Genre .

###  http://example.org/VideoGameOntologyExtended#isSimilarTo
:isSimilarTo rdf:type owl:ObjectProperty ,
                      owl:SymmetricProperty ,
                      owl:ReflexiveProperty ;
             rdfs:domain vgo:Game ;
             rdfs:range vgo:Game .
5ar
  • 2,069
  • 10
  • 27
  • Isn't this obvious? I mean, in all explanations the reflexivity axioms occur. Do you really need the reflexivity? To understand the entailment better, `p` beeing reflexive is a shortcut for `owl:Thing SubClassOf p some Self` and the range `C` of `p` means `owl:Thing SubClassOf p only C` – UninformedUser Feb 12 '18 at 04:38
  • The project assignment states that I have to have at least one example of using `owl:ReflexiveProperty`. The course materials do not explain the property, and the course primarily deals with databases and not semantic web. The definitions I found online gave me the impression that a reflexive property just means that an instance of a class that has that property (i.e. class that is the domain of the property), automatically has itself "on both sides" of the property. – 5ar Feb 12 '18 at 11:46
  • 1
    Please read the [documentation](https://www.w3.org/TR/owl2-syntax/#Reflexive_Object_Properties) then – UninformedUser Feb 12 '18 at 11:49

1 Answers1

3

Just to give you a hint for the entailment owl:Thing EquivalentTo Game:

We have

Reflexive: isSimilarTo

which is equivalent to

owl:Thing SubClassOf isSimilarTo some Self

which in fact means each individual in your ontology is related to itself via the property isSimilarTo, i.e. for each individual x in your ontology we can entail

isSimilarTo(x, x)

In addition, we have

isSimilarTo Range Game

which is semantically equivalent to the axiom

owl:Thing SubClassOf isSimilarTo only Game

This means, if there is such a relation isSimilarTo(x, y), the object y will belong to class Game.

Now, remember that we already said that every individual in the ontology has such a relation, just to itself. Thus, we can infer that each individual belongs to class Game.

UninformedUser
  • 8,397
  • 1
  • 14
  • 23
  • so, if I understand correctly, if I want to use `owl:ReflexiveProperty` I should not define the domain and range of `isSimilarTo`, otherwise that class will be equivalent to `owl:Thing`, because domain and range are not restrictions on a property, but used as assertions that any individual on the domain or range side of a property is an instance of the class defined as domain or range, and reflexivity implies that a relation of an individual to itself exists for all individuals (regardless of type)? – 5ar Feb 12 '18 at 12:00
  • 2
    That is correct. And don't worry, *domain* and *range* are quite often misunderstood in the OWL context. And yes, using `Reflexive: p` means *global reflexivity*, that is, the property holds for all individuals – UninformedUser Feb 12 '18 at 14:12
  • Thank you, things make a lot more sense now :) I suppose then that properties cannot be restricted to be used only by certain classes in any way? – 5ar Feb 12 '18 at 14:20
  • Not really, OWL is more about inferring statements or in the worst case, as you already discovered, inconsistency. In contrast to databases, in OWL you'' also have to live with the *Open World Assumption*, i.e. missing information can't be considered as *false*. There are some initiatives/languages on top of RDF like SHACL to define proper constraints. Maybe you can have a look at those. – UninformedUser Feb 12 '18 at 14:32