This is a bit tricky because the common usage of the terms "resource" and "literal" has diverged from the strict definitions in RDFS.

Everything described in RDF is an rdfs:Resource (see https://www.w3.org/TR/rdf-schema/#ch_resource section 2.1). rdfs:Literal is thus a subclass of rdfs:Resource (see https://www.w3.org/TR/rdf-schema/#ch_literal section 2.3), so literals are also resources. However, in common usage "resource" is often used for URI resources and blank nodes (which are more unambiguously referred to as "entities" or "objects"), and opposed to literals such as strings, integers, dates, etc.

The range of rdf:value is rdfs:Resource, so the object can be any type of resource: a URI resource, a blank node, or a literal. This is why rdf:value can be used for structured data, as opposed to rdfs:label, whose range is rdfs:Literal.

OWL distinguishes owl:ObjectProperty, which takes an entity as an object – i.e., URI resources and blank nodes — and owl:DatatypeProperty, which takes an rdfs:Literal or an XSD datatype as an object. Unlike RDF properties, every OWL property is defined as one or the other. So in OWL terms, rdf:value is neither an ObjectProperty nor a DatatypeProperty. This may relate to Simon's first point regarding the Bibframe convention of distinguishing object and datatype properties.

Based on the above, rdfs:label would seem to be the preferred predicate in the examples cited below.

However, in certain of these cases it might be possible and more useful to define a controlled vocabulary of named individuals to serve as objects. As a hypothetical example, if there is a limited set of possible AccessPolicy values, we could have:

ex1:itemZ bf:usageAndAccessPolicy ex2:policyUnrestricted .

ex2:policyUnrestricted a bf:AccessPolicy ; 
rdfs:label "unrestricted" .


Rebecca Younes
Semantic Web Developer
Cornell University Library



From: Bibliographic Framework Transition Initiative Forum on behalf of Tom Johnson
Reply-To: Bibliographic Framework Transition Initiative Forum
Date: Tuesday, June 21, 2016 at 10:31 AM
To: "[log in to unmask]"
Subject: Re: [BIBFRAME] rdf:value

It's probably not a good idea to use rdf:value with bibframe, as the bibframe RDF convention is to use separate properties for object and data values.

Can you say more about this Simon? Does rdf:value have special meaning w.r.t. owl:ObjectProperty/DataProperty that I'm not aware of?

- Tom  

On Mon, Jun 20, 2016 at 4:31 PM, Simon Spero <[log in to unmask]> wrote:

On Jun 20, 2016 11:40 AM, "Denenberg, Ray" <[log in to unmask]> wrote:
>
> Joe - 
>
> We too found the W3C specs of little use here.  But the BIBFRAME view is that rdf:value supplies content that is machine processable; the content of rdfs:label is intended for display. 
>
> There may a case or two that doesn’t exactly conform to this distinction (your example of  bf:AccessPolicy rdf:value “unrestricted”   perhaps should instead be rdfs:label) but that’s the general rule of thumb.

It's probably not a good idea to use rdf:value with bibframe, as the bibframe RDF convention is to use separate properties for object and data values.

Also, rdf:value cannot be used with OWL tools, as is in a reserved namespace and not explicitly permitted.

Simon