1

I'm trying to come up with the best way to model temporally sensitive relationships within RDF.

Examples might be a "household" where there's a relationship between people living at a particular address - over the same period of time, or "workmates" describing people working in the same team, with some overlap between start-dates and end-dates within the team.

The concept I've come up with is an AssociationInterval a Class of object that has two primary object properties; Association, a group-like object that links a person to an address or team (or for another example, the installation of some hardware into an installation) and Interval which consists of both a start-date and end-date.

A person can then be linked to an AssociationInterval as a kind of placeholder for a compound object.

Is this something that makes sense? Or are there alternative patterns for modelling what must be a relatively common type of linked-data relationship?

Thomas Kimber
  • 10,601
  • 3
  • 25
  • 42
  • 3
    Most likely, you have already read https://www.w3.org/TR/swbp-n-aryRelations/ and https://stackoverflow.com/a/33619395. I'd propose to express associations not between people, but between people and places (houses, teams etc), and then calculate associations between people. Perhaps you would be interested in Strabon, Badwolf etc. – Stanislav Kralin Sep 04 '18 at 18:22
  • 2
    See also http://blog.iandavis.com/2009/08/representing-time-in-rdf-part-1/ etc. – Stanislav Kralin Sep 04 '18 at 18:33
  • @StanislavKralin I had not read those previously but they definitely cover the ground very clearly. Yes it seems the method I’m looking at is the N-ary relationship one. I’d considered named graphs but intend to reserve their use for access-controls. Reification seems too complex to make a success of, but n-ary relationships seem awkward too. – Thomas Kimber Sep 04 '18 at 20:41

0 Answers0