Asserting subclasses of open ranges or domains

Dear all

Not sure which forum, semweb or ontolog is the best fit for this question,
apologies for cross-posting.

I want to generalize a question introduced in the Dublin Core Architecture
forum concerning the range of properties such as dcterms:subject. [1]
The current Dublin Core let the rdfs:range of this property open, by setting
it to be rdf:Resource. The practical interpretation of such an open range
can be either of the following
#1. Absolutely any RDF resource can actually be used as value of
dcterms:subject, since the subject of a resource can be absolutely anything
whatsoever
#2. Not any resource can be used as value of dcterms:subject, but in the
current state of affairs, no precise restriction can be set.

The comment found in the DCMI terms definition document [2] is "Typically,
the subject will be represented using keywords, key phrases, or
classification codes. Recommended best practice is to use a controlled
vocabulary. To describe the spatial or temporal topic of the resource, use
the Coverage element." Which is certainly gives support to interpretation
#2.

The open-ness of range means that DC does not want it to be restricted by
necessary condition (a superclass of the range) , but OTOH one could want to
assert sufficient conditions, such as "It's OK to use e.g., a skos:Concept,
or foaf:Person as value of this property". I suggested to use to this effect
the following constructions :

dcterms:subject   rdfs:range   _:b
skos:Concept    rdfs:subClassOf    _:b
foaf:Person     rdfs:subClassOf   _:b

Using a blank node here is as close as possible to the open-ness idea, as
well as the lack of assertion whatsoever in which _:b would be the subject
(of the triple).
It's close to an example I like to give of blank node usage "John and Mary
work in the same project"

:John   foaf:currentProject   _:p
:Mary  foaf:currentProject  _:p

Although, seems to me, such a model is perfectly valid in RDFS and in OWL,
my favorite desk ontology editors (Protégé and SWOOP) don't like it too
much. If I import such a model, those tools don't know how to handle this
blank node and automatically affect it a URI, although other kind of
anonymous classes are perfectly supported.

And as a matter of fact, I never met such constructions in any ontology so
far. So my questions are.

- Are such constructions valid in RDFS and/or OWL?
- Are they useful?
- Why are not they used (more) in ontologies?
- Why are ontology editors not happy with them?

I'm looking forward for feedback on this from logic gurus, semweb wizzards
and ontology software implementers.

Concerning the former, just read in the excellent slides by John Sowa on
Controlled Natural Languages at [3]

"It is pointless to specify (word senses) to a greater precision than the
speaker would intend, expect, or understand."

Bernard


[1] http://bit.ly/15mldF
[2] http://dublincore.org/documents/dcmi-terms/
[3] http://www.jfsowa.com/talks/cnl4ss.pdf

-- 
Bernard Vatant
Senior Consultant
Vocabulary & Data Engineering
Tel:       +33 (0) 971 488 459
Mail:     bernard.vatant@mondeca.com
----------------------------------------------------
Mondeca
3, cité Nollez 75018 Paris France
Web:    http://www.mondeca.com
Blog:    http://mondeca.wordpress.com
----------------------------------------------------

Received on Tuesday, 8 September 2009 09:04:37 UTC