0

Whether the Graph DB dataload engine creates additional Triples for the inserted Triples which have OWL Symmetric or Inverse object property in the RDFS model?

Let’s assume the model and individuals given below,

RDFS model:

I have the classes Male and Female, and an object property “hasMarried” with domain as Male and Range as Female. The characteristic of “hasMarried” is set as “Symmetric”.

Triples:

:Male1 rdf:type :Male

:Female1 rdf:type :Female

:Male1 :hasMarried :Female1

Question here is while Inserting the above Triples in Ontotext, would it generate additional triple as follows based on the Model definition for the “Symmetric” object property,

:Female1 :hasMarried :Male1

If the above is not happening, would SPARQL query answer for the following query by inferencing the “Symmetric” object property in the referenced RDFS model?

Select ?s ?o

WHERE { :Female1 :hasMarried ?o }

Expected answer:
:Female1 :Male1

Mara
  • 1
  • 1

2 Answers2

1

Yes this is what you are going to get. Note that you will need the owl horst optimized ruleset when creating the repository(the rdfs ruleset will not be enough).

nikolavp
  • 173
  • 5
0

To the first question: Yes, :Female1 :hasMarried :Male1 would follow.

To the second question: The WHERE clause of your SPARQL query does not contain ?s. For the SPARQL Query Select ?s ?o WHERE { ?s :hasMarried ?o } with enabled reasoning you should get two answers (:Female1, :Male1) and (:Male1, :Female1)

Two remarks:

  1. RDFS does not support "symmetric properties", you'll need OWL for example.
  2. Defining domain and range as you did will also entail the following two triples: :Male1 rdf:type :Female . :Female1 rdf:type :Male

In general it doesn't make much sense to define two different (and possibly disjoint!) properties as domain and range of a symmetric property.