FOAF Wiki: RoleVocab  

A vocabulary to describe that an in which role a person participates in a group or organization (I suppose organization to be a subclass of group).

Issues:

- integrate into foaf vocabulary rather than dedicated schema (replacing faof:member)?

- more intuitive terms

- subclasses of Particpipations intead of role-property?

Example(This could be more compact uing rdf:parseType="Resource"),

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"  
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"  
xmlns:owl="http://www.w3.org/2002/07/owl#" 
xmlns:role="http://wymiwyg.org/ontologies/foaf/role#" 
xmlns:foaf="http://xmlns.com/foaf/0.1/"> 
 
        <foaf:Person> 
                <foaf:name>Jo Activist</foaf:name> 
                <role:participates> 
                        <role:Participation> 
                                <role:group> 
                                        <foaf:Group> 
                                                <foaf:name>Friends of Foaf</foaf:name> 
                                        </foaf:Group> 
                                </role:group> 
                                <role:role> 
                                        <role:Role> 
                                                <role:denotation>Hacker</role:denotation> 
                                                <role:abbreviation>hk</role:abbreviation> 
                                        </role:Role> 
                                </role:role> 
                        </role:Participation> 
                </role:participates> 
        </foaf:Person> 

</rdf:RDF> 

Another example:

<foaf:Person> 
     <foaf:name>Dan Brickley</foaf:name> 
     <role:participates>  
          <role:Participation>  
               <role:group>  
                    <foaf:Organization>  
                         <foaf:name>W3C</foaf:name> 
                         <foaf:homepage  rdf:resource="http://www.w3.org/"/> 
                    </foaf:Organization>  
               </role:group>  
               <role:role>  
                    <role:Role>  
                         <role:denotation>Employe</role:denotation>  
                    </role:Role>  
               </role:role>  
               <foaf:homepage rdf:resource="http://www.w3.org/People/DanBri/"/> 
          </role:Participation>  
     </role:participates>  
     <role:participates>  
          <role:Participation>  
               <role:group>  
                    <foaf:Group>  
                         <foaf:name>SWIG</foaf:name> 
                         <foaf:homepage  rdf:resource="http://www.w3.org/2001/sw/interest/"/> 
                    </foaf:Group>  
               </role:group>  
               <role:role>  
                    <role:Role>  
                         <role:denotation>Chair</role:denotation>  
                    </role:Role>  
               </role:role>  
          </role:Participation>  
     </role:participates> 

</foaf:Person> 

The schema:

 
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"  
        xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"  
        xmlns="http://wymiwyg.org/ontologies/foaf/role#"  
        xml:base="http://wymiwyg.org/ontologies/foaf/role"> 
         
 <rdfs:Class rdf:ID="Role"> 
  <rdfs:label xml:lang="en">Role</rdfs:label> 
  <rdfs:comment xml:lang="en">Describes a Role (Function/Position) agents may have within a Group</rdfs:comment> 
 </rdfs:Class> 
  
 <rdfs:Class rdf:ID="Participation"> 
  <rdfs:label xml:lang="en">Participation</rdfs:label> 
  <rdfs:comment xml:lang="en">Describes that and in which Role an Agent participates in a group</rdfs:comment> 
  <!-- should possibly be subclass of agent --> 
 </rdfs:Class> 
  
  
 <rdf:Property rdf:ID="participates"> 
        <rdfs:label xml:lang="en">participates</rdfs:label> 
        <rdfs:label xml:lang="de">partizipiert</rdfs:label> 
        <rdfs:comment xml:lang="en">Associates a participation to an agent</rdfs:comment> 
        <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Agent"/> 
        <rdfs:range rdf:resource="#Participation"/> 
 </rdf:Property> 
  
 <rdf:Property rdf:ID="role"> 
        <rdfs:label xml:lang="en">Role</rdfs:label> 
        <rdfs:label xml:lang="de">Rolle</rdfs:label> 
        <rdfs:comment xml:lang="en">The role of the participator in the group</rdfs:comment> 
        <rdfs:domain rdf:resource="#Participation"/> 
        <rdfs:range rdf:resource="#Role"/> 
 </rdf:Property> 
  
 <rdf:Property rdf:ID="denotation"> 
        <rdfs:label xml:lang="en">Denotation</rdfs:label> 
        <rdfs:label xml:lang="de">Denotation</rdfs:label> 
        <rdfs:comment xml:lang="en">A denotation of the role (e.g. "Chief Ideologist")</rdfs:comment> 
        <rdfs:domain rdf:resource="#Role"/> 
        <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/> 
 </rdf:Property> 
  
 <rdf:Property rdf:ID="abbrevation"> 
        <rdfs:label xml:lang="en">Abbrevation</rdfs:label> 
        <rdfs:label xml:lang="de">AbkŸrzung</rdfs:label> 
        <rdfs:comment xml:lang="en">The abbreviation for the Role (e.g. "CEO")</rdfs:comment> 
        <rdfs:domain rdf:resource="#Role"/> 
        <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/> 
 </rdf:Property> 
  
 <rdf:Property rdf:ID="group"> 
        <rdfs:label xml:lang="en">Group</rdfs:label> 
        <rdfs:label xml:lang="de">Gruppe</rdfs:label> 
        <rdfs:range rdf:resource="#Participation"/> 
        <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Group"/> 
 </rdf:Property> 
 

</rdf:RDF>