How to reason or make inferences in Neo4j?

后端 未结 3 916
情深已故
情深已故 2021-01-12 16:42

I created a semantic Graph in Neo4j. Is there any possibility to use an OWL reasoner in Neo4j? Or any inference engine?

Though it has been mentioned here i can\'t fi

相关标签:
3条回答
  • 2021-01-12 17:21

    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.

    0 讨论(0)
  • 2021-01-12 17:27

    If you're looking for practical inference over graph data you should take a look at Grakn, it has a reasoning engine built in. You can define your reasoning logic using rules in Graql.

    P.S. I work for Grakn ;)

    0 讨论(0)
  • 2021-01-12 17:42

    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

    0 讨论(0)
提交回复
热议问题