W3C home > Mailing lists > Public > public-rdf-star@w3.org > December 2021

Re: multisets everywhere

From: Fabio Vitali <fabio.vitali@unibo.it>
Date: Wed, 22 Dec 2021 10:00:54 +0000
To: thomas lörtsch <tl@rat.io>
CC: Pierre-Antoine Champin <pierre-antoine.champin@ercim.eu>, "public-rdf-star@w3.org" <public-rdf-star@w3.org>
Message-ID: <E945D37C-E3B6-46AC-998B-5B742ED6BF77@unibo.it>

>> On 21/12/2021 17:53, thomas lörtsch wrote:
>>> (...)
>>> This is a problem with more than one dimension:
>>> - between asserted and not asserted there are degrees of "asserted under certain conditions", like e.g. the assertion of the marriage between Taylor and Burton only being valid in certain periods
>> In RDF semantics (both the current standard and the proposed RDF-star), a triple is either true or false. Any "degree of assertedness" or "conditional assertion" falls outside the standard base semantics. Of course, an application can extend the base semantics (using RDFS/OWL axioms, N3 rules, or hard-coded mechanisms) in order to handle intermediate forms of assertions. But then, in order to be interoperable with other applications, triples that are "conditionnally asserted" from the p.o.v. of the app should be *not* asserted from the p.o.v. of the base semantics.
> Tell that Fabio, not me. If you don’t assert those triples explicitly then in plain RDF they are not asserted at all. Consequently what Dörthe and Fabio propose may of course work as desired in local applications but on the semantic web at large is quite invisible.

No. The whole point of having quoted triples with RDF* or conjectural graphs is to generate triples that are expressed but not asserted REGARDLESS OF THE LOCAL APPLICATION. This is THE purpose. If we could rely on local interpretations of the assertedness of triples then there would be no need to discuss about them in a W3C forum. 

My whole point is: is there a general way (i.e., not relying on local interpretations) to express without asserting a) individual triples and b) bunches of triples, and associate them to constraints that determine under which conditions they are asserted and under which conditions they are not?

> I know that but it captures only part of reality. Your fellow logician Dörthe asked me in this thread the other day why I asserted that <:RichardB :marriedTo :ElizabethT> when I already knew that this is not true, or only during a certain timespan. Adding the start and end date does change the meaning of what is asserted already, triples do indeed interact, and even more so when you consider statement annotation or property graph style modelling.
> Or was it sloppy wording on part of the property chosen? But a quick check shows that very few properties in use on the semantic web reflect on their temporal validity. Past, present, future, time periods, whathaveyou - it’s all the same to them. Likewise with spatial, legal or any other dimension of validity of the statement in question. If you now insist that this is not valid RDF I could rethorically ask back "then, what is, out there on the actual semantic web?". Very very little, I assume. And yet it works, because assumptions are made _everywhere_. Otherwise everything would be just too tedious to be even remotely useful.

The point is NOT whether or not people in the real world actually use triples with limited or constrained validity: of course they do use them and have been using them for some time. The problem arises when you have multiple statements that, taken in an absolute manner, are reciprocally inconsistent or even wrong, but can be clarified and made consistent with the application of specific constraints.

Take for instance the painting Salvator Mundi ( https://en.wikipedia.org/wiki/Salvator_Mundi_(Leonardo) ): there are multiple authorial attributions to it, the most important of which is to Leonardo da Vinci (which caused Christie's to sell it to an Arab prince for US$450M in 2017 - the highest price ever paid for a painting). This attribution is backed by Martin Kemp (and others). Other scholars (e.g., Jacques Franck) believe it to be a copy from Leonardo by one of his pupils, possibly Giovanni Antonio Boltraffio.   

So with RDF* you can correctly represent it with non-asserted triples: 
<< :salvatormundi dc:creator :leonardo >>
	prov:wasAttributedTo :martinkemp .

<< :salvatormundi dc:creator :boltraffio >>
	prov:wasAttributedTo :jacquesfranck .

The problem solved by RDF* here is NOT simply acknowledging the provenance of the statements (which could be done in many different ways), but in preventing anyone, with or without inferencing engines, from assuming that Leonardo and Boltraffio worked together on the painting or, even, that they were the same person. 

Multiple coexisting and inconsistent statements over the same entities are still VERY HARD to express, and people in the real world either ignore the problem, restrain themselves (e.g., by not expressing the less-likely triples), or create complicated workaround based on n-ary relations or ad hoc classes, etc. CIDOC-CRM has a very complicated workaround based on a conceptized n-ary relation exactly for disputed attributions. 

If there is ONE thing for which digital humanists anxiously await RDF*, is to finally be allowed to express multiple competing hypothesis over the same entities without self-restraint, mis-representations or convoluted structures. 

> We can go back again to n-ary relations and model the marriage like this:
>    :RichardB :marriedTo [
>        rdf:value :ElizabethT ;
>        :start 1966
>    ]

Indeed. This is a remedial approach, requiring people to "conceptize" relations so that triples can be given an identity and an IRI and annotated. Far from ideal. 

> We can use graphs to separate "same" triples and then annotate them in different ways to get multisets. RDF standard reification vocabulary pulls identifiers for occurrences (or "speech acts") out of thin air. Nobody gets hurt, we just play tricks with the logic. That sort of creativity is what’s needed. If named graphs hadn’t been so over-eagerly defined as referentially opaque but had been provided as a mere grouping mechanism - no more, no less - we would have much less problems today. But it’s easy to say in hindsight. Maybe not too late, who knows.

I for once totally agree with you on this: not specifically about the referential transparency/opaqueness issue, I am more interested in the discussion about the truth value of their content. Still, I agree with you that the perfect solution would exists, named graphs, but it is underspecified, which makes them just too vague for practical purposes. 

My obvious reaction would be: there are two kinds of graphs, asserting and non-asserting graphs, and we need two separate structures and syntaxes for the two of them, and this is what I am humbly trying to propose. You mention referential transparency (I am personally starkly in favour of it and do not see the big deal with referential opacity, but I am in no position or interest in debating it). These are two dimensions to work on, which creates four types of graphs: 

1) asserted graphs with referential transparency
2) asserted graphs with referential opacity
3) non-asserted graphs with referential transparency
4) non-asserted graphs with referential opacity

I am interested in 3) or 4). I assume you are interested in 1) or 3). Maybe we can identify 2) and 3) as the most urgently needed varieties of graphs and propose a simple split of the current concept?

> OTOH, time and again I’ve sworn myself to not take part in this CG any longer as for my taste it is just not interested enough in finding a good solution for meta modelling on the semantic web. Tediously did this CG need to be motivated to tackle real world issues like occurrences, referentially transparent triples and the like. Whatever this CG really is interested in, and why, is still not really clear to me, but it seems to be quite theoretical. So, the temptation to sit this CG out and wait for a real WG with hopefuly some more practically oriented participants has always been strong. But I also learned a lot.

If a CG is what is in the menu now, then CG is what we should be eating. If the kitchen is preparing starters you cannot complain there is no main entrée. 

My impression is that very little will be discussed in a real WG that hasn't been at least considered in one of the CGs that will feed it. This is why it is important that the output of this CG report also the issues that weren't approved, but were at least discussed. 

My 2c is: please make sure that a smooth transition exists between expressed-but-not-asserted triples and expressed-but-not-asserted containers of triples, and that their semantics is independent of application-dependent choice of the semantics of triples and containers. This is ALL I need. 




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"

Received on Wednesday, 22 December 2021 10:01:10 UTC

This archive was generated by hypermail 2.4.0 : Wednesday, 22 December 2021 10:01:12 UTC