RE: Terminology: How to call "IRI or blank node"?

I agree.

To add to this, even if we said this use in APIs represented a conflation, it would only prove that there is no harm from it. Developers have been using Jena and Sesame APIs. Both APIs use Resource to mean a union of IRIs and blank nodes. This caused no problems in building applications. I don’t think anyone ever expected to get a "real resource" by using the APIs, only the data structures.

Further, this happened notwithstanding the precise writing in the specification. I believe because the developers implementing the specification needed a word to use for an important concept - something that can be a subject of a triple. People teaching and learning RDF also needed such a word. Specs didn't provide this term because it didn’t take into account the needs of the audience. Instead, it made points about resources being something different from the data which was a superfluous and strange thing to point out, so most people just blocked it out. 

To me, understanding and addressing well the key needs of the audience in a standard and in the description of the standard is much more important than anything else.

Irene

-----Original Message-----
From: Karen Coyle [mailto:kcoyle@kcoyle.net] 
Sent: Tuesday, December 23, 2014 10:48 AM
To: public-data-shapes-wg@w3.org
Subject: Re: Terminology: How to call "IRI or blank node"?



On 12/22/14 7:25 PM, Peter F. Patel-Schneider wrote:
> Agreed.  I did not provide any examples concerning problems that such 
> misconceptions have caused.
>
> How about the recent discussion concerning "resource" in resource 
> shapes as a proximate example?  How about the difference between 
> "resource" in RDF and "resource" in several RDF APIs?

The difference we've been discussing, as I've understood it, is between rdfs:Resource and "resource". The former is formally defined and one should abide by that definition when using rdfs:Resource. The latter is a general term in English with a less precise meaning, and, AFAIK, anyone can give it a meaning in their own API. There is no reason to assume that it means the same as rdfs:Resource. Nor that the word "thing" means the same as owl:Thing. I admit that I use the terms "resource" and "thing" frequently without intending their RDF meanings; in particular, "resource" is commonly used in libraries and archives to mean "the created resource which we are describing."

It might be a good idea to avoid using "resource" in an RDF-related context in a way that might be confused with rdfs:Resource. It depends, as Irene says, on whether users in that context with be confused. I could definitely imagine using "resource" in a user interface for metadata creation, or a user display. My users will be totally unaware of the existence of rdfs:Resource. "Resource shapes" works for me. I'm not comfortable with a re-defining of rdfs:Resource to mean "an IRI or a blank node" because it already has a precise definition that is different from that. I don't know what the use is in the APIs, but it's possible that the use of "resource" does not cause confusion.

kc

