Re: RDF* semantics

Hi Thomas,

On Sun, 2019-08-25 at 14:02 +0200, thomas lörtsch wrote:
> > On 17. Aug 2019, at 17:49, Olaf Hartig <olaf.hartig@liu.se> wrote:
> > Kingsley,
> > [...]
> > I know. That's why I am saying that, according to your example data, what 
> > Alice is claiming is a person (something of type foaf:Person) rather than a 
> > statement about the person. Let's break down your Turtle-formatted example 
> > data by writing it in Turtle *without* the syntactic abbreviations of Turtle 
> > that you have been using, which gives us the following snippet of Turtle:
> > 
> > _:b1  rdf:type  foaf:Person .
> > _:b1  foaf:name  "Alice" .
> > _:b1  :claims  _:b2 .
> > _:b2  rdf:type  foaf:Person .
> > _:b2  foaf:name  "Bob" .
> > _:b2  foaf:age "23"^^xsd:integer .
> > 
> > As I hope you see now, there is some thing--denoted by blank note _:b2--that 
> > the person Alice :claims and this thing is of rdf:type foaf :Person. So, 
> > according to this data, Alice claims a person.
> 
> How is it that in your interpretation _:b1 stands for "Alice" but _:b2 is
> interpreted as "some thing of rdf:type foaf :Person"? With your interpretation
> of _:b1 you follow natural intuition whereas your interpretation of _:b2 jumps
>  boldly into unhealthy semantic quagmires.

Perhaps I tried to be overly precise regarding _:b2, which is the thing
that the discussion focuses on. So, let's try again based on your
"natural intuition":

> [...] the only natural reading IMHO opinion is the one that Kingsley intended.
> The natural interpretation of _:b1 in its entirety is "the person Alice"

Let's say: _:b1 is *a* person Alice (since we don't know which Alice).

> and of _:b2 it’s as well the entirety of all properties, namely that
> "the person Bob is of age 23".

No. In my opinion, _:b2 cannot be interpreted as something saying *that*
the person Bob is of age 23. Instead, it should be interpreted as a
person Bob who is of age 23.

Therefore, all the triples together seem to say that a person named
Alice claims a person named Bob who is of age 23. My initial example
said something else, namely: person Alice claims *that* person Bob is of
age 23.

> [...]
> However I would also like to stress that such modelling is not
> meta-modelling and it is not equivalent to a layer of abstraction
> (vulgo taking one step back) like reification or named graphs.

Exactly! That's the point I am trying to make with this example. To
capture the statement that "Alice claims *that* Bob is of age 23," we
need a form of meta-modeling.

> [...]
> Well, as I’m on it, a shameless plug: I recently posted an unhaelthily
> long mail to this list . That mail started with [...] I wonder if anybody
> bothered to read that sermon.

I did ;-)
...and I was planning to respond to it. However, since I am on this list
here in my spare time, I couldn't get to it right away.

Olaf


> 
> Cheers,
> Thomas
> 
> > That's different from what was 
> > meant to be captured in my original example, namely, that Alice makes a claim/
> > statement *about* a person (in my original words: "we my want to capture that 
> > Alice told us that Bob's age is 23, even if we don't have a document from 
> > Alice with this statement/claim regarding Bob's age").
> > 
> >> [...]
> >> BTW -- I can also do all of this in a document (as per SPARQL Named
> >> Graphs) and just pepper the document with additional metadata for
> >> provenance purposes. Basically, why aren't  SPARQL Named Graphs a viable
> >> solution to this problem i.e., RDF stays as is for data definition while
> >> languages such as SPARQL handle operations on RDF structured data?
> > 
> > I never said that Named Graphs cannot be used as a solution (to the problem of 
> > representing and querying metadata about individual triples). In contrast, 
> > such an application of the concept of Named Graphs may be defined by assuming 
> > that every relevant Named Graph consists of a single triple only. However, by 
> > using the concept of Named Graphs to capture triple-level metadata, it becomes 
> > tricky to also represent and query graph-level metadata. More precisely, it 
> > becomes tricky to represent both triple-level metadata and graph-level 
> > metadata within the same dataset; and it becomes tricky to request both 
> > triple-level and graph-level metadata within the same query.
> > 
> > Olaf
> > 
> > 
> >>>> [...]
> >>>> 
> >>>>> I guess what you actually wanted to write was something
> >>>>> like the following:
> >>>>> 
> >>>>> [ a foaf:Person; foaf:name "Alice"]
> >>>>> 
> >>>>>           :claims [ a rdf:Statement ;
> >>>>>           :
> >>>>>                     rdf:subject   :Bob ;
> >>>>>                     rdf:predicate foaf:age ;
> >>>>>                     rdf:object    "23"^^xsd:integer ] .
> >>>> 
> >>>> No, that is just a reified version of my initial statement.
> >>> 
> >>> Are you saying that you consider the set of triples serialized as this
> >>> piece of Turtle to be semantically equivalent to the set of triples
> >>> serialized in the piece of Turtle above?
> >> 
> >> Of course not.
> >> 
> >> 
> >> Kingsley
> >> 
> >>>> [...]
> >>>> 
> >>>>> By the definition of the RDF* data model, every RDF graph is an RDF*
> >>>>> graph. Additionally, by the definition of the RDF*-to-RDF mapping, every
> >>>>> RDF* graph can be viewed as an RDF graph.
> >>>> 
> >>>> Sorta, but this is serious work to be done explaining all of this in a
> >>>> manner that prevents the confusion I fear.
> >>> 
> >>> Point taken.
> >>> 
> >>> Olaf
> > 
> > 
> 

Received on Thursday, 29 August 2019 07:15:30 UTC