W3C home > Mailing lists > Public > public-data-shapes-wg@w3.org > January 2015

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

From: Peter F. Patel-Schneider <pfpschneider@gmail.com>
Date: Fri, 02 Jan 2015 10:36:10 -0800
Message-ID: <54A6E51A.3010701@gmail.com>
To: kcoyle@kcoyle.net, public-data-shapes-wg@w3.org
Resource is a term defined in several W3C documents.  In particular, RDF 1.1 
Concepts and Abstract Syntax has a section on Resources and Statements,
http://www.w3.org/TR/rdf11-concepts/#resources-and-statements, where resources 
are stated to be the things that are denoted by IRIs and literals (and blank 
nodes, too, but this comes later).  Here is one of the places where "resource" 
is defined as the universal category.

This working group is an RDF working group and is obliged to use words like 
resource in the way they are defined in the RDF specifications, unless there 
is no chance that the use of such words could be considered to refer to their 
RDF meanings.

rdfs:Resource an IRI that is given a fixed meaning in a section of RDF Schema 
1.1 http://www.w3.org/TR/2014/REC-rdf-schema-20140225/#ch_resource. 
rdfs:Resource there defined as the class of everything.  All resources are 
instances of this class.  The definition is made formal in a section of RDF 
1.1 Semantics 

This working group is similarly obliged to use IRIs like rdfs:Resource in the 
way they are defined in the RDF specifications.

It is certainly the case that the RDF meaning of resource is different from 
the RDF meaning of rdfs:Resource.  However, both of these are vital parts of 
RDF, and have meanings in RDF that this working group is obliged to defer to.


On 12/23/2014 07:47 AM, Karen Coyle wrote:
> 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
Received on Friday, 2 January 2015 18:36:39 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 20:02:09 UTC