Chris Bizer wrote:

I think that the basic idea of the Semantic Web is that you reuse existing
terms or at least provide mappings from your terms to existing ones.

I'd say "a" rather than "the"; there are various key themes of the SW -

Term-reuse sure; but also common approaches to identification (by using same URI IDs, by mapping IDs, and using reference-by-description techniques). And having a common data-model for information mixing and querying. Term re-use and mapping is a key part of this, but not the only/main idea. Well I guess URIs can be considered terms as well, which softens the difference between these things I mention.

As DBpedia is often used as an interlinking hub between different datasets
on the Web, it should in my opinion clearly have a type b) ontology using
Richard's classification.

Yes. And I think it dovetails with some of the distinctions people sometimes ask me for in FOAF, such as something approximating 'legal person', and 'Company' ... Having those mapped with stable entities from the Wikipedia world would be a really nice bridge.

But what does this mean for WEB ontology languages?

Looking at the current discussion, I feel reassured that if you want to do
WEB stuff, you should not move beyond RDFS, even aim lower and only use a
subset of RDFS (basically only rdf:type, rdfs:subClassOf and
rdfs:subPropertyOf) plus owl:SameAs. Anything beyond this seems to impose
too tight restrictions, seems to be too complicated even for people with
fair Semantic Web knowledge, and seems to break immediately when people
start to set links between different schemata/ontologies.

You're basically saying, "don't document what your RDF properties mean in terms of domain/range" here, aren't you? No mention of subPropertyOf but you imply below ('property hierarchy') that it's OK to use.

Dublin Core and FOAF went down this road.

Neither Dublin Core nor FOAF went down this road.

FOAF always used domain/range, and in the open world sense. Dublin Core didn't make heavy use of them until recently, because of concern in the DC world about keeping DC at arms length from RDF while it looked like Betamax to XML's VHS. The latest DC specs - http://dublincore.org/documents/dcmi-terms/ - do use domain, range and classes to capture the meaning of the terms defined in the Dublin Core community.

From the dcmi terms document,
[[
Formal domains and ranges specify what kind of described resources and value resources are associated with a given property. Domains and ranges express the meanings implicit in natural-language definitions in an explicit form that is usable for the automatic processing of logical inferences. When a given property is encountered, an inferencing application may use the domains and ranges assigned by DCMI to that property in order to make inferences about the resources described thereby.
]]

See also http://dublincore.org/documents/2008/01/14/domain-range/

[[
This document uses the terminology of the DCMI Abstract Model [DCAM]. The relationship types with which this document is principally concerned are described by the DCAM as follows:

* Each property may be related to one or more classes by a has domain relationship. Where it is stated that a property has such a relationship with a class and a described resource is related to a value by that property, it follows that the described resource is an instance of that class. * Each property may be related to one or more classes by a has range relationship. Where it is stated that a property has such a relationship with a class and a described resource is related to a value by that property, it follows that the value is an instance of that class.

In practice, this means that the domain indicates the class of resources that the property should be used to describe, while the range indicates the class of resources that should be used as values for that property.

The DCAM relationship types has domain and has range are the same as the RDF Schema [RDFS] properties, rdfs:range and rdfs:domain.
]]


Regarding FOAF, while there are some ommissions (nick, title) in the current RDFS/OWL, in general we have used RDFS and OWL (and before that DAML+OIL) as they were intended to be used, ie. to capture something of the meaning of the vocabulary terms. Hence the 'inverse functional property' trick for indirectly identifying foaf:Person instances via their properties. And I hope to see both Dublin Core and FOAF adopt OWL 2.0 if this can be done with minimal violence to existing published data. Whether that is feasible we probably won't know until OWL 2.0 checker tools are available.

There is also btw a crude JPEG diagram I made of the FOAF domain/range and other structures; http://danbri.org/2008/foafspec/foafspec.jpg

> And maybe DBpedia should do the
same (meaning to remove most range and domain restrictions and only keep the
class and property hierarchy).

DBpedia (as the dataset version of Wikipedia) has some different issues to DC and FOAF, but regardless, I wouldn't want to see your decisions influenced by a misunderstanding of what we've done in the DC and FOAF efforts. Both those projects make real use of RDF/OWL domains and ranges, ... while also sharing this hard-to-articulate concern for describing dataset patterns.

Given the way in which DBpedia's data is derrived, I can see plenty of reason for caution around domains and ranges. It's better to be too broad than too restrictive, which I guess means that you should start with domain=Thing, range=Thing and refine those by hand rather than by what's in the data. Independently from that, having some machine-readable summary of how the properties are used in the current extraction would be great. But I agree that it might better to avoid saying too much via RDFS domain/range for now.

cheers,

Dan

--
http://danbri.org/

Reply via email to