Re: cycles in rdfs:subClassOf, cyc gels, extensionality of classes

Daniel Mahler wrote:
> 
> Dan Connolly writes:
>  > Stephen Reed wrote:
>  > >
>  > > In the Cyc ontology ...
>  >
>  > speaking of Cyc's ontology and DAML, I was very interested
>  > to see Cyc's upper ontology in DAML:
>  >
>  >      http://www.cyc.com/cyc-2-1/cyc.daml
>  >
>  > and the surrounding docs:
>  >      http://www.cyc.com/cyc-2-1/toc.html
>  >
>  > But this gave me pause:
>  >
>  > |  <rdf:Description rdf:about="&o;genls">
>  > |          <samePropertyAs rdf:resource="subClassOf"/>
>  > |  </rdf:Description>
>  >
>  > first, because of typo/bug (of a very common variety,
>  > due to an RDF syntax misfeature*1). That should be
>  >      rdf:resource="http://www.w3.org/2000/01/rdf-schema#subClassOf"
> 
> I thought subClassOf was in the DAML namespace as well;

In sum: it was, but it's not any longer.

Details:

The Oct 2000 DAML spec used
  http://www.daml.org/2000/10/daml-ont#subClassOf
but the Dec 2000 and Mar 2001 specs use
  http://www.w3.org/2000/01/rdf-schema#subClassOf

> it is referenced in the DAML spec.

yes; DAML imports RDFS (since Dec 2000):
  <imports rdf:resource="http://www.w3.org/2000/01/rdf-schema"/>

	-- http://www.daml.org/2000/12/daml+oil

> Both our documents should be declared to be in the DAML namespace

Try not to think of documents being "in a namespace".
That's not the way the specs are written and it'll just
get you in trouble.

I think you mean that your document binds the default namespace
prefix to the (March 2001) DAML namespace...

> in the header so that daml elements do not need to be qualified.

right. (i.e. they don't need to be prefixed; they're still
qualified, technically speaking).

But in
  <samePropertyAs rdf:resource="subClassOf"/>

subClassOf is not used as an element name; it's used
as an attribute value, and RDF 1.0 syntax doesn't
use namespaces in attribute values. That attribute
value is a URI reference; in your document,
  http://www.cyc.com/cyc-2-1/cyc.daml
it's short for
  http://www.cyc.com/cyc-2-1/subClassOf

ala <a href="subClassOf">...</a>.

> This a genral point for clarification:
> do RDF(S) entities also exist in the DAML namespace.

I can't give a clear answer to that question as stated;
by analogy, it looks like:

	are integers in decimal or hexadecimal?

Integers can be denoted by either sort of number,
and the concept of subclass can be denoted by
any number of names.

You might ask if the names/terms/URIs used in the RDFS
spec are also used in the DAML spec; as I said
above, the Oct 2000 DAML spec had synonyms for RDFS terms,
but the Dec 2000 and Mar 2001 specs do not.

> it seems there could be different answers,
> depending on wether  or not
> 
> * the are refernced in the DAML spec
>    eg: http://www.daml.org/2001/03/reference.html#subClassOf-def

That reference document is somewhat imprecise about whether
it's talking about XML syntax or RDF graph structure;
see the "Different syntactic forms" disclaimer at te top.

But in the particular text you cite ...
	zero or more rdfs:subClassOf elements
... rdfs:subClassOf is short for
  http://www.w3.org/2000/01/rdf-schema#subClassOf

> * DAML modifes their definition
>   eg if antisymmetry gets dropped

If the DAML and RDFS folks (i.e. RDF Core WG) agree
that there are distinct concepts, we'll use distinct
names for them.

But effectively, the DAML folks are proposing to the
RDFS folks that they change their mind about what
concept the name
  http://www.w3.org/2000/01/rdf-schema#subClassOf
refers to.

The jury is still out
as to whether we can get away with using the
2000/01 name for subClassOf; i.e. whether we can
count on reaching all the folks that though it
was acyclic and get them to agree that it's not.

The conservative approach is to
make a new name for the subclass concept that
allows cycles. That seems more likely,
the more I think about it.


>  > or, since you've evidently decided entities aren't too ugly to use,
>  >      rdf:resource="&rdfs;subClassOf"
> 
> The document was generateted with SiSPAC/RDF API,

odd that it should have this bug, then.


More on the substantive issue separately...

>  > But more substantively... because cyc's genls is
>  > explicitly *not* extensional, and rdfs:subClassOf,
> 
>  >
> 
> As I understand it,
> in Cyc genls is extensional,
> 
> (genls A B) is just a macro for
> (forall ?x (isa ?x A) (isa ?X B)).
> 
> Collection/Class identity is not.

I'm baffled by that. I'll have to think about it.

-- 
Dan Connolly, W3C http://www.w3.org/People/Connolly/

Received on Wednesday, 27 June 2001 15:05:16 UTC