ACTION-350: Write up use case on membership-formula

http://www.w3.org/2005/rules/wg/track/actions/350

The class membership notation '#' is intended to reflect the common
feature of many rule and object oriented languages for being able to 
express memebership of a class (or type?)

A possible use for this is for RDF's rdf:type construct...

To reflect this in the current RDF/RDFS embeddings, one could add to

1) Add to RDF embedding:

   Forall ?c,?o ?o#?c :- ?o[rdf:type -> ?c]


------- ACTION done, what follows is additional discussion ;-) --------

This alone, obviously doesn't make too much sense, but in connection
with the additional subclass notation '##' one could safe two rules
in the RDFS embedding:

2) Add to RDFs embedding:

  Forall ?c1,?c2 ?c1##?c2 :- ?c1[rdfs:subclassOf-> ?c2]

and remove:
  Forall ?x,?y,?z ?z[rdf:type -> ?y] :- And (?x[rdfs:subClassOf -> ?y] 
?z[rdf:type -> ?x]),
  Forall ?x,?y,?z ?x[rdfs:subClassOf -> ?z] :- And (?x[rdfs:subClassOf 
-> ?y] ?y[rdfs:subClassOf -> ?z]),


In total, the use of the special notation adds two rules and saves us 
two rules in the RDF/RDFS embedding.

Pretty much equals out ;-)

That's why I am absolutely neutral on whether we chould keep that 
feature or no.

Axel



-- 
Dr. Axel Polleres
email: axel@polleres.net  url: http://www.polleres.net/

Received on Thursday, 27 September 2007 21:33:56 UTC