RE: domain for properties in hydra

Hi Kuno

On Tuesday, October 01, 2013 6:08 PM, Kuno Woudt wrote:
> I was looking at the issue tracker example vocabulary [1].
> 
> The vocab:Issue has a bunch of properties linked to it with
> hydra:supportedProperties.
> 
> I expected the rdfs:domain of vocab:Issue/title to be
> hydra:SupportedProperty because of the extra indirection for
> readonly/writeonly properties, but in the vocabulary vocab:Issue/title
> has vocab:Issue as rdfs:domain, is that intentional?
> 
> [1] http://www.markus-lanthaler.com/hydra/api-demo/vocab#

The semantics [1] of RDF Schema [2] are defined as follows:

  aaa rdfs:domain xxx .
  yyy aaa zzz .

  == entails ==> 

  yyy rdf:type xxx .


A bit more concrete this means that if the range would be set to
hydra:SupportedProperty, a RDF reasoner would infer for an entity /entity1
with a vocab:Issue/title property that the type of the entity is
hydra:SupportedProperty:

  vocab:Issue/title rdfs:domain hydra:SupportedProperty .
  /entity1 vocab:Issue/title "Issue title" .

   == entails ==> 

  /entity1 rdf:type hydra:SupportedProperty .


This is clearly not what we want. We want to say that everything that has a
vocab:Issue/title is indeed a vocab:Issue:

  vocab:Issue/title rdfs:domain vocab:Issue .
  /entity1 vocab:Issue/title "Issue title" .

   == entails ==> 

  /entity1 rdf:type vocab:Issue .


RDF with its open world assumption follows a quite different model than most
programming languages. A paper of mine [3] contains a short section about
this in case you wanna read a bit more about it.


Cheers,
Markus
 

[1]
http://www.w3.org/TR/2013/WD-rdf11-mt-20130723/#patterns-of-rdfs-entailment-
informative
[2] http://www.w3.org/TR/rdf-schema/
[3] http://m.lanthi.com/ldow2013-paper


--
Markus Lanthaler
@markuslanthaler

Received on Wednesday, 2 October 2013 18:47:23 UTC