14:04:01 RRSAgent has joined #rdf-star 14:04:06 logging to https://www.w3.org/2024/07/05-rdf-star-irc 14:04:06 RRSAgent, make logs Public 14:04:07 please title this meeting ("meeting: ..."), gkellogg 14:04:15 meeting: RDF-star SemTF 2024-06-21 14:04:27 doerthe has joined #rdf-star 14:04:32 present+ 14:04:47 present+ 14:05:12 scribe: gkellogg 14:05:32 tl: argues for needing unasserted asssertions 14:05:59 ... Note my argument, but my interpretation of the WG position. 14:06:06 s/Note/Not/ 14:06:42 pfps: from the CG report, quoted triples don't need to be asserted. 14:07:00 thank you, gregg, for scribing :) 14:07:00 Souri has joined #rdf-star 14:07:06 present+ 14:07:27 tl: A lot of people use the term "assertion" without "endorcing" them. 14:08:13 pfps: Let's stick with already defined RDF terms. We can say that a triple is an element of the graph. Being an element of the graph makes it asserted. 14:08:46 ... Standard reification is a way of talking about a triple that may not be an element of the graph. 14:09:31 ... I think standard reification works well, so why do we have RDF-star? Developers are too lazy. 14:10:01 present+ 14:10:15 ... It does lead to a lot of "star" queries; it's up to implementors to make them perform. 14:10:37 ... An implementor could create an optimization for the reification structure. 14:10:49 q+ 14:11:03 ack AndyS 14:11:29 AndyS: There's another situation, which is partial reifications 14:11:34 q+ 14:11:40 ack tl 14:11:43 and over specification 14:12:18 tl: Before the last meeting, I didn't think there was a way of speaking about a statement without endorsing it. 14:12:54 ... If a statement was not in the graph but was annotated, and then later put into the graph, we have lost the fact that it was previously not asserted. 14:12:54 Alice isn't in the graph (well, the fictional Alice may be...). 14:13:42 pfps has joined #rdf-star 14:13:52 q+ to discuss temporal aspects 14:14:24 ... Once it's clear that the annotation is on a triple contained within the graph implies the need to explicitly tag when the triple became part of the graph. 14:14:34 q+ 14:15:12 ... The connection between a tripling being in the graph and its being annotated is fragile. 14:15:44 ... Most of the time, (for me), annotations are performed on triples that are members of the graph. 14:16:13 ... It would be easier to model using N-ary relations. 14:16:36 zakim, make logs public 14:16:36 I don't understand 'make logs public', gkellogg 14:16:43 rrsagent, make logs public 14:16:54 rrsagent, generate minutes 14:16:55 I have made the request to generate https://www.w3.org/2024/07/05-rdf-star-minutes.html gkellogg 14:17:08 pfps: You've lost me when you start talking about time. 14:18:03 ... RDF has some facilities such as datasets. You could say that an IRI represents a version of a graph and talk about that. 14:18:31 tl: I was not referring to temporal assertions. 14:18:39 q+ 14:18:55 It's crystal clear. The triple is the triple. 14:19:19 tl: If you want different viewpoints in the same graph, it's not clear when each was added. 14:19:27 ack doerthe 14:19:39 Agree, the triple in an embedded triple *is* the triple. It doesn't refer to the triple or allude to the triple or anything else besides being the triple. 14:19:45 ack pfps 14:19:45 pfps, you wanted to discuss temporal aspects 14:19:58 doerthe: I don't really follow your reasoning. 14:20:25 ... When you want to add knowledge to the graph ... You can do everything with predicates. 14:20:53 ... When a triple is added it's not about Alice's relation to it, its a description of the world. It doesn't matter who added it. 14:21:22 q? 14:21:28 ack niklasl 14:21:31 The whole point of having the rdf:reifies relationship is to allow annotations of different "incarnations" (or whatever) of the triple. 14:21:55 niklasl: I "think" I understand what tl means, but I think two arguments are being conflated into one. 14:21:56 But when I think about it, maybe the n-ary use case doesn't need a stand-off relationship. 14:22:13 ... I agree with pfps and doerthe; it's not contentious. 14:22:34 ... You can't relate the triple to a graph, as the graph is a model and you can't step out of that. 14:22:43 nicklasl: The graph is the graph, it is not something that changes. 14:22:51 ... You can't say "i believe this" unless it's in the graph. 14:22:51 enrico has joined #rdf-star 14:22:58 present+ 14:23:27 ... It's important to get that clarity. You can add to your vocabulary various notions that you don't need to refer to the relationship denoted by the triple. 14:23:31 q+ 14:23:50 ... A reifier that reifies such a relationship is atomic. 14:24:40 ... I think your conflating with qualification. Specific properties are one form of qualification. 14:24:42 Well, "i believe this" is not something that RDF handles. 14:25:33 ... I don't think that standard RDF reification is enough. 14:25:37 q? 14:25:39 ack tl 14:26:12 tl: the agrument about N-Ary relationship can be made about anything. We're trying to make things easier. 14:26:31 If all that the WG is about is to make the syntax easier, then why not just do that and only that? 14:26:33 ... You could also structure the graph into N-Ary relations and primary statements. 14:26:42 LPGs don't model N-ary relationships, do they? 14:26:52 There has to be something more than just bettere syntax. 14:27:28 ... N-Ary relations can be hard to use, so other syntactic forms have been suggested. 14:27:59 Not all the detailing. One more granular "sublevel". LPGs cannot relate relators, for instance. 14:27:59 That depends on the meaning of "models". If you mean this in a strong sense, there is nothing in LPGs (syntax, data structures, semantics) that is n-ary. 14:28:00 ... You can do that with N-Ary relations if you base your annotations on that. 14:28:25 ... Using RDF-star for qualification, but this can add to the confusion. 14:28:57 You are using that relation in natural language right not (:endorses). 14:29:03 s/not/now/ 14:29:09 why can't we use two different predicates? 14:29:10 ... If two people make a statement about a triple, you can't distinguish if one acts as if it was asserted, and the other does not. 14:29:33 But triples are sufficient for encoding anything, so both RDF 1.1 and LPGs can encode n-ary relations. The standard way of doing this is reification - not standard RDF reification but creating a node for the n-ary relationship and linking it to the n arguments. 14:29:33 q+ 14:29:35 ... Most of the use cases will want annotations to be about statements in the graph. 14:29:47 q+ 14:30:06 ack enrico 14:30:17 :Bob :saysAndMeans << :s :p :o>>. :Alice :says << :s :p :o>>. :s :p :o. 14:30:34 q- 14:30:49 enrico: I don't like the discussion of "asserted"; it's yet another use case. The current RDF-star can capture this. 14:31:17 ... If you want asserted stuff, you may lobby for a different thing. 14:31:31 ... Overloading "RDF reifies" is just wrong. 14:31:34 +1 to doerthe (with the provisio that a stand-off relationship may be needed) 14:31:39 q+ 14:32:07 ... You can use best practices for deciding how to represent somthing. 14:32:25 +1 also to doerthe 14:32:37 ... RDF only expresses facts. Any name is meaning less until you have a schema. Otherwise, it's just a convention. 14:32:49 And it is perfectly fine to have a graph that contains only :Bob :saysAndMeans << :s :p :o>>. :Alice :says << :s :p :o>>. 14:33:29 tl: I'm frustrated that the pitfalls of what we're taking about are unacknowledged. 14:33:47 q+ 14:33:55 ... Reifiers can refer to unasserted triples, and qualifies to N-Ary relations. 14:34:09 ... The qualified thing would be asserted. 14:34:16 q? 14:34:20 ack tl 14:34:38 ... A thing is asserted if it is qualified. 14:34:39 Enrico means the {| |} and only that. 14:34:41 ack Souri 14:35:18 Souri: I'm trying to understand what you're looking for. There's rdf:qualifies, which applies to :q1 (a qualifier). 14:35:43 ... For the triple :alice :buys :car, it has to be in the graph to be true. 14:35:50 "A thing is asserted if it is qualified." Really? That's a fundamental change to RDF that overturns just about everything. 14:36:19 q+ 14:36:37 tl: We want to be sure people don't mis-understand the annotation. 14:36:47 q+ 14:36:55 ack niklasl 14:37:10 q+ to dig deeper on qualification implies assertion 14:37:51 niklasl: I've been thinking if the annotation syntax could expand to both the assertion (qualifies or asserts). Once the triple appears, what would that mean? 14:37:59 ... What if it's not there? 14:38:15 q- 14:38:20 ... If it's in the graph and you have a reifier of it, that's all you need. 14:38:22 +1 to niklasl 14:38:47 ... If you want to say something more about a reifier, you can use a specific type. 14:39:36 ... If you have both a start and end date, it's reasonable to expect that the associated triple is no longer in the graph. 14:40:38 ... You can do most things using sub-properties, but if you want the annotation syntax to be shortcut for that, you need more. 14:40:56 tl: I would loose the annotation syntax. 14:41:10 niklasl: Turtle syntax would look horrible. 14:41:28 Would a graph that, in its entirety, contains just the following "statement", be considered invalid (because it does NOT have any asserted triples to go with the qualification)? q1. rdf:qualifies <<( :alice :buys :car )>> . 14:41:33 q? 14:41:45 q+ 14:42:06 enrico has joined #rdf-star 14:42:42 tl: you'd have to state ever annotation that needs to be asserted. Or, you don't have unasserted annotations. 14:42:59 ... I'm annotating something I want to express. 14:43:16 If x rdf:qualifies T , does ?a rdf:refies ?b match it? 14:43:23 q+ 14:43:27 niklasl: You do this when you created the graph. doerthe showed an example of this. 14:43:29 present+ 14:43:49 tl: We can always mint new properties. 14:44:03 ack gkellogg 14:44:11 s/can/can't/ 14:45:18 Yes, gress is correct; a graph is an immutable state, "adding" or "removing" results in new graphs. 14:45:25 s/gress/gregg/ 14:45:32 gkellogg: Want's to point out that graphs are static and immutable. 14:45:45 but isn't RDF also about adding properties? You define your vocabulary, use it and hopefully others use the same vocabulary and we have an agreement. So, from your point of view: if we add two (better named) predicates to RDF itself, are we then fine? (I try to understand the problem, please see me question like that :) ) 14:46:02 q+ 14:46:19 tl: Saying that we support the use case of unasserted assertions is wrong. 14:46:21 q? 14:46:24 ack AndyS 14:46:48 AndyS: If you've used the "qualifies" predicate, would that match "reifies" in a query? 14:47:09 tl: As I unerstand querying you can with << >> syntax. 14:47:16 You can use both << >> and {| |} in SPARQL-star. 14:47:22 ... I presume we need to support both syntaxes. 14:47:40 AndyS: You're not able to treat all qualifies as reifies; you have to look for both. 14:48:25 q+ 14:48:35 ... The trouble with super-types and super-properties it is the only time SPARQL would need to make this happen. 14:49:24 AndyS: If we talk about graph merge, I believe that's not a set operation. Once you merge two graphs, you are endorsing them both. 14:49:48 tl: My example doesn't have anything to do with merging. It might contain multiple viewpoints. 14:50:23 q? 14:50:27 ack pfps 14:50:29 q+ 14:50:32 q- 14:50:57 ack Souri 14:51:00 pfps: I was trying to reiterate that point that we're going into temporal aspects; Let's not do that. 14:51:25 Souri: You're saying that rdf:qualifies can be used only on things which are asserted. 14:51:53 ... Using it one something that is unasserted doesn't make sense. 14:52:12 ... If someone uses "qualifies" you need to ensure that the triple is asserted. 14:52:27 ... Using qualifies implies that the triple as asserted. 14:52:56 So tl, you just want a different syntax for the annotation macro? It doesn't sound like that's all you want. 14:53:05 pfps: It doesn't get added to a graph, it becomes an implication of the graph. 14:53:39 Souri: When I query a graph using "qualifies" where the associated triple is not asserted would be an error. 14:53:45 q+ 14:54:15 q+ to say that this seems like breaking the correspondence between SPARQL querying and simple entailment 14:54:15 tl: If you use the <<>> syntax, it gets converted into N-Triples, there you get the rdf:qualifies predicate. 14:54:43 Souri: I might get an N-Triples file with a single statement. 14:55:00 tl: That would be incomplete. 14:55:07 And now you're arguing for entailment instead. 14:56:51 PG mode expected it to be asserted, but it wasn't an expansion macro, it was ... entailment? Wishful thinking? 14:56:51 AndyS: In Olaf's paper, all triples were asserted. If you only have assertion mode, you can't talk about false things. 14:57:10 ... Where are ocurrances. 14:57:23 tl: I'm always talking about occurrences. 14:57:42 Do you want sugar for assertion of triple plus the triple as a term, or a singleton property which is a subPropertyOf the property? 14:57:54 q? 14:57:57 ack doerthe 14:58:11 q- 14:58:48 doerthe: Looking at your example, you talk about two levels, but there are three things: what one says, what the other says, and what is true. 14:59:15 ... Independently of Alice and bob, there is what is true. 14:59:32 ... The act of adding a thing to a graph becomes confusing. 15:00:02 ... What is missing in our examples is a shortcut syntax. 15:00:28 tl: The shortcut syntax is not part of N-Triples. 15:00:39 The annotation syntax: :p {| a :Reifier |} . 15:01:20 Expands to: :p . _:r1 rdf:reifies <<( :p )>>. _:r1 a :Reifier . 15:01:41 q? 15:01:57 Nothing is lost. _:r1 is clearly related to the same :p that is in the graph (the abstract relationship itself). 15:02:40 tl: This is many to one, not many to many. Qualifying things that are many to many doesn't make sense. 15:02:51 Yes, if you're looking for singleton properties, that is many-to-one. And *not* n-ary. 15:03:04 ... If you use reification it's an object to which you can add more triples. 15:03:05 q+ 15:03:23 ack niklasl 15:03:29 q+ 15:03:53 niklasl: I think you would have an easier time arguing for singleton properties. 15:04:13 tl: I'm conflating issues. 15:04:47 niklasl: I think Kurt is arguing for something similar. His solution is reification in one case, and singleton properties in the other. 15:05:39 ... I try to keep many to one and many to many separate. 15:06:05 ... The annotation syntax represents both the assertion and the reifier. 15:06:19 ... Thanks to transparency, they refer to exactly the same thing. 15:06:48 q? 15:07:19 ... If this is hard to understand, and people can't understand many to many, it's going to be a problem. 15:07:30 ack enrico 15:07:52 enrico: rdf:reifies should be called "rdf:blob", the point is how you use it. 15:08:20 ... The many to one I've discussed and produced a Wiki about why you don't need it. You get it from many to many. 15:08:48 ... Can the current spec represent what you want to express? If it can, this will be a new chapter. 15:09:23 ... If there's no confusion about what reification is (no conflations, please), can we capture our use cases correctly? 15:09:55 ... The use cases are satisfied, why do we need something new? 15:10:15 ... If you can do anything you want with our language, you need a strong argument to add something new. 15:10:56 tl: Everyone would need to add another triple to say they mean it. 15:11:07 q+ 15:11:08 ... You can do it, but it's not feasible. 15:11:33 ... Using rdf:blob is so undefined, we could use named graphs. 15:12:09 enrico: No, it is defined. we should use "blobifier". It's intended to define different relations. 15:12:30 ... The concept has been used for a very long time. 15:12:30 s/we could use named graphs./we would get into the same situation as with named graphs./ 15:12:52 Well, rdf:relationOf then (another round of naming?) 15:12:57 ... relations capture many different things. 15:13:17 Or rdf:relatorOf (I'll stop here) 15:13:18 ... <> :added :yesterday. 15:13:40 q+ to comment about infeasbility 15:13:53 ack pfps 15:13:53 pfps, you wanted to comment about infeasbility 15:14:38 pfps: tl said something about infeasibility; as far as I can tell, there is no extra burden placed by adding the possibility of annotating triples that are not in the graph. 15:15:24 ... To have embedded triples, you need more complicated data structures. To talk about them as being in the graph, you need a bit more, but that's it. I don't see where in infeasibility comes in. 15:15:40 q+ 15:16:03 tl: Bob annotates a statement in the graph. He'd also need to add another annotation "and I mean it". 15:16:05 q+ 15:16:34 ... First you had Olaf's version that asserted and annotated at the same time. 15:17:01 ... Now, you have a triple, you annotated it, and then you talk about it. 15:17:14 it has nothing to do with the opacity, that is a different discussion (which we should not have now :) ) 15:17:44 q+ to talk about extra triples 15:18:04 tl: If it's a use case we should support it unambiguously. 15:18:07 ack niklasl 15:18:41 :s :p :o . 15:18:44 niklasl: I don't see your graph clearly. I'm not sure if your example is ambiguous. 15:18:58 << : s :p :o >> a :Whatever ; 15:19:09 :and :IacctuallyMeanIt . 15:19:48 tl: I you need to say that I think the triple should be there. 15:20:16 niklasl: The relator/reifier is also described. And the triple is in the graph. 15:20:38 ... That's epistemology. 15:20:50 tl: N-Ary makes this clear. 15:21:05 niklasl: Your argumentation is ambiguous. 15:23:14 tl: I'm trying to deal with the performance issues of singleton properties. 15:24:07 [Discussion too rapid to capture] 15:24:44 I don't buy that there is any significant extra effort - on the part of users or implementors. 15:24:44 But even if all embedded triples have to be in the graph, then there is still three triples :s :p :o . :bob :says <<:s :p :o >> . :bob :asserts <<:s :p :o >> . 15:24:44 The only distinction is that with embedded triples that are not in the graph, implementations have to be able to handle triples that are not in the current graph, which they more-or-less have to do if they implement RDF datasets. 15:24:44 Now you could have a semantic extension to RDF where :bob :asserts <<:s :p :o >> . entails :s :p :o . 15:25:08 q? 15:25:15 ack pfps 15:25:15 pfps, you wanted to talk about extra triples 15:25:23 chair: gkellogg 15:25:54 pfps: Allowing embedded triples to not be in the graph adds no extra burden other than for implementors. 15:26:05 ... If they're implementing datasets, they need to do that anyway. 15:26:35 ... Presumably, you could require that triple IDs are unique to a graph, but that's wasteful, as there will be overlap. 15:26:43 q+ 15:26:47 ... The added extra implementation burden should be minimal. 15:27:18 ... Even if all embedded triples have to be in the graph, you still need triples for each. (in the graph, bob said, bob asserted). 15:27:30 ... Then SPARQL is no longer simple entailment. 15:27:42 But putting that into SPARQL means that SPARQL querying is simple entailment. 15:27:53 ... Standard SPARQL entailment is simple entailment. 15:28:42 ... A syntactic shortcut makes it looks like there are fewer triples. 15:29:01 tl: Once you go to N-Triples, the sugar is gone and you need to write three triples. 15:29:16 q+ 15:29:45 pfps: If you're writing N-Triples, then you do. If you require people to do that and not use Turtle, you're doing a dis-service to your users. 15:30:16 tl: The mapping needs to add a new triple. 15:30:26 pfps: I don't expand Turtle before I send it to you. 15:31:21 AndyS: You're fighting between expressivity and ease of expression. 15:32:25 :s :p :o {| :a :b |} 15:33:37 +1 to gkellogg 15:34:02 +1 to gkellogg (but I am optimist) 15:34:06 q+ 15:34:09 bye all 15:34:21 rrsagent, generate minutes 15:34:23 I have made the request to generate https://www.w3.org/2024/07/05-rdf-star-minutes.html gkellogg 15:34:36 q- 15:34:40 I also am an optimist :) We can still come together 15:34:52 (but I share the concerns) 15:35:23 The current baseline is the way to go - I don't see still why we should diverge from it. 15:36:23 Would multiple sets of qualifying attributes be allowed? :alice :buys :car . :q1 rdf:qualifies <<( :alice :buys :car )>> . :q2 rdf:qualifies <<( :alice :buys :car )>> . :q1 :paidWith :cash ; :amount 500 . :q2 :paidWith :creditCard ; :amount 1000 . 15:36:32 pfps has left #rdf-star 15:38:09 q+ 15:38:17 ack Souri 15:41:35 ack niklasl 15:47:12 I see "isAsserted?" as a global variable (within a graph scope). It either is true or false. Use of rdf:reifies does not affect that global variable in any way. 15:47:25 This is how we have it today. 15:48:26 q+ 15:49:42 ack AndyS 15:55:46 I also have to leave. It could help to take a break before we further discuss. So, please consider to take a break :) Bye 15:56:18 gkellogg has joined #rdf-star 15:58:40 Thomas, I *think* you might want something like: ex:singletonPropertyOf rdfs:subPropertyOf rdfs:subPropertyOf ; owl:propertyChainAxiom ( ex:qualifies rdf:predicate ) . # *if* a triple term entails an rdf:Statement. Then you have turned the reifier into a qualification of the property used as a predicate (specifically a subproperty, and that 15:58:40 specific relationship would be entailed by the chain axiom). 16:05:29 Actually, no, it needs even more convolution.( Still, a subproperty is already possible; and could be related from the reifier.) 16:16:55 gkellogg has joined #rdf-star 16:18:13 doerthe has joined #rdf-star 16:27:13 gkellogg has joined #rdf-star 16:58:35 gkellogg has joined #rdf-star 17:15:58 gkellogg has joined #rdf-star 17:20:22 gkellogg has joined #rdf-star 17:20:52 zakim, end meeting 17:20:52 As of this point the attendees have been gkellogg, doerthe, Souri, AndyS, enrico 17:20:54 RRSAgent, please draft minutes 17:20:56 I have made the request to generate https://www.w3.org/2024/07/05-rdf-star-minutes.html Zakim 17:21:02 I am happy to have been of service, gkellogg; please remember to excuse RRSAgent. Goodbye 17:21:02 Zakim has left #rdf-star 17:21:06 rrsagent, bye 17:21:06 I see no action items