W3C home > Mailing lists > Public > www-rdf-interest@w3.org > January 2003

RE: abstract class

From: Marc Carrion <marc_carrion@yahoo.es>
Date: Thu, 23 Jan 2003 09:25:54 -0800 (PST)
Message-ID: <20030123172554.53873.qmail@web11903.mail.yahoo.com>
To: Jon Hanna <jon@spin.ie>, www-rdf-interest@w3.org

  I think it really make sense.

  thing in all objects that can have color, all them
will have the property color, then the domain of the
property color is going to be ObjectsWithColor, but we
don't want objects that are type of ObjectsWithColor
ant not type of anything else.

  The OWL solution is a very good solution, the same
that we will use if we would decide to use DAML, but
we already decided to use RDF, and we thought it would
be nice to be able to define the same thing using RDF.

  RDF can represent types, properties use domain to
say where are they allowed, and range to say the kind
of resources I'm going to find asking for this
property. The range of the property Type is Class, so,
if we had a 'abstractClass', a resource will not be
able to have the property type to this

  Don't you think it can be useful?

  My bests,

--- Jon Hanna <jon@spin.ie> wrote:
> >   The thing is we would like to say that we cannot
> > have
> >      <ns:C rdf:ID="foo"/>
> >   without having
> >      <ns:A rdf:ID="foo"/>
> >   or
> >      <ns:B rdf:ID="foo"/>
> >   or any other subclass of C.
> >
> >   so we couldn't have a resource that is only of
> type
> > C.
> >   In other words, we would like to define C as
> > abstract.
> I don't really think that makes much sense.
> To say "If it is of type C then it is either of type
> A or type B". Makes
> sense, and is possible:
> <owl:Class rdf:ID="C">
> 	<owl:unionOf rdf:parseType="Collection">
> 		<owl:Class rdf:about="#A"/>
> 		<owl:Class rdf:about="#B"/>
> 	</owl:unionOf>
> </owl:Class>
> You can also use DAML+OIL, for which there might be
> more current support.
> However to add "or any other subclass of C" seems to
> me to be a given in any
> case. For any given categorisation of anything one
> can almost always come up
> with a more finely grained ontology. Often this more
> finely grained ontology
> is only of interest to someone or something with
> more specialised knowledge.
> We enable interoperability by enabling people to
> work at the degree of
> specialisation that is suitable for them. Hence for
> every rdf:type statement
> that could be made there is the theoretical
> possibility of a rdf:type
> statement that uses a subclass.
> When you code the RDF/XML <ns:C rdf:ID="foo"/> it is
> not comparable to "foo
> = new C" in C++, Java or whatever. Where the latter
> *creates* an object the
> former merely provides information about a resource.
> The concept of
> "abstract" exists in C++ and Java to prevent one
> creating an object where
> that is undesirable (and generally meaningless).
> Since resources are created
> in RDF statements about them there is no need for
> abstract classes (or
> conversely, you could say that *all* RDF classes are
> abstract).

      (. .)
|   ooO  Ooo          |
----( )--( )-----------
     ()  ()

Do you Yahoo!?
Yahoo! Mail Plus - Powerful. Affordable. Sign up now.
Received on Thursday, 23 January 2003 12:25:55 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 22:44:40 UTC