- From: Markus Lanthaler <markus.lanthaler@gmx.net>
- Date: Wed, 2 Oct 2013 20:46:52 +0200
- To: <public-hydra@w3.org>
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