W3C home > Mailing lists > Public > semantic-web@w3.org > February 2016

Handling multiple rdfs:ranges

From: Ross Horne <ross.horne@gmail.com>
Date: Tue, 23 Feb 2016 10:36:23 +0800
Message-ID: <CAHBrK_ibWx6AvbdWxmdphwMzfiyy-ZqatfrwTWRovQeCRg9GnA@mail.gmail.com>
To: Semantic Web <semantic-web@w3.org>
Cc: Pat Hayes <phayes@ihmc.us>
Hi All,

I'm wondering if many people here use multiple rdfs:domain/rdfs:range
properties in RDF Schema?

The RDF Schema spec is clearly worded: "Where P has more than one
rdfs:range property, then the resources denoted by the objects of triples
with predicate P are instances of *all* the classes stated by the
rdfs:range properties." [similarly for rdfs:domain]

However, this doesn't quite match the usage of multiple
rdfs:domain/rdfs:range properties in several popular datasets.

For example, in Bioportal, the property bpo:has_event has three classes
indicated as its domain: bpo:person, bpo:event and bpo:disease_or_disorder.
Following the wording of the spec, it would appear that any resource that
appears in the subject position of a triple with property bpo:has_event is
an instance of all three types bpo:person, bpo:event and
bpo:disease_or_disorder. However, common sense says that the resource
cannot simultaneously be a person, event and disease.

Elsewhere, the provenance ontology avoids the problem by explicitly using
owl:unionOf. For example, prov:wasInfluencedBy has rdfs:range such that it
is the owl:unionOf the classes prov:Activity, prov:Agent and prov:Entity.
DBpedia avoids the problem entirely, since I cannot find any multiple
rdfs:domain/rdfs:range properties in their ontologies.

The interpretation of multiple rdfs:range properties in the above datasets,
either implicitly or explicitly imply an alternative spec such as:

  "Where P has more than one rdfs:range property, then the resources
denoted by the objects of triples with predicate P are instances of *some*
class stated by the rdfs:range properties."

I'm wondering whether anyone else has observed this mismatch between the
spec and real world datasets; and what the official line would be on
avoiding this conflict?

Regards,

Ross


Note I'm using the following prefixes in examples:
bpo: <http://www.semanticweb.org/ontologies/2010/10/BPO.owl#>
prov: <http://www.w3.org/ns/prov#>
rdfs: <http://www.w3.org/2000/01/rdf-schema#>
Received on Tuesday, 23 February 2016 02:36:53 UTC

This archive was generated by hypermail 2.4.0 : Tuesday, 5 July 2022 08:45:44 UTC