Re: defining the semantics of lists

Cory

> On May 20, 2020, at 3:57 PM, Cory Casanave <cory-c@modeldriven.com> wrote:
> 
> Pat,
> Re: But any triple can be in any number of graphs. If a million people are using DBpedia, then there are probably some RDF triples that in thousands of graph documents at any given moment. 
>  
> Sure, the same assertion can be made in any number of graphs, but the same thing said by different parties may not be the same for the consumer – provenance matters!

It might be more believable from some parties, but it means the same thing everywhere, so its truth conditions and the semantic entailments will be the same everywhere.

>  
> We don’t “query the web” of triples, we query selected datasets/graphs on the web. Any by machine or life-form can only reason based on the information it has.

Of course, but that is not the point at issue. The point is, should it assume that what it has is in some sense complete, so that if it doesnt have something then that thing is false? And I think that the ground assumptoin here has to be, no, it cannot in general assume that.

> OWL recognizes these dependencies with “import”. Web searches may help us find datasets/graphs – but we then choose what to trust, we close the world for our task.

No, not necessarily. I trust Wikipedia to be largely accurate but I dont trust it to know about every tree on the Champs Elysee. Accuracy does not imply completeness. 

> This is not to say all reasoning should be closed, but that we should have a choice.
>  
> Is it such a stretch then to say that we trust a graph to be complete with respect to a set of individuals having a specific class or a set of predicates having a specific property?

Lets keep trust as a separate issue. 
>  
> The general case for all the use cases I have come across is just 2 axioms:
> 1: Things having a specific type; that for all ?Type {?Thing a ?Type} is in graph ?G.

All types?? Surely not. I doubt if any such graph has ever been or will ever be constructed. 

> 2: Predicates for a type; that for all ?Type, ?Predicate where {?Thing a ?Type },  {?Thing ?Predicate ?Object} is in graph ?G

Again, the ‘all ?Type’ is far too broad. No graph contains ALL information about ALL the classes any thing can be in. 

> So in both cases a specific triple pattern is restricted to a graph. Such graphs would be considered closed. The combination provides a lot of flexibility.
> (Not a suggested syntax!)
>  
> This then allows closed-world reasoning on ?Thing and ?Predicate. I can compute an “ultimate parent”.
>  
> I am missing why this is not valuable and tractable?

I think that something like this, if it could be made coherent and if people could use it coherently and reliably, would likely be useful. But it would have to be VERY clear EXACTLY what it meant, and intuitive enough so that it didn't get used wrongly (like owl:sameAs has been, for example, in spite of its very crisp normative semantics) and we would have to face up to it making RDF reasoning MUCH more complicated, more like a subset of PROLOG. In fact, so much more complicated that I think this should be a separate semantic extension, as others have proposed. It might be particularly handy as an extension to OWL, in fact. 

Pat

> Combined with sub-graphs as you have proposed (perhaps micro-sub graphs for context), many RDF issues would be resolved.
>  
> -Cory
>  
> From: Patrick J Hayes <phayes@ihmc.us> 
> Sent: Monday, May 18, 2020 7:44 PM
> To: thomas lörtsch <tl@rat.io>
> Cc: Cory Casanave <cory-c@modeldriven.com>; Semantic Web <semantic-web@w3.org>
> Subject: Re: defining the semantics of lists
>  
>  
> 
> 
> On May 18, 2020, at 5:55 PM, thomas lörtsch <tl@rat.io <mailto:tl@rat.io>> wrote:
>  
> ...
> 
> Yes, that ability – to say explicitly, in the data, that a certain set of data is complete wrt some kinds of information – would enable closed worlds to be reasoned about in an open-world reasoning framework. It is not easy to see how to do this, however. I have thought about this on and off for about a decade or more, and have not come up with a workable general way to do it. 
> 
> Would very fine grained Named Graphs (*) help? Rather Named Triples that can be grouped to Graphs in arbitrary ways (virtual/nested/overlapping/fluid Named Graphs if you want). May no scale super well but let’s not do early optimization. 
> 
> I do not follow what you mean here by ‘fine grained'. Named graphs would certainly help, indeed are arguably essential. 
> 
> I mean defining triple per triple to what graph it belongs. That way you can have arbitrarily nested and overlapping graphs - which you’ll need when you put all sorts of information (like closedness, provenance, context etc etc) in the graph layer
>  
> ? But any triple can be in any number of graphs. If a million people are using DBpedia, then there are probably some RDF triples that in thousands of graph documents at any given moment. 
>  
> Pat

Received on Wednesday, 20 May 2020 21:44:06 UTC