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

In RDF all resources can have property values, even literal values.

peter


On 12/20/2014 02:48 PM, Holger Knublauch wrote:
>
> On 12/21/14, 1:12 AM, Peter F. Patel-Schneider wrote:
>>
>> It appears that you are asking for the class whose instances are all
>> resources excluding literal values.  The expressive power required for this
>> class goes well beyond the bounds of RDFS.
>
> This is quite surprising... to have a language that includes rdfs:range but no
> mechanism to say that all values of a property need to be nodes that can have
> further properties ("objects" in OO speak). This concept is fundamental,
> because it includes everything that can be a subject, i.e. have properties of
> their own.
>
>>
>> This new class cannot be the superclass of all classes.  It is not a
>> superclass of the class that is the fixed meaning of rdfs:Resource, of
>> course, and it is also not a superclass of class that is the fixed meaning
>> of rdfs:Literal or of any of the datatype classes.  Making this class a
>> superclass of all classes would break RDFS.
>
> I think we need to break RDFS anyway, don't we? RDFS is fundamentally not
> suited for closed world constraint checking, see the semantics of rdfs:domain
> and range, the lack of an enforceable identification mechanism for blank nodes
> and other weird design decisions that were made with good intentions, but
> different use cases in mind.
>
>>
>> It would also not be the case that the meaning of all IRIs and blank nodes
>> would belong to this new classes.  In RDF the meaning of an IRI or a blank
>> node can be a literal value.
>
> Based on my current understanding, I think we should simply make the following
> pragmatic assumptions:
>
> - if a property has no valueType/range, then it can have IRIs, bnodes or literals
> - if a property has valueType=rdfs:Resource then it can have IRIs and bnodes
> - if a property has valueType=rdfs:Literal then it can have a literal of any
> datatype.
>
> This is how it's currently implemented in the systems that I know of (and
> certainly the tools that I helped developed, and I went through the code for
> form generation in many iterations). We just cannot introduce another named
> class for "IRI or bnode" because it breaks the superclass relationships of all
> existing ontologies. And I want to continue to be able to use something like
>
>      ?type rdfs:subClassOf* ?valueType .
>      ?instance rdf:type ?type .
>
> to find all possible values of a given value type.
>
> Anything else seems just not practical given that the foundations of RDFS are
> what they are, whether we like them or not.
>
> Having said this, I am of course OK with avoiding the term "Resource" in the
> prose of the specs - rdfs:Resource as above is just used as a URI even if it
> does not fully align with the philosophically inspired meaning of "Resource"
> in the RDF specs.
>
> Holger
>
>

Received on Sunday, 21 December 2014 00:38:39 UTC