Re: Mistake in the default serialisation of the RDF ontology

The specific quote from "RDF Schema 1.1 - 5.3.3 rdf:predicate
<https://www.w3.org/TR/rdf-schema/#ch_predicate>" I am referring to states
the following:
---
A triple of the form:

S rdf:predicate P

states that S is an instance of rdf:Statement
<https://www.w3.org/TR/rdf-schema/#ch_statement>, that P is an instance of
rdf:Property <https://www.w3.org/TR/rdf-schema/#ch_property> and that the
predicate of S is P.
---

More specifically: "...P is an instance of rdf:Property
<https://www.w3.org/TR/rdf-schema/#ch_property>".
My understanding is that this section describes which statements can be
inferred from one asserted statement of the form "S rdf:predicate P"; one
of which would be "P a rdf:Property"; which I believe means that the range
of rdf:predicate should be rdf:Property (which is not only contrary to
the default
serialisation of the RDF ontology <http://w3.org/1999/02/22-rdf-syntax-ns#>,
but also to the following sentence that you quoted).

I also think that many foolish things can be said and it's a good thing
that, if anything, entailment helps realising how foolish the things said
are.

On 17 Dec 2021, at 10:29, Pierre-Antoine Champin <pierre-antoine@w3.org>
wrote:




On 17/12/2021 00:04, Matthieu Bosquet wrote:

I'm reaching out because I think you might be able to help or point me in
the right direction to fix what I think is a mistake in the default
serialisation of the RDF ontology dereferenceable at http://
w3.org/1999/02/22-rdf-syntax-ns# <https://t.co/2fWsLy0dpC>.

According to RDF Schema 1.1, I think the rdfs:range of rdf:predicate should
be rdf:Property as per https://w3.org/TR/rdf-schema/#ch_predicate
<https://t.co/hN2YnAwnhv>.

The section you are pointing to states

"rdf:predicate is an instance of rdf:Property
<https://www.w3.org/TR/rdf-schema/#ch_property>"

meaning rdf:predicate is *itself* an instance of rdf:Property.
This sentence is not about the values of rdf:predicate...

The same section states, a little below:

"The rdfs:domain <https://www.w3.org/TR/rdf-schema/#ch_domain> of
rdf:predicate is rdf:Statement
<https://www.w3.org/TR/rdf-schema/#ch_statement> and the rdfs:range
<https://www.w3.org/TR/rdf-schema/#ch_range> is rdfs:Resource
<https://www.w3.org/TR/rdf-schema/#ch_resource>."

which is consistent with the RDF description of the RDF vocabulary.

Now, of course, I understand why one would expect the range of
rdf:predicate to be rdf:Property. But I am not sure this would be a good
idea. It would, for example, mean that

:someFool :said [
    a rdf:Statement ;
    rdf:subject rdfs:Class ;
    rdf:predicate rdfs:Class ;
    rdf:object rdfs:Class ;
].

would RDFS-entail

rdfs:Class a rdf:Property.

which does not seem desirable.

  best


The current range is rdfs:Resource in the default serialization at http://
w3.org/1999/02/22-rdf-syntax-ns# <https://t.co/2fWsLy0dpC>.

I know it's non-normative, but it seems like something that could be nice
to fix.

Kind regards,
Matthieu

Received on Friday, 17 December 2021 14:31:44 UTC