rdf

2020-10-23T12:11:39.208800Z

Oh thanks! That is indeed an item on my to-do list, but to be honest it might take me a while for that to reach my front burner.

🤘 1
quoll 2020-10-25T14:50:08.222600Z

Yes, that either needs reification 😖 or internal statement IDs (which SPARQL only supports via reification)

2020-10-26T13:29:33.223400Z

A few months ago I was playing with a representation that had two components [G A], with G being a graph in IGrpah normal form and A being a map <p>-> G[p], where G[p] is a graph of [subject object annotation] triples for some selected P.

2020-10-26T13:29:49.223600Z

That's simmering on the back burner though.

quoll 2020-10-26T15:37:35.223800Z

I’m building some on-disk indices at the moment. The current one is designed for updating (and is therefore better for Datomic-like usage), but the other one is for large imports and doesn’t handle updates as well. That one is more about graph analytics on large RDF datasets. But one feature is that every statement gets an internal ID. So I’m thinking that I need to support implicit reification with it. This makes me wonder if I should consider it for the other index as well. :thinking_face:

simongray 2020-10-23T12:55:44.209Z

I have no immediate need for it either, but since I already made a datafied representation of the Neo4j query results corresponding to the input vectors used to instantiate an Ubergraph graph, I was thinking it might also be handy to be able to convert to between the two. Your model is different, but I’m not sure how far apart they are. Anyway, you seem to be doing a lot of work on representing RDF in the application space and my dataset is actually RDF too. I feel that Ubergraph maps very closely to the native Neo4j labeled property graph, so it was a great fit to use its vector representation for the datafy protocol. However, I am not married to that particular graph model for RDF at all, just using it out of convenience really (Neo4j is fast, has big ecosystem, there’s an RDF plugin).

simongray 2020-10-23T13:00:30.209400Z

I think conversion between different graph representations can be quite useful. I would love to move graph data seamlessly between e.g. Neo4j or one of the Datalog dbs.

simongray 2020-10-23T13:01:56.209600Z

Still need to learn a lot more about the domain, though.

2020-10-23T18:17:36.210200Z

I agree. Neo4j have a slightly different structure I think they call 'property graphs', which allow you to annotate specific relationships between specific objects, so it's difficult to duplicate that with triples.