We can use an owl: SameAs between two predicates?

What is the difference between using <DC:title> <owl:SameAs> <NS:title> and <DC:title> <owl:equivalentProperty> <NS:title>

Here NS is some namespace.

+7
source share
3 answers

owl:sameAs is for individuals, owl:equivalentProperty is for RDFS / OWL properties, and owl:equivalentClass is for RDFS / OWL classes.

I assume that you are specifying equivalence between these properties so that you can conclude

 :individual1 ns:title "The Title". 

from an existing operator

 :individual1 dc:title "The Title". 

or vice versa. I have not tried this, but I would suggest that DL-based OWL methods (i.e. most OWL arguments) will only draw the appropriate output if owl:equivalentProperty . On the other hand, if you want to conclude

 :individual2 dc:title "The Title". 

from an existing operator

 :individual1 dc:title "The Title". 

then you should use the owl:sameAs to communicate two persons.

+7
source

Two differences:

First, some OWL developers will object to owl:sameAs between properties, or simply ignore it. They maintain a strong distinction between people and classes / properties.

Secondly (and more importantly) equivalence (e.g. owl:equivalentProperty ) does not match the identifier ( owl:sameAs ). The latter says that we are dealing with the same thing with different names, while the former says that there are two things that have the same extension (i.e. Between the same things).

If this is unclear, here is an example:

 # My book has ns:title "My book" :book ns:title "My book" . # My title property is defined in my vocabulary document ns:title rdfs:isDefinedBy <http://example.com/my-vocab> . 

Using owl:sameAs , my book also has dc:title "My book" and dc:title is defined by my vocabulary document. Unfortunately, DC may not like this.

With owl:equivalentProperty my book also has dc:title "My book" (excellent), but that does not mean that dc:title is defined by a lexicographic document (phew).

+3
source

The short answer is β€œno, don't do it”, as explained in cygris answer . However, there is even more subtlety in the question if you really want to know the consequences of using owl:sameAs VS. owl:equivalentProperty .

Firstly, a slight correction of terms in the question: in RDF, a predicate is what is in the second position of the triple. RDFs cannot refer to positions in triples, so you cannot use a property between two predicates. What the OP definitely implies is "can we use owl:sameAs between two properties." Properties can be identified using IRI, IRI can occur anywhere in the triple, subject and object can be connected using a predicate, and any IRI is allowed in any position of the triple. Thus, syntactically speaking, it is allowed to associate two properties with owl:sameAs .

The question is whether it makes sense to do this and what are the consequences. The problem is that there is something quantum meaning about RDF plots: the value of an RDF plot is a superposition of values, and you only know the observed value when you apply some reasoning in accordance with some formal semantics. RDF 1.1 Semantics defines multiple semantics (the so-called entry modes), but none of them give a specific meaning owl:sameAs , so using RDF (S) reasoning would not bring anything useful. Therefore, if this is the observed meaning of the graph, owl:sameAs between properties is useless.

Real interesting things come up when OWL semantics are applied. But even in OWL there is a duality of meaning with OWL 2 Directed Semantics and OWL 2 RDF-based semantics . Consider an example RDF plot:

 <p> a owl:ObjectProperty; dc:creator "AZ" . <q> a owl:ObjectProperty; dc:date "2016-06-07"^^xsd:date . <r> a owl:ObjectProperty, owl:DeprecatedProperty; dc:date "1981-01-14"^^xsd:date . <s> a owl:ObjectProperty; dc:date "2016-06-07"^^xsd:date . <p> owl:sameAs <q> . <r> owl:equivalentProperty <s> <a> <p> <b> . <c> <r> <d> . 

Let's start with RDF-based semantics. On the one hand, IRI <r> and <s> denote equivalent properties, so we can conclude:

 <c> <s> <d> . 

On the other hand, IRI <p> and <q> call the same resource, so we can conclude that (among other things):

 <q> dc:creator "AZ" . <p> dc:date "2016-06-07"^^xsd:date . <a> <q> <b> . <p> owl:equivalentClass <q> . 

The difference is that everything that is said about <p> is done for <q> , because it is one and the same! In general, different property names refer to different properties because they must be bound to different metadata (e.g. rdfs:isDefinedBy , rdfs:label , rdfs:comment , DC constants).

Now apply direct semantics to them. It fails. Direct semantics do not apply to RDF graphs; they apply to ontologies in the OWL 2 Structural Specification functional style syntax. To interpret an RDF graph in accordance with direct semantics, you must first map the graph to the OWL 2 ontology in functional syntax. This requires that the RDF graph satisfy some constraints in order to be an OWL 2 ontology in the form of RDF.

One obligation is that all people must be explicitly declared members of certain OWL classes. Another requirement is that owl:sameAs can only be applied to individuals. Individuals are not strictly associated with properties, but there is a small trick: an individual name can be the same as a property name (this is called punning ). All properties must be declared as object properties, data type properties, or annotation properties. The name must be given to the ontology along with an expression that explicitly states that it is an ontology. Thus, the version of the RDF graph, which is a valid OWL 2 Ontology form in the RDF form, is as follows:

 <> a owl:Ontology . # Give a name to the ontology and declare it as such dc:creator a owl:AnnotationProperty . # Declare property dc:date a owl:Annotation Property . # Declare property <p> a owl:ObjectProperty; dc:creator "AZ" . <q> a owl:ObjectProperty; dc:date "2016-06-07"^^xsd:date . <r> a owl:ObjectProperty, owl:DeprecatedProperty; dc:date "1981-01-14"^^xsd:date . <s> a owl:ObjectProperty; dc:date "2016-06-07"^^xsd:date . <p> a owl:Thing . # <p> used with owl:sameAs: must be declared as individual <q> a owl:Thing . # <q> used with owl:sameAs: must be declared as individual <a> a owl:Thing . # Declare individual <b> a owl:Thing . # Declare individual <c> a owl:Thing . # Declare individual <d> a owl:Thing . # Declare individual <p> owl:sameAs <q> . <r> owl:equivalentProperty <s> <a> <p> <b> . <c> <r> <d> . 

In this graph, we can apply the direct semantics of OWL 2, with which we can conclude:

 <c> <s> <d> . 

None of the other triples given earlier using RDF-based semantics can be deduced. In particular, the fact that <p> and <q> denotes the same individual does not allow anything to be done about properties with the names <p> and <q> .

Again, in this case, it is usually not recommended to use owl:sameAs .

In conclusion, however, you interpret the RDF plot using owl:sameAs to bind the two properties, probably not a good idea.

0
source

All Articles