cayley icon indicating copy to clipboard operation
cayley copied to clipboard

Reification

Open dennwc opened this issue 7 years ago • 6 comments

Meta-issue to track reification implementation

dennwc avatar Dec 22 '16 13:12 dennwc

https://discourse.cayley.io/t/wip-bolt-2-reification-boogaloo/550/2

dennwc avatar Jan 09 '17 13:01 dennwc

Happy Holidays all! While sitting at home with my folks I broke ground on a complete rewrite of the Bolt backend that could support our reification plan.

I've been reading through the github issues and the discourse topics, but I'm having a hard time piecing together how exactly Cayley plans to tackle reification. The most informative posts I could find is https://discourse.cayley.io/t/paper-chase-reification-aka-putting-data-about-links-on-links/328, but it doesn't really list a decision.

I think you are somehow assigning a unique, deterministic identifier to every quad (like a hash), and you also do this to every node?

Any info would be greatly appreciated :)

hidde-jan avatar Jul 24 '17 13:07 hidde-jan

@hidde-jan The current plan is to assign an unique ID for every node and quad, plus keep a hash index for these values as well. For quads we already have such index (SPOL index), and for values we will just separate an ID from hash (nodes were content-addressable before). Current implementation is done for KV in general and Bolt in particular (we call it bolt2). Although it's not yet exposed in any way.

dennwc avatar Jul 24 '17 14:07 dennwc

@dennwc Thanks for the answer!

The current plan is to assign an unique ID for every node and quad

How exactly do you assign these IDs? Or is it implementation specific? If I have a specific quad, can I always determine its ID? I'm investigating how people are currently implementing (and representing) reification for linked data. Since Cayley is working on their implementation I'm very curious about the choices you made.

Cheers

hidde-jan avatar Jul 24 '17 14:07 hidde-jan

ID allocation is implementation-specific, but in general after reification we cannot determine quad ID without an index lookup.

dennwc avatar Jul 25 '17 09:07 dennwc

I am trying to evaluate using Cayley with Postgresql as the backing store.

  1. Is reification implemented in general, and in particular for Postgres?
  2. If not, could you please share any suggested workarounds for reification?

Dhanyavaad.

Brahmasmi avatar Oct 07 '18 17:10 Brahmasmi