Print

Print


Hello Ed

2009/9/1 Ed Summers <[log in to unmask]>
I agree that it seems to make sense to assert something like:

 <http://libris.kb.se/resource/bib/10028334> dct:subject
<http://libris.kb.se/resource/auth/198702> .
 <http://libris.kb.se/resource/auth/198702> a foaf:Person .

This makes sense to me. The subject of a resource can be a foaf:Person of course. And  the remark done for skos:Concept applies. We do not want to limit the range of dcterms:subject to foaf:Person nor to skos:Concept, but may be suggest that using a foaf:Person or a skos:Concept as value is certainly a good practice. The real question is if *any* type of resource can be the value of dcterms:subject, and this question could as well be undecidable. There are certainly some types of resources that would seem at first sight very weird as values of dcterms:subject, but after all a resource subject can be just ... anything. If we take this option, the rdfs:range of dcterms:subject would be rdfs:Resource or owl:Thing. Do we want to go that far? I'm not sure.

Actually. the Royal Library of Sweden are already following this usage
pattern--albeit using dce instead of dct [1].

Bernard, is it correct to say that the range you are suggesting would
not limit the types of object resources that can be used with
dct:subject,

Indeed. not putting a limit, but saying this type of value is OK.

 
and that it will only allow an inferences to be made
about subjects?

Not sure which inference you mean. Actually the question comes from an internal issue we have in our software (Mondeca ITM) and I guess some semantic closed world applications have the same. Most projects we have are closed worlds, in which we import ontology modules and reference vocabularies. The architecture of the software is such that it doesn't support open range, because the range of a property is used to control the object creation and edition interfaces. In a nutshell, if we don't declare the range of dct:subject, we simply can't use it. If we declare in our system that a dct:subject can be e.g., any skos:Concept OR foaf:Agent, and the DC recommandation says it's OK to use those classes, we know our local constraints are conformant to the recommendation.
 
My only concern with defining the range in this way is
that it may unintentionally inhibit some valuable use patterns for
dct:subject;

Agreed. This resctriction is expressed in such an unusual way that human and implementers could take it wrong. But reasoners should not, insofar as they can deal with blank nodes, which is not granted.
 
and the benefit of doing it remains unclear to me.

See above the benefits for our specific implementation

Is limiting the type of object involved in a dct:subject statement
already a use case for application profiles?

I guess the above example is answering by yes ...


Bernard
 

//Ed

[1] http://libris.kb.se/data/bib/10028334?format=application%2Frdf%2Bxml