[foaf-dev] Previous relations and predicate weightings

Bob Ferris zazi at elbklang.net
Fri Mar 18 16:17:33 CET 2011

Hi Rob,

Am 18.03.2011 14:05, schrieb Rob Stewart:
> Hi,
> I'm one of the devs on my current project, SerenA (
> http://www.serena.ac.uk ). For the last 6 months, we have been
> building an RDF store representative of our users.
> I am responsible for mapping user profile information into the FOAF
> Ontology, and I have 2 questions to ask:
> 1 - Capturing previous and current work status.
> i.e. I may have once worked for the CIA, but I currently work on the
> SerenA project. How would I capture that using FOAF? For the latter,
> perhaps:
> http://www.example.com/Rob_Stewart<foaf:Project>  http://www.example.com/serena
> or
> http://www.example.com/Rob_Stewart<foaf:Organization>
> http://www.example.com/serena
> But... how would I capture that I worked for the CIA between 2004 and
> 2006, say ? (and should I be using Organization or Project ? )

You can probably utilize the Cognitive Characteristics Ontology [1] or 
the Resume Vocabulary [2,3]. However, I think, the latter one has a 
small modelling issue, because it is not you who did a job etc., but 
rather than your CV. I don't know whether this is a good knowledge 
representation design.
When using the former one, you can make use of 
cco:CharacteristicDynamics [7] to describe a specific period of time and 
its weighted ability. Nevertheless, the Cognitive Characteristics 
Ontology is not really intended to describe a CV initially ;)

> -------------------
> 2 - Strength of the foaf:knows predicate
> How would I capture the different levels of my foaf:know
> relationships? Say, I shared an office with someone called Tim, and I
> stumbled across Alison once a month in the coffee room. I know both,
> but I am wanting to know how you would represent this with FOAF? I
> *do* want the foaf:knows predicate for both objects, but it's not
> telling the full story... ?

Since you talked about "predicate weightings" in the headline, I guess 
you like to weight the relation you like to describe. Therefore, I would 
suggest you the Weighting Ontology [4]. Generally, you have to reify 
this relation to be able to describe it more in detail (a shift from a 
binary to a n-ary (n>2) relation). Please have a look at the examples of 
the Cognitive Characteristics Ontology [5]. There you can the see the 
application of terms of the Weighting Ontology in a reification class.
To describe that two information resources belonging semantically 
together, i.e., in this case a simply binary relation (shortcut 
relation) and an n-ary relation (reification class instance), you can 
make use of the Property Reification Vocabulary [6].
Another possibility, is to create specific sub classes for describing 
concrete level of relationships. However, that would blow up the 
ontology itself.



[1] http://purl.org/ontology/cco/core#
[2] http://captsolo.net/semweb/resume/cv.rdfs
[3] http://captsolo.net/semweb/
[4] http://purl.org/ontology/wo/core#
[6] http://purl.org/ontology/prv/core#

More information about the foaf-dev mailing list