[foaf-dev] PROPOSAL: Deprecate membershipClass, add memberOf

Dan Brickley danbri at danbri.org
Fri May 25 16:41:37 BST 2007


Ron Alford wrote:
> I think I've mentioned the problems with membershipClass before with the
> standard OWL mechanisms.  Thus, I'll be rather informal.
> 
> I propose
> 1) Deprecating foaf:membershipClass
> 2) Creating a foaf:memberOf owl:inverseOf foaf:member.
> 
> Group member ship can be handled in a standard way in OWL using
> hasValue, and any property that is the inverse of foaf:member.
> For example, take
>   <#MyGroup> foaf:membershipClass <#MyGroupMember>.
> 
> This can be rewritten as
>   <#MyGroupMember> rdfs:subClassOf
>      [ a owl:Restriction;
>        owl:onProperty foaf:memberOf;
>        owl:hasValue <#MyGroup> ].
> 
> Any reasoning system that can handle nominals should be able to handle
> this.  Step 2 is not strictly necessary, since any inverse of
> foaf:member or its sub properties would do, but it would be nice as a
> convenience.

Could you be persuaded to write this up with some example instance data, 
for those of us whose head hurts when they think about the DL bits of 
OWL? Like describe some example people and groups. I'd like an example 
that also helped us all understand where SPARQL might fit into the 
picture, since a SPARQL query is for many, quite a nice way of finding 
all the people that match some constraint. And I won't mention RIF just 
yet :)

I guess I need a nice OWL engine to explore this in. Can you recommend 
one?  I just googled for "owl" and "pellet" and was rewarded with 
pictures of dissected bird crap. Roll on the Semantic Web...

I guess http://pellet.owldl.com/#Download is a good place to start, and 
that I'll soon be running into the "how do we make a DL-happy profile of 
FOAF" issue too?

Dan


More information about the foaf-dev mailing list