You may find the Membership n-ary relation in the Organization ontology [1] a useful starting point. That current represents person, organization, role bindings over a time interval. There's no reason you couldn't annotate that with location information as well.

Dave

[1] http://www.w3.org/TR/vocab-org/

On 04/09/13 15:17, Tanya Gray wrote:
Hello,

I am seeking feedback on a proposal for how to describe the context of a
relationship that exists between two entities, e.g. a person and an
organisation. Any thoughts on this proposal would be very welcome.

Thank you

Tanya

BACKGROUND:

Metadata exists that relates two entities and involves a role performed
by one of the entities, e.g.

<http://example.org/id/workA> <http://example.org/vocab#hasAuthor>
<http://example.org/id/personA> .

In this example the two entities are “work” and “person”, and the role
is “author”.

REQUIREMENT

There is a requirement to describe this relation in context, e.g. in
time, and space.

PROPOSAL

https://lh5.googleusercontent.com/qetw1fVnKGcBdT8mdynTgWKRHQt73gKh0RxjvhH9MpUWR_lP2tGfdbGiKbulPZmTZmBQR40gmOTwcwKypF9y6AIVyCFBSi2YRsjw_IxrdaqgZJJf61yskMlRAA

/Illustration of how a relationship between entities can be described in
terms of a role and an event and given context with event properties/

The proposal is:

·Define relations in terms of events and roles, and associate contextual
information with the event

·Identify events and define as classes

·Identify roles that exist for each event and define roles as
individuals and members of the class “Role”

·Define object properties for each role e.g. hasTeacher with a range of
“RoleInEvent”

·Identify the entities (besides roles) that are associated with an event
and define object properties for each event entity

·Define additional contextual information that are common to all events
as object properties, e.g. time, location, process, reason

·Define a class called “RoleInEvent” to link a role, a role player and
an event

Example RDF:

@prefix ludo: <http://vocab.ox.ac.uk/ludo# <http://vocab.ox.ac.uk/ludo>>

<http://example.org/id/personA> ludo:hasRoleInEvent
<http://example.og/id/RoleInEventA> .

<http://example.org/id/RoleInEventA <http://example.og/id/RoleInEventA>> [

     a ludo:RoleInEvent ;

     ludo:hasRole ludo:Employee ;

     ludo:hasEvent <http://example.org/id/EmploymentA>

     ludo:hasRolePlayer <http://example.org/id/personA> .

] ..

<http://example.org/id/organisationA> ludo:hasRoleInEvent
<http://example.og/id/RoleInEventB> .

<http://example.org/id/RoleInEventB> [

     a ludo:RoleInEvent ;

     ludo:hasRole ludo:Employer ;

     ludo:hasEvent <http://example.org/id/EmploymentA> ;

     ludo:hasRolePlayer <http://example.org/id/organisationA> .

] ..

<http://example.org/id/EmploymentA> [

  # type of event

     a ludo:Employment;

   # roles that exist for event

     ludo:hasEmployee <http://example.org/id/RoleInEventA>;

     ludo:hasEmployer <http://example.org/id/RoleInEventB>;

  # contextual information address when, how, where, why

     ludo:hasTime <http://example.org/id/TimeA>;

     ludo:hasProcess <http://example.org/id/ProcessA>;

     ludo:hasLocation <http://example.org/id/LocationA>;

     ludo:hasReason <http://example.org/id/ReasonA>;


] ..

https://lh4.googleusercontent.com/GATl8lCSetKCpPc0-zBfXohOHu3ARCikrJKyaR2g3n9RoYQLLllrSORZnbDfKXDuZHzF8kwgd2504TbOTjIqoP0wLsd_gZSaivbNOCZK3I_C5I7hSxwEWn3w6w

/Illustration of how to represent a relationship between two entities in
terms of a role and an event, using an intermediate class called
“RoleInEvent”/

https://lh5.googleusercontent.com/Zl-Fkt22jlqh8F8O21T47pZIwfvu8f2y9nThvBDHJ9D2RrNbcBLnuZabrRHQxHw6E7e1pKy3hdejxNEEZZrEM6ckhh25XWLuvrHJY36o-Y82gPghy54hCP70Nw

/Illustration of an object property (hasAuthor) defined for an authoring
event that links the event to RoleInEvent, a class that links a role, a
thing holding that role, and an event/



Reply via email to