W3C home > Mailing lists > Public > semantic-web@w3.org > September 2007

Re: Defining subsets of existing OWL / RDF-S vocabularies in another vocabulary?

From: Matt Williams <matthew.williams@cancer.org.uk>
Date: Fri, 28 Sep 2007 18:50:53 +0100
Message-ID: <46FD3EFD.5090708@cancer.org.uk>
To: Bijan Parsia <bparsia@cs.man.ac.uk>, semantic-web-request@w3.org, semantic-web@w3.org

Dear Bijan,

I'd agree about the subclassing issue, but that doesn't seem to be the 
same as redefining existing terms (if you subclass my term with a new 
term, then wouldn't that mean I hadn't included it).

Nominals do blur the T/A line, but I still think it's a useful 
distinction. The first defines what terms mean in relation to one 
another; the second is a set if statements.

Reusing terms and changing meaning ultimately means that you're not 
reusing the semantic aspect of the term, so reusing just the syntactic 
aspect seems odd; if you want to keep the same terms, just change the NS 
(so all the terms go from http://myOnt#someClass to 

You're right that I could have made a mistake in defining things, and 
you might see a quick fix....but then instead of reusing my ontology, 
you should really use your own, even if that means tweaking no more than 
the NS. If you've seen an error, why not tell me about it?

The point about semantic "screwing" (perhaps need a better term!) is 
that if I publish the ontology, you have the option to commit to it, if 
you want to, as do others.

My worry is not (so much) about merging ontologies as for systems that 
use the ontologies: e.g. something that is looking for "All men" or "all 
people with breast cancer" will have problems once you start changing 
the meaning of the terms.

I think for me it boils down the *point* of reusing ontologies; if it's 
just for your own work, it doesn't matter, but if you're aiming for 
interoperability, then you need to have shared definitions, and so you 
need to not go around changing the definitions of terms....


>> This is an ABox statement; that seems to be different to redefining a 
>> TBox.
> Why? Esp. with nominals the difference is rather thin.
> What if I want to disagree with the standard meaning? (This is an old 
> battle, btw.)
> What if I want to subclass your class? That's a TBox statement. It 
> precludes you from safely saying that my subclass is disjoint from your 
> class.
> Some times we want to reuse terms. Sometimes we want to reuse exact 
> meanings. Sometimes reuse of meaning involves evolving that meaning in a 
> variety of ways. (For example, suppose you publish an unsatisfiable 
> class, but I see a simple fix that makes sense to me. Why not use it?)
>> As an analogy, I would suggest that the TBox of an ontology defines 
>> the language (in an informal sense) for a domain; the ABox is a set of 
>> statements made in that language. Consider the havoc that would result 
>> if you were to start using the same linguistic terms as me, but with a 
>> different meaning
> I don't see the havoc. Really. I see that there are scenarios in which 
> there *could be havoc*, but that's not the same as there *will be* havoc.
> If you merge documents unrestrictedly, you can get into trouble. I 
> consider it highly unlikely that merging documents unrestrictedly is 
> generally a good idea. So I can use mattw:Cat and define it in my 
> ontology as a subclass of mattw:Dog and everything is groovy.
> If a third person comes along and imports both, she'll see some 
> contradictions (assuming that Matt declared cat and dog disjoint). But 
> good! Now she knows there is disagreement.
> Now, we do have an impoverished language for expressing variation, and 
> that's part of the problem. If I had an annotation which said, "This 
> term is the same as that term but I didn't like the definition of that 
> term in this ontology so am changing it" then free coinage of new terms 
> would be fine because the system could try to align things when you 
> wanted it to. But that's the same as choosing which axioms to import.
>> - I know in real languages it does happen, but slowly and it still 
>> causes problems (see the recent debate over the naming of the Blue 
>> Peter cat for an example).
>> If you can redefine terms I have defined, then you can make arbitrary 
>> semantic alterations to statements I make, depending on your 
>> redefinitions.
> If I have to use your definitions and you change your definitions then 
> you can screw me too :)
>> As a result, systems that depend on the semantics will get very stuck...
> It depends. You can have good reasons and good ways of doing this. You 
> can have bad ways too.
>> So my advice would to be very careful. There seems to be a separate 
>> question about using subsets of ontologies, which preserve semantics 
>> of the fragments, but as for redfinition I would caution against it.
> What about refinement? E.g., adding subclasses.
> Cheers,
> Bijan.

+44 (0)7834 899570
Received on Friday, 28 September 2007 17:51:46 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 1 March 2016 07:41:59 UTC