>
> peter
>
>
> On 12/22/2014 07:18 PM, Irene Polikoff wrote:
>> Peter,
>>
>> This is a an abstract theoretical statement not supported by any 
>> specific real practical examples.
>>
>> We have had many years of practice. By "we" I mean software 
>> professionals. In practice, multiple data models have been in use for 
>> a long periods of time - for example XML and relational databases to 
>> name the most popular ones. These models do not make a point to talk 
>> about the distinction between the data structures and things in the 
>> world the data represents. Their lack of attention to this 
>> distinction has not prevented them from being hugely successful and 
>> used in pretty much every piece of software today.
>>
>> Further, I am not aware of any software professional who have ever 
>> confused the data structures with the things they represent. Every 
>> one understands clearly and unambiguously that the information space 
>> is just that - information. A graph with data about Dick Chaney is 
>> just data, not the person. To my knowledge, no one have ever had a 
>> misconception about it. Based on the experience to date, the 
>> probability of anyone having such misconception in the future is 
>> extremely low.
>>
>> I am certain there are challenges in creating a useful standard 
>> specification, but this one seems to be the least of the issues.
>>
>> If you have examples of the real (not a casual colloquial speech) 
>> confusion between RDF nodes as data and resources in the world as 
>> things, I'd like to hear about them and learn about the problems they 
>> have caused.
>>
>> Irene
>>
>>
>>> On Dec 22, 2014, at 8:31 PM, "Peter F. Patel-Schneider"
>>> <pfpschneider@gmail.com> wrote:
>>>
>>> The danger is that one talks about a node when one means to talk 
>>> about a resource, or vice versa.  This can be benign, if the 
>>> misconception either is not important or can be easily fixed, or 
>>> serious, if the misconception matters and is not easy to fix.
>>>
>>> When one is writing specifications, the only safe assumption is that 
>>> misconceptions are matter and are not easy to fix, because one does 
>>> not know the contexts in which one's terminology will be used.
>>>
>>> peter
>>>
>>>
>>>
>>>> On 12/22/2014 04:59 PM, Irene Polikoff wrote:
>>>> So, let's say there is a theory and meta theory and even several 
>>>> layers of it. There used to be a joke slogan in the OO community, 
>>>> btw, "Anything you can do, I can do meta". And let's say, these get 
>>>> conflated.
>>>>
>>>> Who and what will such conflation impact negatively? What systems 
>>>> and applications get broken? How will it change what people who are 
>>>> using the standards to build solutions are doing and how they are 
>>>> putting the technologies to work?
>>>>
>>>> In other words why is this important and what parts are important?
>>>>
>>>> Irene
>>>>
>>>> Sent from my iPhone
>>>>
>>>>> On Dec 22, 2014, at 12:28 PM, "Peter F. Patel-Schneider"
>>>>> <pfpschneider@gmail.com> wrote:
>>>>>
>>>>> Being the same is a concept that needs clarification here.
>>>>>
>>>>> Yes, "2"^^xs:integer is a literal and ex:two is a URI.  These 
>>>>> cannot be the same in RDF because URIs, blank nodes, literals are 
>>>>> disjoint.  However, ex:two can be required to denote an integer, 
>>>>> which is a literal value.
>>>>>
>>>>> Yes, there is no atomic name in the metatheory of RDF that stands 
>>>>> for those nodes in an RDF graph that can be the subject of a 
>>>>> triple in an RDF graph. But why does there have to be?  One can 
>>>>> always say "IRI or blank node".
>>>>>
>>>>> One could create such an atomic name.  One might use "entity" for 
>>>>> this purpose.  However, one should *not* use rdf:Entity, as that 
>>>>> would conflate the RDF theory (where one has names like 
>>>>> rdf:Property, rdfs:Resource, and xs:Integer) and the RDF 
>>>>> metatheory (where one has names like resource, RDF graph, IRI, and
>>>>> property).   Well, if rdf:Entity was not an IRI, then there might
>>>>> not be a conflation, but there would be other problems.
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> peter
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>> On 12/22/2014 07:49 AM, Irene Polikoff wrote:
>>>>>> At some point in the discussion we have agreed not to talk about 
>>>>>> resources when discussing RDF graphs and, instead, talk about nodes.
>>>>>>
>>>>>> I am talking about literal nodes.
>>>>>>
>>>>>> Given the following triples
>>>>>>
>>>>>> ex:house ex:number "2"^^xs:integer ex:two rdf:type xsd:Integer 
>>>>>> ex:house ex:number ex:two
>>>>>>
>>>>>> There will be two different nodes for the number 2. The first one 
>>>>>> is the literal node. The second one is an IRI node. They will 
>>>>>> never be the same and the graph represented by the first triple 
>>>>>> is not the same graph as the graph represented by the two last triples.
>>>>>>
>>>>>> The fact that ex:two may stand for the "real world" resource that 
>>>>>> philosophically is the same is irrelevant here as we are talking 
>>>>>> about data structures and their processing.
>>>>>>
>>>>>> The vocabulary term that is missing is the one that identifies 
>>>>>> RDF terms that can be subjects of a triple. In the context of 
>>>>>> this working group, this is an important concept that needs its 
>>>>>> own name. I propose rdf:Entity.
>>>>>>
>>>>>> Irene
>>>>>>
>>>>>>
>>>>>> Sent from my iPhone
>>>>>>
>>>>>>> On Dec 22, 2014, at 10:10 AM, "Peter F. Patel-Schneider"
>>>>>>> <pfpschneider@gmail.com> wrote:
>>>>>>>
>>>>>>> There are a number of intertwined issues here.
>>>>>>>
>>>>>>> Are literal values resources in RDF?  Yes, a literal value 
>>>>>>> (e.g., the number 2) is a resource.  This is just abiding by the 
>>>>>>> principles of resources in the Semantic Web.
>>>>>>>
>>>>>>> Can literal values have property values in RDF?  Yes, a literal 
>>>>>>> value (e.g., the number 2) can have property values.
>>>>>>>
>>>>>>> Can URIs denote literal values in RDF?  Yes, a URI (e.g., 
>>>>>>> ex:two) can denote a literal value (e.g., the number 2).  This 
>>>>>>> is just abiding by the principles of IRIs in the Semantic Web.
>>>>>>>
>>>>>>> Is it possible in RDFS to make a URI to denote a literal value 
>>>>>>> without causing a contradiction?  Yes, via something like  
>>>>>>> ex:two rdf:type xsd:Integer.
>>>>>>>
>>>>>>> Is it possible in RDFS to state that some literal value has a 
>>>>>>> property value without causing a contradiction?  Yes, via 
>>>>>>> something like ex:two rdf:type xsd:Integer. ex:two ex:prime 
>>>>>>> xsd:true.
>>>>>>>
>>>>>>> Is it possible in RDFS to directly state that a particular 
>>>>>>> literal value has a property value?  No, because literals cannot 
>>>>>>> be the subject of RDF triples.
>>>>>>>
>>>>>>> Is it possible in RDF to get close to stating that a particular 
>>>>>>> literal value has a property value?  Yes, you can use 
>>>>>>> reification as in  _:a rdf:subject 2. _:a rdf:predicate 
>>>>>>> ex:prime. _:a rdf:object xsd:true.
>>>>>>>
>>>>>>> peter
>>>>>>>
>>>>>>>
>>>>>>>> On 12/22/2014 06:39 AM, Irene Polikoff wrote:
>>>>>>>> RDF specification clearly says that there are 3 types of RDF
>>>>>>>> nodes: IRI, blank node and literal. Each has its own 
>>>>>>>> unique/different characteristics including, for example, that 
>>>>>>>> literal can only be an object of a triple and blank node can't 
>>>>>>>> be a predicate of a triple.
>>>>>>>>
>>>>>>>> I believe the specification makes it clear that these  three 
>>>>>>>> node types are disjoint. Thus, ex:two can not be a literal node 
>>>>>>>> as it is an IRI. I also thought we were discussing here RDF 
>>>>>>>> nodes, not abstract concepts of literals.
>>>>>>>>
>>>>>>>> I remember hearing that there were some discussions in the RDF 
>>>>>>>> working group about letting literals be subjects, but this 
>>>>>>>> proposal was rejected, wasn't it?
>>>>>>>>
>>>>>>>> Irene
>>>>>>>>
>>>>>>>> Sent from my iPhone
>>>>>>>>
>>>>>>>>> On Dec 22, 2014, at 8:49 AM, "Peter F. Patel-Schneider"
>>>>>>>>> <pfpschneider@gmail.com> wrote:
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>>> On 12/22/2014 01:45 AM, ☮ elf Pavlik ☮ wrote:
>>>>>>>>>>> On 12/21/2014 01:38 AM, Peter F. Patel-Schneider wrote:
>>>>>>>>>>> In RDF all resources can have property values, even literal 
>>>>>>>>>>> values.
>>>>>>>>>>>
>>>>>>>>>>> peter
>>>>>>>>>> Hi Peter :)
>>>>>>>>>>
>>>>>>>>>> Could you please explain it little more and if possible share 
>>>>>>>>>> links to relevant references?
>>>>>>>>>>
>>>>>>>>>> Thanks!
>>>>>>>>>
>>>>>>>>> The original version of RDF, as described in the RDF Model and 
>>>>>>>>> Syntax Specification 
>>>>>>>>> http://www.w3.org/TR/1999/REC-rdf-syntax-19990222/, talks 
>>>>>>>>> about Resources and Literals, but does not indicate directly 
>>>>>>>>> whether they are disjoint.  However, there is already the idea 
>>>>>>>>> that anything is a resource and that anything can described by 
>>>>>>>>> a URI.  See Section 2 
>>>>>>>>> http://www.w3.org/TR/1999/REC-rdf-syntax-19990222/#basic and 
>>>>>>>>> Section 5 
>>>>>>>>> http://www.w3.org/TR/1999/REC-rdf-syntax-19990222/#model for 
>>>>>>>>> more information.
>>>>>>>>>
>>>>>>>>> The original version of RDFS,
>>>>>>>>> http://www.w3.org/TR/1998/WD-rdf-schema/, which never became a 
>>>>>>>>> full W3C recommendation, has the initial class hierarchy, 
>>>>>>>>> including rdfs:Resource, rdfs:Literal, rdfs:Class, and
>>>>>>>>> rdf:Property in Figure 2.   In this figure, rdfs:Resource is
>>>>>>>>> the universal class, with rdfs:Class, rdf:Property, and 
>>>>>>>>> rdfs:Literal all as subclasses.  Here is the first direct 
>>>>>>>>> requirement that literal values are resources.
>>>>>>>>>
>>>>>>>>> The first formal treatment of RDF is in RDF Semantics 
>>>>>>>>> http://www.w3.org/TR/2004/REC-rdf-mt-20040210/.  Here 
>>>>>>>>> interpretations for RDF are first defined, in Section 1.3 
>>>>>>>>> http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#interp, with 
>>>>>>>>> the domain of an interpretation being the set of resources and 
>>>>>>>>> a subset of the resources being literal values, as in the 
>>>>>>>>> original version of RDFS.  Properties are another subset of 
>>>>>>>>> the resources, which are linked to their extent, which is a 
>>>>>>>>> set of pairs over the resources.  There is no requirement here 
>>>>>>>>> that literals cannot be the first element of a property pair.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> One might argue that the formal treatment is a misreading of 
>>>>>>>>> the informal 1999 description of RDF, but the ability for 
>>>>>>>>> literals to have property values has definitely been in RDF 
>>>>>>>>> since at least 2004.  This stance is also consistent with the 
>>>>>>>>> dictum that URIs can identify anything, which includes literal 
>>>>>>>>> values.
>>>>>>>>>
>>>>>>>>> For example, one can say in RDF
>>>>>>>>>
>>>>>>>>> ex:two rdf:type xsd:Integer .
>>>>>>>>> ex:two ex:prime xsd:true .
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Peter F. Patel-Schneider
>>>>>>>>> Nuance Communications
>>>>>>>>>
>
>

--
Karen Coyle
kcoyle@kcoyle.net http://kcoyle.net
m: 1-510-435-8234
skype: kcoylenet/+1-510-984-3600

Received on Tuesday, 23 December 2014 16:47:50 UTC