RE: Opinions sought: characterisation of relationships in terms of roles and events

Hi Tanya,

Just a quick comment on your model for this -

I notice that you have a single Time element related to each Event.  It is often the case that is important to model time spans explicitly, e.g., to identify start/end of an event, or to specify a time range of validity for some aspect of an event (say, paper/publication submission dates?).

To investigate this further, you might want to start with Martin Fowler's related material on Temporal Patterns at:  http://martinfowler.com/eaaDev/timeNarrative.html.

Others on the mail list will likely be able to offer other suggested resources on modeling temporal aspects of elements in your model, Tanya.

-Gary Berosik
Lead Business Systems Analyst
Thomson Reuters Research & Development
gary.berosik@thomsonreuters.com

From: Tanya Gray [mailto:Tanya.Gray@bodleian.ox.ac.uk]
Sent: Wednesday, September 04, 2013 9:17 AM
To: public-lod@w3.org
Subject: Opinions sought: characterisation of relationships in terms of roles and events

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

Received on Friday, 6 September 2013 17:00:30 UTC