- From: thomas lörtsch <tl@rat.io>
- Date: Sat, 31 Aug 2019 00:40:24 +0200
- To: Martynas Jusevičius <martynas@atomgraph.com>
- Cc: Olaf Hartig <olaf.hartig@liu.se>, "public-rdf-star@w3.org" <public-rdf-star@w3.org>
> On 30. Aug 2019, at 22:41, Martynas Jusevičius <martynas@atomgraph.com> wrote: > > Thomas, > > I think the important part of Olaf's answer is the one you skipped, > with property domain range: > > :claims a rdf:Property . > :claims rdfs:domain foaf:Person . > :claims rdfs:range foaf:Person . > > this was your usage of :claims property, and it makes no sense to > "claim a person" (?!). That was Olaf's idea in his mail from 30. Aug 2019, at 10:30 >> While the fact that the person Bob has already been introduced and agreed upon >> is necessary to make single-statement claims about this person, this is >> secondary to the main point I keep on trying to make. Again, in my opinion, >> Kingsley's data cannot be interpreted as you do in your sentence above (person >> Alice claims "that there exists" a person Bob of age 23). In contrast, since >> bnode _:b2 represents 'a person Bob of age 23', the :claims triple with _:b2 >> in the object position is to be interpreted as: person Alice claims the person >> Bob (rather than claiming the existence of such a person). Hence, the verb >> "claim" here is used with its meaning of demanding ownership instead of its >> meaning of stating (potentially false) facts. See: >> >> https://en.wiktionary.org/wiki/claim#Verb >> >> If you would only want to capture that person Alice claims "that there exists" >> a person Bob of age 23, then the object of the :claims triple cannot be the >> bnode _:b2, but instead the object needs to be a graph that contains the three >> triples that have bnode _:b2 in their subject position. > It makes more sense however, to claim a > document: > > :claims a rdf:Property . > :claims rdfs:domain foaf:Person . > :claims rdfs:range foaf:Document . > > An example of claiming a document about Bob: > > ex:Alice :claims [ a foaf:Document; foaf:primaryTopic [ a foaf:Person; > foaf:name "Bob" ] ] . > > If we take :likes, then person is the range: > > :likes a rdf:Property . > :likes rdfs:domain foaf:Person . > :likes rdfs:range foaf:Person . > > Example: > > ex:Alice :likes [ a foaf:Person; foaf:name "Bob" ] . > > So I think it can be shown using basic inference that Olaf's > interpretation is correct here. Well, Kingsley introduced the property :claims and it was pretty clear that he meant it as a synonym for :asserts. Olaf as cited above claimed that :claim here can only be interpreted as :demandsOwnership (why he is so sure about that - because of the syntactic structure - I’m not really sure). I found that a little obscure but adjusted my argumentation for that case too - as it doesn’t really concern my main point. You now offer a solution through another range, changing from slavery to property. That’s fine but it doesn’t solve the problem we try to discuss. My point is: RDF is simple, simplistic even, and trying to interpret as much semantics into its basic constructs as Olaf does only leads into confusion, semantic quagmires and dead ends. "Building towers of subtleness from RDF straw", to paraphrase a paper by P.F.Patel-Schneider. The only sensible way to navigate a streamlined KR formalism like RDF is to look for the straightest possible interpretation, the intuitive and "natural" one, and take it from there. If that’s not enough, add another statement that explictly expresses what you need to get across. If you have to do that all too often, maybe add some syntactic sugar. I think we should get back to discussing RDF* ;-) Thomas > On Fri, Aug 30, 2019 at 10:25 PM thomas lörtsch <tl@rat.io> wrote: >> >> >> >>> On 30. Aug 2019, at 21:19, Olaf Hartig <olaf.hartig@liu.se> wrote: >>> >>> Thomas, >>> >>> On fredag 30 augusti 2019 kl. 19:03:16 CEST thomas lörtsch wrote: >>>> Am 30. August 2019 14:04:32 MESZ schrieb Olaf Hartig <olaf.hartig@liu.se>: >>>>> [...] >>>>> >>>>> <http://example.org/Alice> rdf:type foaf:Person . >>>>> <http://example.org/Alice> foaf:name "Alice" . >>>>> <http://example.org/Alice> :claims <http://example.org/Bob> . >>>>> <http://example.org/Bob> rdf:type foaf:Person . >>>>> <http://example.org/Bob> foaf:name "Bob" . >>>>> <http://example.org/Bob> foaf:age "23"^^xsd:integer . >>>>> >>>>> Perhaps now it becomes more apparent that, according to this data, >>>>> person Alice claims the person Bob (who is of age 23). This is >>>>> different than saying that person Alice makes the following claim: >>>>> the thing denoted by IRI is a person named Bob who is of age 23. >>>> >>>> No, it's the same. >>> >>> To me it's not the same. >>> >>>> The situation may change when you want to describe >>>> Alice's claiming activity. Claiming something as such is no different from >>>> liking, being located in etc. You wouldn't insist on putting the objects of >>>> such statements in parentheses. Something like >>>> >>>> ex:Alice ex:likes [ a foaf:Person; foaf:name "Bob" ] >>>> >>>> would be perfectly alright, wouldn't it? >>> >>> Assuming that the IRI ex:Alice is supposed to denote a person named Alice, >>> then the natural interpretation of these example triples (at least for me) >>> would be the following: Person Alice likes a person named Bob. Again, for me >>> that's different from saying: Person Alice likes that there exists a person >>> named Bob. >> >> It's not clear to me what you mean by "Person Alice likes that there exists a person named Bob.". There are different possible interpretations: >> It could mean "Alice doesn’t like Bob but she likes that he exists", maybe out of some libertarian sentiment. >> It could also mean, like before, "Person Alice likes a person named Bob" plus document that Alice celebrates a rather pompous style of speaking. >> This needs disambiguation even in plain english not to speak of RDF. RDF is not meant and can’t reasonably be expected to express such subtleties. To the contrary and that’s why I’m so insitant: this overloading of basic constructs needs to be rejected. RDF is "painfully simplistic" and for good reasons. It is wrong and even destructive to try to shoehorn some semantic precision into RDF that elevates the expressivity of basic constructs to the levels of poetry. >> >> If I wasn’t too lazy I would now check the RDF specifications as I’m sure there’s citable proof that blank nodes in RDF are not a means to speak about the shere existance of certain things but merely an utility to speak about subjects without explicitly minting a URI. All that "there exists" business is overloading the semantics of blank nodes in unintended ways and it complicates things unnecessarily. If you really needed to be so precise you would have to add more statements or even develop a suitable vocabulary. On that level you can do everything but not on the basic level of triples, blank nodes and graphs. >> >> Thomas >> >>> Olaf >>> >>> >>>> Actually we had a similar discussion already a few mails back and we agreed >>>> (I think) that you can model everything with pure triples. You don't *need* >>>> meta modelling (I never thought I would write that one day) if you nest >>>> your triples deep enough, although abstraction through meta modelling >>>> certainly can be very helpful. If the conversation itself is about meta >>>> modelling then it can be had with pure basic triples. >>>> >>>> >>>> Cheers, >>>> Thomas >>> >> >>
Received on Friday, 30 August 2019 22:41:02 UTC