- From: Pierre-Antoine Champin <pierre-antoine@w3.org>
- Date: Thu, 18 Apr 2024 01:18:27 +0200
- To: RDF-star WG <public-rdf-star-wg@w3.org>
- Message-ID: <adcc1b15-0492-4e36-9bfa-5eb2bfd5d8b8@w3.org>
Hi all,
after writing my response to Phil [1], which is a refinement of the
arguments I made last Friday [2], I'm more and more convinced that a
reifier should not reify several things, because it would lead to wrong
expectations ("this is similar to a named graph, right?") and
counter-intuitive inferences (again, see my example in [1]).
That being said, I would have this constraint /only/ expressed the
"intended meaning" of the rdf:reifies predicate -- in a way very similar
to rdf:subject, rdf:predicate and rdf:object. Reading the description of
these predicate in [3] strongly hints at the fact that they are supposed
to have only one value each ("[rdf:subject] is used to state *the*
subject of a statement"), but
* it is not enforced syntactically (the following is valid RDF: :t
rdf:object :s1, :s2. ),
* it is not enforced semantically (the example above does not entail :s1
owl:sameAs :s2 ).
The arguments against such an enforcement (syntactic or semantic) have
been largely discussed already, I won't repeat them here.
Finally, I want to emphasize that, although I advocate that a reifier
should reify only one thing, I would like to remain very vague on what
kind of "thing" that is, and how many (syntactically) distinct triples
would actually identity that thing.
For example, from the following graph
:r rdf:reifies
<<( dbr:Linköping dbo:populationTotal 104232 )>>.
it would seem appropriate to infer (under D-entailment where xsd:integer
∈ D)
:r rdf:reifies
<<( dbr:Linköping dbo:populationTotal 104232 )>>,
<<( dbr:Linköping dbo:populationTotal 00104232 )>>.
(I believe that it would be the case with the semantics currently
proposed by Enrico).
From the following graph
:r rdf:reifies
<<( :alice :knows :bob )>>.
:knows a owl:SymetricProperty.
MAYBE it would be appropriate to infer
:r rdf:reifies
<<( :alice :knows :bob )>>,
<<( :bob :knows :alice )>>.
From the following graph
:r rdf:reifies
<<( :alice :worksWith :bob )>>.
:worksWith rdfs:subPropertyOf :knows.
MAYBE it would be appropriate to infer
:r rdf:reifies
<<( :alice :worksWith :bob )>>,
<<( :alice :knows :bob )>>.
I don't have a definite answer for the two examples above, and I don't
think that we need to answer them urgently. I'm just pointing out that
we have some leeway even if we settle on "a reifier reifies only one thing".
pa
[1] https://www.w3.org/mid/d39fcb64-66d6-4cbe-9453-a52d1cbd5259@w3.org
[2] https://www.w3.org/2024/04/12-rdf-star-minutes.html#x169
[3] https://www.w3.org/TR/rdf11-schema/#h3_ch_reificationvocab
Attachments
- application/pgp-keys attachment: OpenPGP public key
Received on Wednesday, 17 April 2024 23:18:30 UTC