Thread Links Date Links
Thread Prev Thread Next Thread Index Date Prev Date Next Date Index

Re: SUO: RE: KIF syntax and semantics and a basic ontology




>Pat,
>
>Two points.
>
>1. There seem to be two uses of the '#' notation.
>    (i) Use of the '#' notation for "namespace prefixing", for example
>'arithmetic#plus', is like tagging in the disjoint union operation.
>    (ii) Use of the '#' notation for "referencing a part" of another
>ontology, for example '(imports seq
>http://www.frob.org/2000/iterations#sequences)', is like a restriction
>operation.
>Should we use different notations for these two different uses? I believe
>the XML namespace mechanism uses ':' for namespace prefixing and '#' for
>referencing parts.

I guess I see these as essentially the same thing, since the 
'includes' notation is just a way to give a tag to a part of an 
ontology. The namespace relationship is the same in the two cases, 
which is why I used the same syntax. I am not sure whether this 
corresponds exactly to the XML notion or not, not being XML-savvy 
enough yet.

>2. Is importation transitive or absorbtive or something else? For example,
>consider the following situation.
>    * the ontology B is located at B-place
>    * the ontology C is located at C-place
>    * the ontology A contains an importing expression '(imports b B-place)'
>    * the ontology B contains an importing expression '(imports c C-place)'
>    * the ontology A also contains an importing expression '(imports c2
>C-place)'
>    * the relation named 'r' is used in the C ontology
>Now
>    * in B this relation is referred to by the name 'c#r'
>But
>    * in A is this relation referred to by the name 'b#c#r' or by the name
>'c2#r'?

What a very good question! I had not thought of that.

As far as A is concerned, there are two relation symbols here, and 
they are different symbols. They might denote the same relation, but 
there is no automatic presumption that they do. There could not be, 
since the ontology B might add further assumptions about 'r' which 
are not included in C, and A might therefore wish to discriminate 
between r-as-seen-only-by-C from r-as-seen-by-B. (Since the basic 
language is monotonic, it certainly should be that anything that can 
be inferred about r-as-seen-by-B can also be inferred about 
r-as-seen-by-C, but not necessarily vice versa.)

>Often (always?), A will want these two names to refer to the same relation.
>Should there be either automatic or manual means for making these two names
>synonymous (equivalent)?

I think the W3C answer would be that there is a *presumption* that 
each location has to be treated by default as a different namespace, 
so the answer would be that no, there would be no *automatic* means 
for making them synonymous. Manually it could be done by rewriting 
the (imports c2 C-place) deliberately using the c-prefix used by B to 
import C, or simply by not importing C to A again (since it is 
included in B). Or, it could be done by adding a whole lot of 
equality statements to A which assert that b#c#r and c2#r are always 
equal.

Pat Hayes

---------------------------------------------------------------------
IHMC					(850)434 8903   home
40 South Alcaniz St.			(850)202 4416   office
Pensacola,  FL 32501			(850)202 4440   fax
phayes@ai.uwf.edu 
http://www.coginst.uwf.edu/~phayes