Re: Different properties related to well-formedness

Hi Antoine,

I see your point and I am fine with changing the definition such that
the notion of a 'triple term' refers to an RDF triple in the role of
being an element of another triple---exactly as we had in the CG report
(where we used the name 'quoted triple' instead of 'triple term').

Of course, changing the definition of 'triple term' in this way does
not have any impact on the syntactic properties that I am defining in
the document (except that the repetition of some of the definitions
becomes obsolete as you point out).

I have created a PR that implements these changes in the document:

https://github.com/w3c/rdf-star-wg/pull/121


However, let me ask you whether, assuming the definition approach that
you propose, you would consider a sentence such as the following to be
formally accurate?

"Let (s,p,o) be an RDF triple in which o is a triple term."

Or would an accurate way of phrasing the sentence be as follows?

"Let (s,p,o) be an RDF triple in which o is an RDF triple."

Similarly, for a triple such as (x, rdf:reifies, (s,p,o)), would it
still be accurate to say that "x reifies the triple term (s,p,o)" ?

Thanks,
Olaf


On Tue, 2024-04-23 at 17:59 +0200, Antoine Zimmermann wrote:
> Olaf, all,
>
> I have a problem with the way triple terms are sometimes defined in
> the
> different formalisations of RDF 1.2 (like the semantics proposed by
> Enrico and this well-formedness proposal).
>
> Considering your definitions, a triple term *is* an RDF triple. Not
> just
> syntactically. It *is*, in every aspect. A triple term should not be
> defined like this, because the phrase "triple term" denotes a
> different
> thing than the phrase "RDF triple".
>
> A triple term is a role an RDF triple plays within another RDF
> triple.
> Just like "predicate" is the role an IRI plays inside an RDF triple.
>
> Compare your definitions with these:
>
> Definition: An RDF 1.1 triple is a 3-tuple (s, p, o) where:
>   - s in an IRI or a blank node;
>   - p is a predicate;
>   - o is an IRI, a blank node, or a literal.
>
> Definition: A predicate is defined as:
>   - a Unicode character string that conforms to the syntax defined
> in
> RFC 3987
>
> Then one could say "let i be a predicate", which is very odd. Since
> i
> *is* a URI, I can then talk about the triple (i, p, o), and then
> there
> is a predicate in subject position!
>
> It is not difficult to distinguish the notion of predicate and the
> notion of IRI. One is a role in a triple while the other is a class.
>
> I claimed that it is not difficult to define triple terms in such a
> way
> that it is distinct from RDF triples, by making it a role that an
> RDF
> triple plays inside another RDF triple.
>
> Therefore, I would propose:
>
> Definition: An /RDF triple/ (or just /triple/ if context is clear) is
> a
> 3-tuple that is defined recursively as follows:
>   - If s is an IRI or a blank node, p is an IRI, and o is an IRI, a
> blank node, or a literal, then (s, p, o) is an RDF triple.
>   - If s is an IRI or a blank node, p is an IRI, and o is an RDF
> triple,
> then (s, p, o) is an RDF triple.
>   - If s is an RDF triple, p is an IRI, and o is an IRI, a blank
> node, a
> literal, or an RDF triple, then (s, p, o) is an RDF triple.
>
> Definition: the first (resp. second, resp. third) element of an RDF
> triple t is called the /subject/ (resp. /predicate/, resp. /object/)
> of
> t and if the subject (resp. object) of t is an RDF triple then we
> say
> that it is a /triple term/ for t. Likewise, any RDF triple that is a
> triple term for a triple term of t is also a triple term of t.
>
> Definition: the /triple terms of an RDF graph/ G are all the triple
> terms of the RDF triples that compose G.
>
>
> Using these definitions, you would also avoid the redundancy in the
> definitions of /triple-term-placement well-formed/ and
> /reifies-predicate well-formed/, which look very much like
> unintended
> duplicates.
>
>
> --AZ
>
>
> Le 23/04/2024 à 16:50, Olaf Hartig a écrit :
> > Hi all,
> >
> > It occurs to me that the notion of well-formedness that the group
> > strives for has more facets than just the decision of whether
> > rdf:reifies is many-to-many or many-to-one, and I think it would be
> > useful for us to be able to discuss and to decide about these
> > facets
> > independent of one another. Therefore, I have created the following
> > document in which I define different syntactic properties that an
> > RDF
> > graph with triple terms may possess, where each of these properties
> > corresponds to one of the facets that I see. The important point is
> > that these properties are completely orthogonal, and we can decide
> > which of them we include as the properties required for well-
> > formedness.
> >
> > https://github.com/w3c/rdf-star-wg/blob/main/docs/constraints.md

> >
> > Best,
> > Olaf
> >

Received on Wednesday, 24 April 2024 15:11:01 UTC