- From: Thompson, Bryan <bryant@amazon.com>
- Date: Tue, 30 Apr 2024 16:41:17 +0000
- To: Niklas Lindström <lindstream@gmail.com>
- CC: "Peter F. Patel-Schneider" <pfpschneider@gmail.com>, "public-rdf-star-wg@w3.org" <public-rdf-star-wg@w3.org>
- Message-ID: <b430d722877b4183b91abbc2e46e29dc@amazon.com>
Niklas, I thought I was directly responding to your question (1) quoted here: > 1.How come, given this: > > <e1> rdf:reifies <<( <s1> :p1 <o1> )>> . > <e1> rdf:reifies <<( <s2> :p2 <o2> )>> . > > you say that we're making statements about a graph, whereas with: > > <e1> rdf:reifies <<( <s1> :p1 <o1> )>> . > For Statements about Statements (SAS), it is my assertion that there MUST be a constraint such that a given reifier is used to label a single (SPO) tuple. Unless that constraint is observed, the reifier can not be used as an identifier of the statement (the SPO). I am honestly not sure what else to say here. If you allow the reifier to be associated with multiple distinct (SPO) tuples, then it is not identifying a single statement. Hence, it can not be used to make statements about a single statement. Concerning what to call the set of SPOs for the same reifier, I am using "Graph" to emphasize a difference. I note that the definition of an RDF Graph https://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-rdf-graph is a set of RDF triples https://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#section-triples. I think that it is not beyond reason to take the set of SPOs (in your example, {<s1> :p1 <o1> and <s2> :p2 <o2>}) and call them an RDF Graph. I realize that the Object of the rdf:reifies is a "Triple Term" and not an asserted triple. You could more precisely call this a "Triple Term Set" rather than an RDF Graph. But either way it is not a single Statement (aka RDF Triple). Certainly, you could take that set of Triple Terms and use a SPARQL query to insert them and at that point they would most certainly be an RDF Graph. So, to some extent, this is a waterfowl that walks like a duck. To me, the path for reconciliation of these use cases is to define something such as a profile. Thanks, Bryan ________________________________ From: Niklas Lindström <lindstream@gmail.com> Sent: Monday, April 29, 2024 11:09:42 AM To: Thompson, Bryan Cc: Peter F. Patel-Schneider; public-rdf-star-wg@w3.org Subject: RE: [EXTERNAL] The way forward CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you can confirm the sender and know the content is safe. Bryan, On Mon, Apr 29, 2024 at 7:00 PM Thompson, Bryan <bryant@amazon.com> wrote: > > Niklas, > > > I am drawing a distinction between making statements about a specific statement and making statements about a collection of statements. I think it is a mistake to consider the latter simple a more general version of the former. The ability to have metadata about a specific statement is the key enabler (Statements about Statements) for edge properties (for RDF, leaving LPG out of this), statement level provenance for RDF, etc. Would you mind answering my first question, then, so that this mistake can be resolved? > The ability to make statements about statement sets is different. It does not support this basic mechanism of describing a specific statement unless a constraint is imposed such that the "Graph" is a single statement. I (and others, I've gathered) claim that we are not talking about graphs even with things reifying multiple triples. Are you claiming that we are? Are we *not* with one value for rdf:reifies? Again see question 1, about John's set of friends, all of which John knows (he does not know the set, he knows each one). How is that different from this? > I think that talking about this as Statements about Statements (SAS) vs Statements about Graphs (SAG) highlights the difference. > > > The risk here is that people see SAG as more general, but in fact it is unable to support SAS without some constraint (e.g., a well-formedness constraint, a profile, etc.). > > > It was these SAS use cases that motivated RDR, RDF*, and the creating of this working group. > > > I am happy to see the WG support both, but let's not forget the motivating use cases of SAS. We are not forgetting them. It is because of them we have arrived at this. Or am I to assume that by "statement", you mean the abstract logical relationship encoded by the triple itself? That is, *not* a token occurrence or concrete realization thereof (that which classical reifications [1] are about, and call "statements", for better or worse)? Not about an utterance, event, situation or other concretization which reifies it? I.e. *not* what the Amazon Neptune use cases require [2]? If so, which of the use cases [3] are you talking about? And what are the properties that you want to assert that these abstract logical relationships themselves have (other than subject, predicate, object)? Please provide concrete examples (or direct references to such). Best regards, Niklas [1]: <https://www.w3.org/TR/rdf11-mt/#reification> [2]: <https://lists.w3.org/Archives/Public/public-rdf-star/2021Dec/att-0001/rdf-star-neptune-use-cases-20211202.pdf> [3]: <https://github.com/w3c/rdf-ucr> > Bryan > > ________________________________ > From: Niklas Lindström <lindstream@gmail.com> > Sent: Friday, April 26, 2024 12:26:45 AM > To: Thompson, Bryan > Cc: Peter F. Patel-Schneider; public-rdf-star-wg@w3.org > Subject: RE: [EXTERNAL] The way forward > > CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you can confirm the sender and know the content is safe. > > > > Bryan, > > 1.How come, given this: > > <e1> rdf:reifies <<( <s1> :p1 <o1> )>> . > <e1> rdf:reifies <<( <s2> :p2 <o2> )>> . > > you say that we're making statements about a graph, whereas with: > > <e1> rdf:reifies <<( <s1> :p1 <o1> )>> . > > we are not? With your notion. how would you make statements about a > graph of only one triple? > > Also, would you say that here: > > <john> foaf:knows <jane> . > <john> foaf:knows <mary> . > > we are making statements about the set of <jane> and <mary>? Does > <john> know that set? Does the set contain two persons, or two IRIs? > > I suspect that in the sentence "making statements about a graph" there > is an unwitting change of context, from the domain of discourse to its > representation (which are not necessarily different, but quite often). > > 2. I'm not entirely sure what you mean by "making statements about > statements". From [1]: "Asserting an RDF triple says that some > relationship, indicated by the predicate, holds between the resources > denoted by the subject and object. This statement corresponding to an > RDF triple is known as an RDF statement." But then you talk about > triples, and graphs, i.e. sets of triples. Do you consistently refer > to the triple (the encoding) or the statement denoted by the triple > (the expression)? I would say we're making statements about > statements, by asserting triples where the object is another triple. > Many-to-one or many-to-many does not change that. > > See also [2]: "An RDF triple encodes a statement—a simple logical > expression, or claim about the world. An RDF graph is the conjunction > (logical AND) of its triples." > > Aside: Considering [3]: "An RDF graph is a set of RDF triples", I > don't think this working group is in agreement on whether a graph is > EXACTLY a set of triples (i.e. by definition, these two names denote > the same mathematical concept), or if a graph is a set of triples, but > not all sets of triples are graphs. (And here I do not mean "named > graphs" at all, which is a pair of a name (IRI or bnode) and this > graph notion. Of course, I do not know if that's supposed to mean all > such pairs; but that's hopefully beside the point...) > > We may want to address these matters in today's semantics meeting. > > Best regards, > Niklas > > [1]: <https://www.w3.org/TR/rdf12-concepts/#resources-and-statements> > [2]: <https://www.w3.org/TR/rdf12-concepts/#entailment> > [3]: <https://www.w3.org/TR/rdf12-concepts/#section-rdf-graph> > > > > On Fri, Apr 26, 2024 at 1:07 AM Thompson, Bryan <bryant@amazon.com> wrote: > > > > I do not believe that you answered my question Peter. What do you want to call that set of Subject Predicate Object tuples? At any rate, I will call it a graph and your proposal is making statements about those sets. E.g., Statements about Graphs. > > > > > > Bryan > > > > ________________________________ > > From: Peter F. Patel-Schneider <pfpschneider@gmail.com> > > Sent: Thursday, April 25, 2024 4:04:46 PM > > To: public-rdf-star-wg@w3.org > > Subject: RE: [EXTERNAL] The way forward > > > > CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you can confirm the sender and know the content is safe. > > > > > > > > This is a fundamental misconception. Consider complex numbers. They are an > > ordered pair of real numbers, but there is no way that every ordered pair of > > real numbers has to be considered a complex number. Similarly a set of RDF > > triples, let alone several RDF triples not collected into a set, is not > > necessarily an RDF graph. > > > > peter > > > > > > On 4/25/24 13:48, Thompson, Bryan wrote: > > > What do you call a set of S, P, O tuples? I call it a Graph. Your proposal is to reify such sets. Hence, Statements about Graphs. > > > > > > Bryan > >
Received on Tuesday, 30 April 2024 16:41:23 UTC