Copied from Solid chat:
Happy new year everyone. I’m starting it with a question about RDF so may the twenties be the decade of Solid and the Semantic Web!
I’m looking at how to represent relationships (links between entities) and provide information about them. I come with some preconceptions having helped create tools for analysis and visualisation during investigations, and am wondering how this translates into RDF.
One of the things I am struggling with is whether a link is a first class ‘thing’ with its own identity and properties. It doesn’t have to be, you can just have person:A friendOf person:B, but it can be useful to be able to say things about that relationship, such as the source of that knowledge, or when when the relationship began etc., and even to give the relationship an identity of its own so that it can itself be the object of a relationship.
Does anyone have thoughts about the latter: using a relationship as the ‘object’ in a predicate? Are there ontologies that cater explicitly for this?
Another question then is what are the ‘expected’ ways of using RDF to represent information about relationships?
I see that reification (https://www.w3.org/TR/rdf-primer/#reification) could be used to handle most or all of the things I’m likely to need. Is that right? Are there alternatives that people use and if so why?
For example, a ‘bag container’ can be used to express a group relationship (as here https://www.w3.org/TR/rdf-primer/#figure14).
Or a container could be used to express a composite relationship to a single ‘subject’ similar to using reification, with the container being given properties of the relationship instead of reifying the relationship predicate. I think it best to use reification in this case, but it concerns me that there are multiple ways to handle this same requirement and it’s not obvious from the RDF Primer what’s best and why, so I’m looking for guidance from anyone who is used to handling entity-relationship data about the real world (i.e. people, places, organisations), and any considerations for particular use cases.
As my interest is visualisation, my first thoughts are about how existing RDF visualisation tools treat reification of relational predicates and other ways of expressing relationships. I suspect the simplest visual representation might not be the best, but I’ve not looked into this yet.