- From: Marco Neumann <marco.neumann@gmail.com>
- Date: Mon, 2 Sep 2019 12:13:19 +0100
- To: thomas lörtsch <tl@rat.io>
- Cc: Pierre-Antoine Champin <pierre-antoine.champin@univ-lyon1.fr>, "public-rdf-star@w3.org" <public-rdf-star@w3.org>
- Message-ID: <CABWJn4QcpGcsYmywEgYBfdp0xzATeFvv9-AvMqsALOdYEW9EOw@mail.gmail.com>
On Mon, Sep 2, 2019 at 12:02 PM thomas lörtsch <tl@rat.io> wrote: > > On 2. Sep 2019, at 11:15, Pierre-Antoine Champin < > pierre-antoine.champin@univ-lyon1.fr> wrote: > > > > Dear Thomas, > > > > I have to strongly disagree with you. > > > > On Fri, 30 Aug 2019 at 18:16, thomas lörtsch <tl@rat.io> wrote: > >> We are on the Semantic Web here which in general is not aiming at such > subtleties. The semantics of identification in RDF are vague at best. Does > https://paris.com refer to the website or the city? > > > > The semantics of identification is *not* vague. It is precisely defined > in the RDF Semantics [1] specification. You can also refer to the RDF > Concepts [2] spec, section 1.3. It clearly talks about "the resource > denoted by an IRI" (note the *singular* use of "resource"). > > But you have heard of "social meaning", right? > just a random observation I had a similar conversations since 2001 and ongoing. It's why the name Semantic Web is somewhat unfortunate. If anything it's The Formal Semantic Web and it would have been a better choice as a name. I now prefer to think of it as Linked Data plus logic. It's certainly it's not the Social Semantic(s) Web. RDF* semantics seems to fall into the same trap here. So I better think of this as the RDF* formal semantics thread. > > > I'm not saying that it is always easy to decide what exactly an IRI > identifies. Especially with HTTP IRIs, which intuitively identify web > resources (i.e. digital objects) rather than persons or city. There has > been a long controversy [3] in the community about that, but it has been > settled. For example, http://dbpedia.org/resource/Lyon identifies a city, > while http://dbpedia.org/page/Lyon identifies the HTML document > describing that city. > > I wasn’t aware of that settlement. I don’t think it ends the debate about > how to disambiguate denotation from indication on the semantic web in > general. Note also that further scrutiny (or zealotry?) could demand to > disambiguate the web page from the web site, the historic city center from > some modern times administrative area etc etc. Note also that the other > examples I gave are still unresolved. So, the semantics of RDF are vague in > contrast to the subtle differentiations that natural language can express > and they’ll always be. It’s a formalism - that brings abstractions with it, > and abstractions cut off detail and sublime differentiations. That’s the > whole point of it. Re-introducing those subtleties has a high risk of being > arbitrary and rather limit exchange of information than facilitate it. > Introducing limits may of course be useful but in the case of blank nodes I > don’t think it is. IMO they should be handled as liberal as possible (of > course some *added* on-demand disambiguation notwithstanding which is what > I’m working on). > > > However, in the example at hand, there is no ambiguity: > > > > _:b1 rdf:type :Person. > > _:b1 :name "Alice". > > _:b1 :asserts _:b2. > > _:b2 rdf:type :Person. > > _:b2 :name "Bob". > > > > the 4th triples says it clearly: _:b2 identifies something of type > Person. If we agree that Persons and Statements are different kinds of > animals, then we can not possibly interpret this graph as "Alice assertin > some statement about…". > > Well, I think we could interpret the identification semantics of_:b2 as > either denoting some statements or as indicating what those statements > describe (or of course its own shere existance but let’s try to not get > into any more ratholes). Like any other URI that has not been disambiguated > through the dbpedia settlement mechanism that you refer to above this one > relies on "social meaning" and out of band agreement, maybe through > convention or intuition about "naturalness" or specified by the range of > the property used. > > In the example at hand I read: > "Alice asserts that a person named Bob exists" > or, to avoid the discussion about ’that’ that I had with Olaf: > "Alice asserts: a person named Bob exists" > or, to avoid the connotation of serious logic: > "Alice asserts a person Bob". > That third example however doesn’t sound right in english. There is a > msimatch between english and RDF - which is rather unsurprising as > formalisms are languages of their own and tend to have their own subtle > ways. > Now, what do *you* want to speak about - the person Bob or Alices > statement? Both is possible. > > > Later you wrote: > >> 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. > > > > The primary goal of *formal* languages is precisely to be less ambiguous > than natural languages. So yes, RDF should be expected to carry less > ambiguity than english prose. > > Isn’t this a rather naive take on the nature of formalisms? I guess we are > all aware of the high hopes in logic - Leibnitz' "Calculemus!" - and the > modest results so far. So what should or might be expected is not always > what we get. RDF however is not even aiming to be AI, it is a toolset that > e.g. relies on shared understanding about the meaning of the vocabulary > used. It’s a pity that one of its basic constructs, the blank node, has led > to so much confusion and discontent however it is also not really > surprising. RDF tries to simplify things to make them amenable to > ubiquituous use at unprecedented scale. With such a design goal some > details get inevitably lost in translation. > We could (try to) enforce the very strict semantics that you and Olaf > demand but I don’t think that’s a good idea. This is a Hydra that grows 2 > new heads for every one you cut off. If the issue is not pressing better > leave it alone. I rather advocate an approach that allows to express such > specifics on demand, like: if I need to make sure that some blank node is > understood in a certain way I’d like to have some syntactic sugar and > vocabulary at my disposable to do so. > > >> 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 > >> > > RDF Semantics [1], section 5.1, first sentence: "Blank nodes are > treated as simply indicating the existence of a thing". > > You couldn't have chose better words -- except for "not", obviously ;-) > > No, because you are missing the most important word in that sentence: > "simply" :-) This precisely tries to convey the intuition that one > shouldn’t interpret too much into blank nodes. RDF is much to simple, > simplistic even, to carry the meatphysical load that you and Olaf want it > to carry. Blank nodes are used as existential quantifiers with all the > logical consequences that come with it but they are also used as mere > anchor points to collect a few properties of something that is not meant to > get its own URI. A good example is > :Bob :hasAdress [ :street "abc-street 1"; :city "Hometown"; :zip > 12345 .] > Usually nobody would want to get philosophical about that blank node and > the sort of existential questions that can arise from it. In other > situations they are used exactly for the purpose of discussing existential > questions of existance. It depends. I’d say Postels law - "Be liberal in > what you accept…" - applies here in slightly modified form: "Be liberal in > what you expect a blank node to express". Or, in other words: curb your > enthusiasm ;-) > > Olaf’s initial critique of Kingsley’s proposal already showed the > difficulties that arise when we interpret too much in RDF structures: he > interpreted the blank node in the object position different from the blank > node in the subject position of Kinglsey’s example. It only got worse from > there when he drew a conclusion about the range of :claims - the slightly > bizarre ownership interpretation - from the syntactic structure of the > object alone. This is precisely what I critcize: RDF doesn’t support such > subtleties. It has blank nodes, reification of statement types (but not > tokens) and in a hackish way also graphs. How much expressivity can you > expect from that on its own? Of course you can model everything with the > help of suitable classes and properties but in and on itself RDF is very > limited and barely express some structure in the sea of triples. Relying on > that structure to transport a lot of meaning leads into dangerous > territories of - and that is an empirical fact that you can gather from > countless threads like this one on semantic web related mailing lists - > undissolvable disputations about the semantics of this, that and "but no I > meant *that*". That's the exact opposite of easy interoperability that the > Semantic Web is meant to enable. > > Thomas > > > pa > > > > [1] https://www.w3.org/TR/rdf11-mt/ > > [2] https://www.w3.org/TR/rdf11-concepts/ > > [3] https://en.wikipedia.org/wiki/HTTPRange-14 > > > > Does a graph name name or label the graph? Is a statement reification > referring to a type of statement or a statement token of that type? Cowpath > defaults and "social meaning" rule at every level of identification in RDF > and in general I think that in its alternativelessness this is a big > problem and needs to be solved. However I think it needs to be solved > through defaults and on demand disambiguation - late binding if you will - > , not through arbitrary descents into semantic rat holes and tedious > disambiguation when it isn't needed. > > The default mode of the Semantic Web is straightforward exchange of > facts like "there's a person named Bob of age 23 and alice, also a person, > claims something about him". A blank node is nothing more than a structural > helper, the semantic equivalent of a throw away plastic bag (I know we > don't do that anymore although we have conferences at the end of the world, > 11800 kg of CO2 from northern germany by plane). "There exists..." > yadayada. The most intelligent thing you can teach your dumb machine to do > is treat these facts at face value. Further subtleties may be encoded in > the vocabulary: some specific Alice vocabulary may define alice:claims to > have domain slaveholder and range slave as Olaf suggested. > > If you want to speak about the fact as it has been stated (provenance > etc) you need to reify it. Concise syntax and appropriate semantics would > help as I like to keep repeating. To RDF the person and the fact are both > just subjects of discourse, resources referenced by URIs. To RDF there is > no difference here. Which has the fine property of making endlessly nested > meta-meta-meta-... constructs possible - which is probably the least we > would need to model this conversation in RDF. > > But maybe you are not even suggesting to distinguish indication and > denotation but want to speak about something like the factuality of that > fact, no matter if or by whom it was stated? I wouldn't be able to follow > you there - to dangerous... ;-) > > > > >Second, RDF semantics is defined under the Open World Assumption: > > >whatever > > >you know about a given node, you have to assume that there *may* be > > >other > > >triples about that node that you are not aware of. So by the "sum of > > >its > > >attributes", do you mean "everything that is true about the node, > > >whether > > >you know it or not" (which would be consistent with the OWA), or > > >"everything that is stated in a given graph" (which would seem more > > >appropriate for representing a give claim by Alice)? > > > > > > That's an orthogonal question. Named Graphs could help if their > semantics are properly specified (easy, just define an appropriate > vocabulary, and use the RDF extension mechanism to define a suitable > semantics). > > > > > > Thomas > > > > > > > pa > > > > > >On Fri, 30 Aug 2019 at 11:46, thomas lörtsch <tl@rat.io> wrote: > > > > > >> > > >> > > >> > On 30. Aug 2019, at 10:29, Olaf Hartig <olaf.hartig@liu.se> wrote: > > >> > > > >> > Hi Thomas, > > >> > > > >> > On torsdag 29 augusti 2019 kl. 10:18:48 CEST thomas lörtsch wrote: > > >> >> [...] > > >> >> Ah, you are really taking all those little ’that’ words very > > >serious ;-) > > >> > > > >> > I better do; we are talking about semantics here ;-) > > >> > > > >> >> [...] your translation, "a person Bob who is of age 23", captures > > >the > > >> sense > > >> >> of factualness even better. > > >> > > > >> > Good. > > >> > > > >> >>> 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. > > >> >> > > >> >> Hmm, that *that* again ;-) So you mean the difference between > > >Alice > > >> claiming > > >> >> that there exists a "Bob, person, aged 23" and Alice claiming that > > >some > > >> >> already introduced and agreed upon person Bob is "aged 23"? > > >> > > > >> > 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 > > >> > > >> Well, so "claims" has more meanings then that usually assumed in the > > >> context of semantic web discussions about reification, provenance > > >etc. > > >> However: either Alice claims the existence or ownership of "a person > > >Bob > > >> who is of age 23". I don’t see what difference this makes with > > >respect to > > >> our discussion about RDF* etc. Anyway I wouldn't want the semantics > > >of some > > >> property to have such wide ranging consequences on the meaning of > > >basic > > >> structural constructs like a blank node (… amybe a bit too bold a > > >statement > > >> - I hope there aren’t any non-marginal counter examples proofing me > > >wrong). > > >> > > >> > 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. > > >> > > >> That’s quite strong as a requirement. As I said before: what else > > >could a > > >> blank node possibly mean then the sum of its attributes? Can you give > > >a > > >> convincing answer to that question? And with convincing I mean > > >"obvious", > > >> "intuitive", "in wide use". One might want to talk about the blank > > >node > > >> *itself* but that is really a corner case and there are much wider > > >gaps in > > >> the identification semantics of the Semantic Web that would need a > > >fix > > >> first. > > >> I think the other way round - you have to be specific if you want to > > >> address the triple, otherwise you address all that’s said about the > > >blank > > >> node - is practicable and unsurprising. We have to find idioms that > > >are > > >> easy to use and have intuitive defaults. There is never an end to > > >even more > > >> precision but that doesn’t scale. > > >> What I would endorse however is rather an 80/20 style approach like a > > >> specific property to talk about the blank node itself - sensible > > >defaults, > > >> specific instruments where required. Disambiguating identification is > > >also > > >> a case by case problem: identifiers play different roles in different > > >> situations. Concise statement attribution could make it feasible to > > >> disambiguate those roles when necessary. That would be great. > > >> > > >> > > >> Thomas > > >> > > >> > > >> > > >> >> Technically that is the difference between talking about a set > > >> >> of triples with the same subject (lines 4-6 in the above example) > > >and a > > >> >> single triple (line 6), right? > > >> > > > >> > Almost. See above. > > >> > > > >> > Best, > > >> > Olaf > > >> > > > >> > > > >> >>>> [...] > > >> >>>> 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. > > >> >> > > >> >> And I just wanted to express my endorsement of your position in > > >that > > >> >> respect. > > >> >>>> [...] > > >> >>>> 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 ;-) > > >> >> > > >> >> Great! :-) > > >> >> > > >> >>> ...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. > > >> >> > > >> >> No pressure! ;-) > > >> >> > > >> >> Thomas > > >> >> > > >> >>> Olaf > > >> > > > >> > > > >> > > >> > > >> > > > -- --- Marco Neumann KONA
Received on Monday, 2 September 2019 11:14:56 UTC