Re: Different properties related to well-formedness

Le 24/04/2024 à 17:10, Olaf Hartig a écrit :
> 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:
> 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?

In this case, I think the context is clear because we are mentioning the 
triple term in the context of a well identified RDF triple, and it is in 
fact better at distinguishing the containing RDF triple and the 
contained RDF triple.

> "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)" ?

Similarly, I think that in any situation where an RDF triple plays the 
role of a triple term wrt a well identified RDF triple, this way of 
phrasing is appropriate because not only the context makes it clear what 
we mean, but also it makes it easier to distinguish 2 RDF triples under 


> 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.
>>> Best,
>>> Olaf

Antoine Zimmermann
École des Mines de Saint-Étienne
158 cours Fauriel
CS 62362
42023 Saint-Étienne Cedex 2
Tél:+33(0)4 77 49 97 02

Received on Wednesday, 24 April 2024 16:16:55 UTC