- From: Martin Hepp <mfhepp@gmail.com>
- Date: Tue, 22 Nov 2016 15:31:31 +0100
- To: Alex Prut <mail@alexprut.com>
- Cc: public-schemaorg@w3.org
Hi Alex: This is because the semantics of RDFS domain and range constructs *imply* additional type membership instead of *constraining* the applicability of a property to a class or value. With RDFS semantics, a domain spec like so foo:schoolAttended rdfs:domain foo:Human. in combination with the statement foo:myDog a foo:Dog ; foo:schoolAttended "ACME High School". implies that foo:myDog a foo:Human instead of throwing a constraint violation error. Also, if a property had multiple classes as its range or domain, you have to create many useless complex classes in order to avoid unintended type membership inferences: In RDFS, a domain spec like so foo:yearOfBirth rdfs:domain foo:Human, foo:Dog. in combination with the statement foo:myDog a foo:Dog ; foo:yearOfBirth 1971. implies that your dog is a dog and a human: foo:myDog a foo:Human, foo:Dog. i.e. the intersection of being a dog and human, whatever that is. The only way to avoid this are complex class definitions, like so: foo:yearOfBirth rdfs:domain [ a owl:Class; owl:unionOf (foo:Human, foo:Dog) ]. which will create many, many of those useless classes in the ontology because of combinatorial effects. Martin ----------------------------------- martin hepp http://www.heppnetz.de mhepp@computer.org @mfhepp > On 21 Nov 2016, at 16:39, Alex Prut <mail@alexprut.com> wrote: > > Hello all, > I'm looking at the schema.org raw ontology implementation and documentation, but I can’t find a reason why the ontology was implemented using the schema:domainIncludes and schema:rangeIncludes properties, instead of the standard RDFs rdfs:domain and rdfs:range? > Thanks, > Alexandru Pruteanu (M.Sc. in Computer Science at University of Udine) > mail@alexprut.com > ----------------------------------- martin hepp http://www.heppnetz.de mhepp@computer.org @mfhepp
Received on Tuesday, 22 November 2016 14:32:06 UTC