W3C home > Mailing lists > Public > public-schemaorg@w3.org > November 2016

RE: rdfs:domain and refs:range in schema.org

From: Parmelee, Mary C. <mparmelee@mitre.org>
Date: Tue, 22 Nov 2016 15:30:09 +0000
To: Martin Hepp <mfhepp@gmail.com>, Alex Prut <mail@alexprut.com>
CC: "public-schemaorg@w3.org" <public-schemaorg@w3.org>
Message-ID: <BN6PR09MB144351F4CBA3DF9AD19D1997A3B40@BN6PR09MB1443.namprd09.prod.outlook.com>

FWIW, Top Quadrant has a shared OWL version of schema.org: http://topbraid.org/schema/ that may be helpful to you.

Mary Parmelee

-----Original Message-----
From: Martin Hepp [mailto:mfhepp@gmail.com] 
Sent: Tuesday, November 22, 2016 9:32 AM
To: Alex Prut <mail@alexprut.com>
Cc: public-schemaorg@w3.org
Subject: Re: rdfs:domain and refs:range in schema.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 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 15:37:41 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 17:12:31 UTC