[foaf-dev] [foaf-protocols] Person <-> Group (+sub/related groups) relations...
henry.story at bblfish.net
Sun Sep 25 11:06:41 CEST 2011
Btw this is more of a question for the foaf-dev at lists.foaf-project.org as they deal with questions on ontology, syntax and the declarative aspects of just writing things down. foaf-protocols is more about the interaction between sites using foaf.
On 25 Sep 2011, at 10:23, elf Pavlik wrote:
> I work more and more with sites for online communities, recently I look how to take advantage of FOAF for representing structure of membership in groups and subgroups plus relation between groups/sub.
> Looking at it from perspective of seeing various profiles, in a group profile it seams easy to include list of participants with foaf:member property of a group. But other scenarios I see getting more complicated:
> On profile page of a person I would like to include list of groups this person participates in. In the mailing list archives I came across two mails talking on this topic (guessing could find more digging deeper...)
> where Dan Brickley proposes solution like:
> <foaf:Person rdf:about="#me">
> <foaf:name>John Doe</foaf:name>
> <foaf:Group rdf:about="#group1">
> <member rdf:resource="#me">
> </foaf:Person> (typo: s/Person/Group)
> plus RDFa XHTML exmaples
> IMHO stating membership in lets say 100 groups may look quite awkward using this pattern, but machine shouldn't care much ;)
> in second mail: http://markmail.org/message/jjm5x4y4tbdc5eom?q=foaf+group+person&page=3#query:foaf%20group%20person+page:3+mid:jjm5x4y4tbdc5eom+state:results
> Henry Story suggests:
> "Why not just use foaf:member ? In N3 and rdfa writing the inverse relation is
> easy. In N3 it is
> person is foaf:member of group .
> in rdf you use the rev= attribute. Better use these syntactic tricks that keep
> inventing inverse relations for everything."
Let write in N3
$ cwm --n3 --ntriples
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
<#me> is foaf:member of <#g1>, <#g2>, <#g3> .
<file:///Users/hjs/Library/Application Support/IdeaIC11/#g1> <http://xmlns.com/foaf/0.1/member> <file:///Users/hjs/Library/Application Support/IdeaIC11/#me> .
<file:///Users/hjs/Library/Application Support/IdeaIC11/#g2> <http://xmlns.com/foaf/0.1/member> <file:///Users/hjs/Library/Application Support/IdeaIC11/#me> .
<file:///Users/hjs/Library/Application Support/IdeaIC11/#g3> <http://xmlns.com/foaf/0.1/member> <file:///Users/hjs/Library/Application Support/IdeaIC11/#me> .
> I couldn't find wiki page clarifying this issue, if it doesn't exist I would like to help with creating one...
See @rev on
> Going further how could I state relations between groups? Very often in group profile it has related groups and subgroups as for example this one (sidebar): https://n-1.cc/pg/groups/7826/lorea/
that would certainly be the question to put to foaf-dev.
> Once more I would like to later on help with updating wiki with clarifications I hope for posting this question.
> Thanks a bunch!
> ~ elf Pavlik ~
> foaf-protocols mailing list
> foaf-protocols at lists.foaf-project.org
Social Web Architect
More information about the foaf-dev