Re: abstract class

>   Pat, if you don't mind I'm moving this thread to
>interest list instead of comments list as Brian asked
>us to do, because of the last call issue.

Sure.

>--- pat hayes <phayes@ai.uwf.edu> wrote:
>>  >--- Brian McBride <bwm@hplb.hpl.hp.com> wrote:
>>  >>  At 03:12 24/01/2003 -0800, Marc Carrion wrote:
>>  >>
>>  >>  [...]
>>  >>
>>  >>  >   That would be illegal if you don't have any
>>  >>  other
>>  >>  >information. But if you have had:
>>  >>  >     x rdf:type c .
>>  >>  >     c rdf:type rdfs:Abstract .
>>  >>  >     x rdf:type a .
>>  >>  >     a rdf:subClassOf c .
>>  >>  >   That would be correct.
>>  >>
>>  >>  Built into RDF is the assumption that any
>>  subgraph
>>  >>  of an RDF graph is a
>>  >>  legal RDF graph.  That's not likely to change
>>  >>  anytime soon.
>>  >>
>>  >    When using reification
>>  >      _:xxx rdf:type rdf:Statement .
>>  >      _:xxx rdf:subject <ex:a> .
>>  >      _:xxx rdf:predicate <ex:b> .
>>  >      _:xxx rdf:object <ex:c> .
>>  >    would be true, but if we only have
>>  >      _:xxx rdf:type rdf:Statement .
>>  >      _:xxx rdf:subject <ex:a> .
>>  >      _:xxx rdf:predicate <ex:b> .
>>  >    that would not be a 'correct' model, I mean
>>  it's
>>  >going to have a wrong Resource of type Statement.
>>
>>  No, not exactly. It is incomplete, not wrong. If I
>>  tell you that I
>>  have a head and two arms, you shouldn't conclude
>>  that I don't have
>>  any feet. The second graph *tells* you that _:xxx is
>>  of type
>>  Statement, so you (ought to) know that it *has* an
>>  object - they all
>>  do - but you just don't (yet) know what it is. RDF
>>  information is
>>  always potentially incomplete in this sense.
>
>   Then, if I say
>      _:xxx rdf:type rdf:Statement .
>      _:xxx rdf:subject <ex:a> .
>      _:xxx rdf:subject <ex:d> .
>      _:xxx rdf:predicate <ex:b> .
>      _:xxx rdf:object <ex:c> .
>      _:xxx rdf:object "BLA" .
>
>    Is that a wrong model? a incomplet model? At least
>is an incorrenct rdf:Statement, isn't it?

It is certainly very peculiar and I wouldn't mind if some RDF engine 
were to complain about it. However, it is not in fact contradictory 
or 'wrong' , strictly speaking. It can be rationally satisfied by an 
interpretation in which I(<ex:a>) = I(<ex:d>) and I(<ex:c>) = 'BLA'. 
The point here is that the urirefs and bnodes in the RDF syntax are 
only the names of things, and two different names can name the same 
thing (same 'resource'). In extensions of RDF like OWL, one can 
express these equations directly, and then they would be entailed by 
the above graph.

>  > >
>>  >    The same when using Collections
>>  >      _:c1 rdf:type rdf:List .
>>  >      _:c1 rdf:rest _:c2
>>  >    which is a List without head, it's a correct
>>  Model
>>  >but an incorrect List
>
>      _:c1 rdf:type rdf:List .
>      _:c1 rdf:rest _:c2
>      _:c1 rdf:rest _:c3
>      _:c1 rdf:first "HEAD"
>    And this should be an incorrenct List, it has to
>rests.

Well, maybe not. If we assume that lists only have one rest, then it 
would follow that I(_:c2) =I(_:c3). OWL makes this assumption 
explicitly. This might have some other consequences that were 
contradictory, of course.

>  > No, it is a list and you don't (yet) know what its
>>  head is. You know
>>  it is a list, however, since the first triple tells
>>  you it is.  RDF
>>  never gives you *definitions* in a strict sense, it
>>  only gives you
>>  *descriptions* (which might or might not be complete
>>  enough for you
>>  to figure out something you need to know, such as
>>  what the head of a
>>  list is.)
>
>   Any way, we where thinking we should define abstract
>classes in the same way
>
>   _:x rdf:type _:ac
>   _:c1 rdf:subClassOf _:ac
>   _:c2 rdf:subClassOf _:ac
>   _:ac rdf:type rdf:AbstractClass
>
>   We were thinking this could be considered (or some
>applications can consider it) as an incomplete model.
>The think is you gain expressivity and it doesn't
>imply too much work with the current model theory.

I have to say that I don't quite see what you are wanting to do, 
sorry. The above seems OK with the current MT, and it means 
intuitively that AbstractClass is subclass of Class and _:ac is a 
class in that subclass, ie a special kind of class (which has two 
subclasses, by the way.)  Did you want to say more than that? What?

Pat


-- 
---------------------------------------------------------------------
IHMC					(850)434 8903 or (650)494 3973   home
40 South Alcaniz St.			(850)202 4416   office
Pensacola              			(850)202 4440   fax
FL 32501           				(850)291 0667    cell
phayes@ai.uwf.edu	          http://www.coginst.uwf.edu/~phayes
s.pam@ai.uwf.edu   for spam

Received on Friday, 7 February 2003 11:08:59 UTC