Topic Maps and Reification


I’m investigating Grakn as a tool to model in the style of Topic Maps. Grakn’s underlying hypergraph and capacity for multi-role relations seem to make it a good fit.

I can’t see how reification would work. Is that possible in Grakn? To explain, perhaps I stepped in a puddle yesterday. The entities ME and PUDDLE might have a relation STEP INTO with each other and a date attribute.

This is now known to me as ‘The Puddle Splashing Incident’ and I want to say more things about it. I want to treat this graph of entities, relation and attributes as a thing, an entity of its own.

This ‘reification’ is a standard and very useful feature of Topic Maps. How can I do it in Grakn?


In Grakn world all concepts - entities, relationships and attributes, are first class citizens hence they can participate in relations and have attributes assigned to them.

What you are describing I believe is the process of collapsing a subgraph into a single node and then referring to it in different relations.

Although Grakn doesn’t have an automatic mechanism for that, what you can do is define a new relationship between all involved concepts, attribute it as ‘The Puddle Splashing Incident’ and then refer to it as you see fit.

Hope that helps.


“Collapsing a subgraph into a single node and then referring to it in different relations” is what I am referring to.

Your explanation of the Grakn approach makes sense and I will try it.

Thank you @kasper, for your speedy and clear reply. :grin: