- From: Pierre-Antoine Champin <pierre-antoine.champin@ercim.eu>
- Date: Sat, 19 Feb 2022 19:06:26 +0100
- To: antoine.zimmermann@emse.fr
- Cc: "public-rdf-star@w3.org" <public-rdf-star@w3.org>
- Message-ID: <70a32417-e159-6b24-74cf-9d132c5ad450@ercim.eu>
Antoine, On 15/02/2022 17:32, Antoine Zimmermann wrote: > Pat, > > The fact that something is beside the point depends on one's opinion > and perspective, but it also depends on what is "the point". > > Here it seems you are arguing about a different point. I completely > agree with the fact that there are different ways of modelling or > designing a representation for many things, and many of them are > valid. I never pretended otherwise. Your examples are certainly > relevant (atom/city/etc), but again, this is beside the point I'm > trying to make. > > My point is the following: if someone defines a property "foaf:name" > and describes its intended meaning as "the relation between a person > and their name", followed by an example such as: > > az:me foaf:name "Antoine Zimmermann" . > > then it comes to no one's surprise that a string literal is used in > the object position. Other models are valid, for sure, where an IRI is > used to identify a name, and more details about the names can be > expressed. But at least, the choice of a literal here is not regarded > as a bad design. ... by *most* people, because it does not break their use cases. It is bad design in the (admittedly niche) use-case of linguists or terminologists for whom "names" are complex entities distinct from their textual encoding. > > However, if someone defines a property "foaf:knows" and describes its > intended meaning as "a relation between a person and someone they > know", followed by an example such as: > > az:me foaf:knows "Pat Hayes" . > > then it is legitimate to consider that the example is mistaken. ... again, by *most* people, because it will break quickly in many common use-cases. However, conversely to the previous example, I believe there are a few situations where this design is sufficient, and will not break (because the needs are simple enough). You seem to consider that there is a crisp and absolute boundary between bad design and good design. I claim that its is instead relative and blury. Granted, the "knows as String" example above is *very* brittle (it will almost certainly break). And granted also, it would much more appropriate, in in that case, to define the property as "a relation between a person and THE NAME OF someone they know". Which leads me to the following comment... > This kind of confusion between a casual name and an identifier is > regarded as a mistake in databases, in object oriented programming, > and in modelling knowledge in general. If someone has a relational > table "Employee", with a numeric primary key, and there is a column > "manager", where manager is intended to identify an employee that > manages (or supervise) the given employee, then it is a mistake to use > a String. One should use a foreign key that refers to the primary key > of the Employee table. > Similarly, if there is a class Employee in an object oriented > programme, and one wants to introduce an attribute "knows" that > connects the employees to the list of people they know, it is a bad > design to define "knows" as an array of strings. One should use an > array (or hashSet, or List, or any kind of collection) of objects of > type Employee. > Any student who is learning DBMS or OOP would be considered mistaken > if they used strings to model the reference to employees. > > Following the same idea, I claim that: if Pierre-Antoine defines the > property "ex:accordingTo" as intended to represent a relation between > a claim and a person, The blog post does not contain any such description of 'ex:accordingTo'. On the contrary, the blog post shows how this designs may eventually break, and provides an alternative where the distinction between 'statement' and 'claim' is explicitly discussed. > followed by the example: > > <<:empl38 :jobTitle "Assistant Designer">> ex:accoridngTo :empl22 . > > then there is a mistake in the example (or in the model). The RDF-star > node <<:empl38 :jobTitle "Assistant Manager">> denotes a structure > that involves the specific URIs ":empl38" and ":jobTitle", and > involves the specific string literal "\"Assistant > Manager\"^^xsd:string", which can arguably be considered a bad way of > modelling a claim. Yes, and this is what the whole second half of the post is discussing. > > > But in the case of RDF-star, the fact that a quoted triple does not > denote a claim in the broad sense of the term [*] is hidden in the > formal definition of the semantics that few people will be diligent > enough to check (See > https://w3c.github.io/rdf-star/cg-spec/editors_draft.html#rdf-star-semantics). Agreed. And one of the main point of this post was to highlight this issue, in a hopefully more accessible way. > This kind of blog post that Pierre-Antoine authored may lead to > inconsiderate usage of the RDF-star model, and therefore, I consider > it to be misleading. > > > The problem in RDF-star documentation and literature, is that this > confusion between merely being a claim, and being a thing attached to > specific URIs and literals, is maintained throughout all examples. I understand that we may disagree on the quality of the first examples in the post (intrinsically bad vs. good enough for some use-cases), but I don't think it is fair to say that "this confusion (...) is maintained throughout all examples". Quoting the blog post: "The problem with the last example above is that we are not talking about the triple |<< :employee38 :jobTitle “Assistant Designer” >>| (which is uniquely identified by its subject, predicate and object). We want to talk about two similar but distinct *claims*, each claim with its own identity, and its own properties." Followed by *other examples* where claims are explicitly modelled, as a distinct entity from the quoted triple. pa > Modelling the claims themselves (and not the RDF representation of > them) is a desirable feature for many use cases. So, if RDF-star is > presented as able to address these use cases, a lot of people may be > attracted to it with the wrong assumptions on what RDF-star can truly > represent. > > > --AZ > > > [*] To be precise, a quoted triple denotes something that is related > to a specific predicate IRI, at least, and possibly a subject IRI, an > object IRI, and/or an object literal. So, a quoted triple, rather than > denoting a claim in the common understanding, denotes "a claim > attached to a certain predicate IRI". This nuance is hidden in the > documentation. > > > > Le 07/02/2022 à 20:32, Patrick J. Hayes a écrit : >> >> >>> On Feb 4, 2022, at 2:22 AM, Antoine Zimmermann >>> <antoine.zimmermann@emse.fr <mailto:antoine.zimmermann@emse.fr>> wrote: >>> >>> ... most people, I believe, would accept that a name can be a >>> character string (and vice versa). ... We identify names and >>> character strings all the time, and it is fine. If you are working >>> in the field of lexicography and philology, you may want to identify >>> words, word representations, word senses, etc. with individual URIs, >>> but I'd say it is beside the point. >> >> But we can say the same about many topics, perhaps all of them. >> >> Most people would accept that one atom of an element is just like >> another. We do that all the time, and it is fine. If you are working >> in the field of nuclear chemistry you may want to identify different >> isotopes, such a C-14 and C-12, with individual URIs, but I'd say it >> is beside the point. >> >> Most people would accept that a city is just a place. We do that all >> the time, and it is fine. If you are working in the field of civic >> administration you may want to identify different administrative >> entities, such as the City of London and Greater London, with >> individual URIs, but I'd say it is beside the point. >> >> And so on. >> >> "I'd say it is beside the point" simply means "I am not interested in >> that particular distinction and am happy to ignore it", but of course >> others may differ. Whenever you take that position you implictly >> exclude some users, by making it impossible for them to speak of what >> interests them. >> >> Pat >
Attachments
- application/pgp-keys attachment: OpenPGP public key
Received on Saturday, 19 February 2022 18:06:32 UTC