Re: multisets everywhere

Dear Thomas, 

I missed your message completely. I do not know why. Sorry, here are my answers. 

> Hi Fabio,
> 
> I wonder if your interpretation of quoted triples as, in your words, "non-absolute statements" is in line with the community report. Dörthe has expressed a similar view if I understood her right (but so far she hasn’t replied to my request for clarification). I always understood quoted triples as non-asserted, period. On the other hand I understood annotated statements as valid in accordance with their annotations. 

Correct. We currently define statements in our collection as belonging to one of three categories: 

1) Undisputed: currently noone has challenged them so for the moment we assume them as true. It is not a testament of certainty, just of a lack of opinion of the contrary. Plain RDF triples are undisputed.
2) Disputed: there are at least two competing opinions that are inconsistent with each other, and we do not know yet if one is better than the other. Quoted triples and conjectures are disputed. 
3) Settled: there are at least two competing opinions that are inconsistent with each other, but one has been selected as the best one, which we'll assume as true, and the others are considered false. Collapsed conjectures and (imperfectly) annotated triples are candidates for settled claims. 

> The modelling that you propose makes it harder to realize another goal, the one that I thought fuels the demand for "unasserted assertions": it makes it harder to state something that we don’t endorse. For example a few decades ago it was still not uncommon in Germany to say that "Hitler wasn’t all bad as he had for example built the Autobahn". How do I model that in RDF? Under no circumstance do I want to have a statement saying "Hitler wasn’t all bad" in my triple store. If quoted triples are strictly unasserted, then this is easy:
> 
>    << :Hitler :not :AllBad >> :because :Autobahn .
> 
> I might go even further, like:
> 
>   << << :Hitler :not :AllBad >> :because :Autobahn >> 
>       :accordingTo :SomeEternallyYesterday .             [0]
> 
> The thing is: I don’t want the central statement - "Hitler not all bad" - ever to pop up in some unassuming query! How can I do that if, as in your interpretation, quoted statements are not unasserted but asserted under the condition of their annotation?

This is a fourth category, a statement that has not been claimed, usable only as a challengeable claim, which can be simply expressed as a disputed claim associated to nobody. 

Now, in my vision, quoted triples could stand on their own, i.e.:  << :s :p :o >> to me makes perfect sense as a non-asserted triple that exists in the dataset. But the current syntax of RDF* does not allow it, because what use would be a non-asserted triple that that cannot be mentioned, since it does not have its own identifier which we can refer to elsewhere? So we express it slightly differently, e.g.: 

<< :s :p :o >> prov:wasAttributedTo :emptySet

So your example could be represented as

<< :Hitler :not :AllBad >> :accordingTo :noone. 

Since we will never trust :noone, the quoted triple will never be asserted, but still can be considered for discussion and challenged, if the need arises. 

> I think that outside of such extreme examples there is a gradual shift between asserted and unasserted: assertions may be conditionalized explicitly through annotations but also unexplicitly through context or through additional statements or through exchanging one node in the triple by a blank node with its own annotations. But the general direction of the semantic web surely is that we offer and ingest data that we believe in, that we find useful, that we want to operate on. So the default assumption is: "this is true (hopefully) (check the small print)". I think that this would also be a useful default assumption for annotated statements. The statement
> 
>    :RichardB :marriedTo :ElizabethT .
> 
> says that there exists a :marriedTo relation between those two persons - nothing more, nothing less - and that is indeed true. That relation exists. History is real too. It has some properties, among them that it isn’t in effect today. That statement would be false if the relation had never existed, everything else is fair game. Additional detail

Uhm. Is this the best possible use of relations and triples? Most of the information we use is temporally bound. E.g.: 

:fabiovitali :job :kindergartenstudent.
:fabiovitali :job :primaryschoolstudent.
:fabiovitali :job :middleschoolstudent.
:fabiovitali :job :highschoolstudent.
:fabiovitali :job :undegraduatestudent.
:fabiovitali :job :graduatestudent.
:fabiovitali :job :postdoc.
:fabiovitali :job :assistantprofessor.
:fabiovitali :job :associateprofessor.
:fabiovitali :job :fullprofessor.

What is my job? All of them? Well, I'd disagree... 

Consider ownerships of some painting over the centuries: One count is describing the complex trajectories of ownership over hundreds of different individuals and organizations, another is being able to tell who has it today and where I can go to see it. 

> Your style of modelling however says: per default no information can be trusted, we need to know more. Where does that stop? Why are the annotations not quoted themselves?


Indeed! Indeed! This is exactly the purpose for quoting quoted triples in RDF*: 

<<
 << :salvatormundi dc:creator :leonardo >>
 prov:wasAttributedTo :martinkemp 
>> 
prov:wasAttributedTo :wikipedia . 

And then you can go on with further nesting, if needed. 

One of my problem with RDF* is that you can only quote plain triples and quoted triples, but not annotated triples. 

If there was a way to quote annotated triples, yet another type of assertions would be expressible: hypothesizing the assertion of a triple. This would complete the circle and provide closure to the conjecturing/asserting operators. 

> And how is this compatible with all the data out there already? Do you expect everybody to transform their statements into quoted statements?

This is something I would like to discuss with you. 

I see the same problem with RDF*: what happens if you want to quote someone else's triple without endorsing it? You must remove the plain triple and replace it with a quoted triple, of course. But how? How about an extension to SPARQL Update? Something like: 

QUOTE { 
 ?q1 :statementOf << :salvatormundi dc:creator :leonardo >>
 ?q2 :statementOf << :salvatormundi dc:creator :boltraffio >>
} CONSTRAINED BY {
 ?q1 prov:wasAttributedTo :martinkemp .    
 ?q2 prov:wasAttributedTo :jacquesfranck .
}

Ideally this would have the effect of converting an asserted triple into a quoted one by removing from the local dataset the original triple and inserting the new quoted triple. Just a random idea, of course.  

> W.r.t. graphs: Pierre-Antoine modelled graphs as lists of quoted statements.

I tend to disagree that quoting[*] a container of triples is simply equivalent to quoting each triple inside it (although of course it is an integral part of that), just like I do not think that annotating a quoted triple is sufficient to reassert a quoted triple (although of course it is an integral part of it). If you are interested I can explain this disagreement in full.

> OTOH: what holds you back to define your own named graph semantics, annotate your named graphs accordingly and be done with it?

Well, because I do not like to play alone in a padded room with my brand new shiny toy, and I prefer to play with everybody else even with a battered down and imperfect toy, of course. What use would be a semantics I am alone in adopting? Would this even be Linked Data at all?

Ciao

Fabio




[*] Here and above I use the term "quoted triple" because this is the prevalent term used in this community for triples that are Expressed Without being Asserted (EWA). I do not like it very much because quoting is only one of the multiple uses for EWA triples, an important one but clearly NOT the only one. Similarly I do not like the term "annotated triple" which means very little to me. 



--

Fabio Vitali                            Tiger got to hunt, bird got to fly,
Dept. of Computer Science        Man got to sit and wonder "Why, why, why?'
Univ. of Bologna  ITALY               Tiger got to sleep, bird got to land,
phone:  +39 051 2094872              Man got to tell himself he understand.
e-mail: fabio@cs.unibo.it         Kurt Vonnegut (1922-2007), "Cat's cradle"
http://vitali.web.cs.unibo.it/

Received on Wednesday, 22 December 2021 16:30:15 UTC