rangeIncludes

61 views
Skip to first unread message

Les Kneebone

unread,
Jan 27, 2016, 5:45:15 AM1/27/16
to Learning Resource Metadata Initiative
I'm a thesaurus manager so I'm always going to be that guy complaining when his vocabularies can't be used in every context so apologies in advance :-)

If I define a vocabulary that is compatible with the intent of educationRole how can I include it with URIs?

I wager this property have range xml scheme string because it is adapted from the IEEE LOM property Intended End User Role. In LOM this property has a LOM vocabulary associated with it, which of course are just textual strings with no IDs (Teacher; Learner; Manager; Author).

Related to this is how restrictive is rangeIncludes supposed to be. It does have a very similar definition to rdfs:range:

Relates a property to a class that constitutes (one of) the expected type(s) for values of the property.

rdfs:range

rdfs:range is an instance of rdf:Property that is used to state that the values of a property are instances of one or more classes.


... although also I note this NOTE in rdfs:
The basic facilities provided by rdfs:domain and rdfs:range do not provide any direct way to indicate property restrictions that are local to a class.

I've never been really clear about how restrictive 'range' is supposed to be. its not clear to me why *anything* expressible in RDF should restrict use of URIs.

Phil Barker

unread,
Jan 27, 2016, 6:56:57 AM1/27/16
to lr...@googlegroups.com
On 27/01/16 10:45, Les Kneebone wrote:
I'm a thesaurus manager so I'm always going to be that guy complaining when his vocabularies can't be used in every context so apologies in advance :-)


Hello Les


If I define a vocabulary that is compatible with the intent of educationRole how can I include it with URIs?

I wager this property have range xml scheme string because it is adapted from the IEEE LOM property Intended End User Role. In LOM this property has a LOM vocabulary associated with it, which of course are just textual strings with no IDs (Teacher; Learner; Manager; Author).

Well, that's not really why it's a text, it was more to do with getting done what could be done in the time available, starting with something simple which could be refined later as required.

Fixing this is work in progress, see https://github.com/dcmi/LRMI_Vocabs

I have a note to myself to work out how best to use them so that we can create examples, but I think this would be a starting point: https://www.w3.org/wiki/WebSchemas/ExternalEnumerations

(see also https://github.com/schemaorg/schemaorg/issues/894 )



Related to this is how restrictive is rangeIncludes supposed to be. It does have a very similar definition to rdfs:range:

rangeIncludes is a schema.org term. As I understand it, the key difference between it and rdfs:Range is the word "expected" which relates to the following paragraph from the schema.org data model documentation:

Conformance

While we would like all the markup we get to follow the schema, in practice, we expect a lot of data that does not. We expect schema.org properties to be used with new types. We also expect that often, where we expect a property value of type Person, Place, Organization or some other subClassOf Thing, we will get a text string. In the spirit of "some data is better than none", we will accept this markup and do the best we can.


from http://schema.org/docs/datamodel.html (my emphasis)

I guess you can think of schema:rangeIncludes as saying what the Range 'should' be and rdfs:range as being what it 'must' be. So be careful about inferring the class of an object based on what the rangeIncludes is of the property that points to it.

Phil

Relates a property to a class that constitutes (one of) the expected type(s) for values of the property.

rdfs:range

rdfs:range is an instance of rdf:Property that is used to state that the values of a property are instances of one or more classes.


... although also I note this NOTE in rdfs:
The basic facilities provided by rdfs:domain and rdfs:range do not provide any direct way to indicate property restrictions that are local to a class.

I've never been really clear about how restrictive 'range' is supposed to be. its not clear to me why *anything* expressible in RDF should restrict use of URIs.
--
You received this message because you are subscribed to the Google Groups "Learning Resource Metadata Initiative" group.
To unsubscribe from this group and stop receiving emails from it, send an email to lrmi+uns...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


-- 
--  
Phil Barker           @philbarker
LRMI, Cetis, ICBL     http://people.pjjk.net/phil
Heriot-Watt University

Ubuntu: http://xkcd.com/456/
  not so much an operating system as a learning opportunity.

Stuart

unread,
Jan 27, 2016, 3:57:23 PM1/27/16
to Learning Resource Metadata Initiative
Les, I would only add to Phil's comments about schema.org/rangeIncludes (and domainIncludes) that they trigger none of the inferencing that you'd get with rdfs:domain and rdfs:range--i.e., there are no inferences triggered that the subject or object is of a particular class. In fact, there is no inferencing at all with domainIncludes and rangeIncludes. As far as I can tell, they are just a lightweight means of saying that any enumerated classes are "included" without triggering inferences that they are of those classes while leaving the door open to include other classes. So, as I read it, a rangeIncludes of text leaves open the door for the range to include an enumeration etc. And, as noted, their use comes without the heavy onotological commitment of rdfs:domain and rdfs:range.

Stuart
P.S. Hope all is well down under.

Les Kneebone

unread,
Jan 28, 2016, 10:52:19 PM1/28/16
to Learning Resource Metadata Initiative, phil....@hw.ac.uk
Really helpful response thanks Phil!
Reply all
Reply to author
Forward
0 new messages