How to reason or make inferences in Neo4j?

Maybe you want to see this: click here

I quoted this from that link:

Your main task if you want to use reasoners over a neo4j database is going to be to suck data out of neo4j, and format it as a set of RDF triples. You can then put those RDF triples into a Jena Model. When you have that jena model in memory, you can use existing jena APIs to use reasoners with that model


My research in this area in progress, please watch here to see latest article draft, there is special section Inference on graph.

I'm looking on neo4j -> Prolog -> neo4j approach: (a)-[b]->(c) graph can be expressed as b(a,c) predicate, so export your .db into .pl and query in SWI Prolog for example. But the most complex thing: how to do some (direct) reasoning for backward import into neo4j.

I'm thinking about applying YieldProlog with direct traversal over neo4j db using BOLT prolotocol. I plan to add special mods for Yield method to specially process labels and attributes of graph elements, so my knowledge bases going to be described is neo4j databases by design.