different extension styles (local vs global vs invisible)

> I think rdfs:subclassOf or rdfs:type can be extended.

I think there's a design choice here.  It can be made on a case-by-case
basis with each extension, but I think the right choice is probably the
same almost all the time.

You have some bit of the language, say, ##, and you want to have it mean
something different, as you've said [1].  I see three approaches:

   Option 1:  When you want the different meaning, use a different token,
              like rif:subclass2 or ### or whatever.  (Let's call this a
              "local extension")

   Option 2:  You use the same token (rif:subclass or ##) and add a flag
              somewhere else in the document to indicate it has a
              different meaning.  ("Global extension")

   Option 3:  You use the same token, and tell people out-of-band that
              you mean it in a different sense.  ("Invisible
              extension".)

My sense right now is that option 3 is just plain bad, and that option 1
is better than option 2 because it's less prone to misunderstanding and
makes it easier to merge rulesets -- it lets you use both rif:subclass
and rif:subclass2 in the same document.

     -- Sandro

[1] http://lists.w3.org/Archives/Public/public-rif-wg/2007Oct/0094
    (Which, honestly, I don't understand -- it seems like you're
    conflating properties of classes with properties of instances of
    those classes -- but that's probably not related to the extension
    question.)

Received on Monday, 22 October 2007 16:54:02 UTC