- From: Antoine Zimmermann <antoine.zimmermann@emse.fr>
- Date: Wed, 24 Apr 2024 18:16:45 +0200
- To: Olaf Hartig <olaf.hartig@liu.se>, "public-rdf-star-wg@w3.org" <public-rdf-star-wg@w3.org>
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: > > 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? 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 consideration. --AZ > > 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 >>> -- Antoine Zimmermann École des Mines de Saint-Étienne 158 cours Fauriel CS 62362 42023 Saint-Étienne Cedex 2 France Tél:+33(0)4 77 49 97 02 https://www.emse.fr/~zimmermann/
Received on Wednesday, 24 April 2024 16:16:55 UTC