It would be cool to be able to have attributes on links between pages, in a way that could later be used for mapping the data in the graph (e.g. via export into Gephi, or perhaps via improvements to the graph view page)
Links could have two basic attribute types:
- A “type” that defines the type of relationship the link represents
- Arbitrary key=value pairs that define relationship attributes
Using some special character to delimit the sections, perhaps something like:
[[Target|Relationship-type|param1=value1]]
So for example, on the Person A
page, you might have a link like:
[[Company Z|works for|start-date=2024-11-13]]
, which would say that "Person A started working for Company Z on 2024-11-13`.
This format is perhaps not ideal in that it doesn’t read super clearly, because the predicate is after the object/target, but it has the benefit that you can leave components implicit, e.g. leave off the parameters section, or leave off the relationship-type (implying a “normal” link).
This would be very useful for e.g.:
- Filtering the graph view by relationship types
- Using relationship parameters as edge-properties in graph view.
Both of which can potentially allow much more informative visualisation.
These types of relationship-properties can sometimes be stored as properties on the subject/object page, but not in the general case of many-to-many relationship graphs, see e.g. Attributes to Relationships in ER Model - GeeksforGeeks