1

I am working on a project that makes use of Neo4j.

Cypher is used for queries, and Prolog for reasoning (after translation from Neo4j model).

Is there any alternative to Prolog for reasoning that does not need a translation step from Neo4j?

EagleOne
  • 541
  • 1
  • 10
  • 28
  • 1
    First, expect close votes as this is too broad of a question. I am not giving you one at present as there are very few people on StackOverflow who know both Prolog and Neo4j. I did look up this answer on my own a few months ago but didn't like what I found, not that there are not possible solutions, but just to much overhead for my liking. – Guy Coder Jan 14 '19 at 13:05
  • 1
    Of interest: [How to reason or make inferences in Neo4j?](https://stackoverflow.com/q/44678792/1243762) – Guy Coder Jan 14 '19 at 13:06
  • 1
    While Prolog uses backward-chaining reasoning, there are other means of reasoning, e.g. forward reasoning. You should be more specific in your question with what type of problem you have. – Guy Coder Jan 14 '19 at 13:08
  • 1
    Along the same line of thinking, I also considered creating a Prolog Bolt driver for Neo4j but passed as using Prolog with Neo4j was more of a curiosity than an desperate need, but something you should include in list of possible solutions. If this is for a school project then don't go this route but if it is for a real world long term business application then maybe. – Guy Coder Jan 14 '19 at 13:11
  • 1
    Of interest: [A graph DB vs a Prolog (or miniKanren)](https://stackoverflow.com/q/29192927/1243762) – Guy Coder Jan 14 '19 at 13:12
  • Thank you @GuyCoder for the help even if I already checked some of the possible solutions you mentioned, including the SO q&as. – EagleOne Jan 14 '19 at 13:21
  • 1
    Of interest: [JPL: A bidirectional Prolog/Java interface](http://www.swi-prolog.org/packages/jpl/) - This is a pure guess but I note it because it would be something I would look into and might in the near future. I am currently working on parsing a 3GB file (UniProt - [uniprot_sprot.dat.gz](ftp://ftp.uniprot.org/pub/databases/uniprot/current_release/knowledgebase/complete)) with Prolog [DCG](https://en.wikipedia.org/wiki/Definite_clause_grammar) and want to then have that drive Neo4j embedded (Java) to load the data into a Neo4j database. – Guy Coder Jan 17 '19 at 22:01

1 Answers1

1

The closest thing I know is: https://github.com/lambdazen/pixy/wiki but I'm, not sure about its current status.