I’m the beginner from hell, but I click around and anxiously read stuff and I’m getting the impression Prolog is a fairly common (natural?) query tool for graph databases. To what degree am I correct/incorrect? Can someone point me to some info – white paper and beyond – on this?
I would agree with that but need to be specific about the definition of graph database. If you mean creating graphs using Prolog facts then using Prolog to query the facts, that is known and done by many Prolog programmers. If however you are referring to graph databases like Neo4j then you have walked into a nebulous area.
Which definition of graph database are you using?
Maybe RDF, semantic web? Many graph databases seem to be using RDF as a structural basis, as far as I’ve been able to tell
I am not one who uses RDF but many here are.
Have you seen: SWI-Prolog Semantic Web Library 3.0
Also interesting could be TerminusDB which runs on SWI-Prolog together with a triple DB that is closely related to HDT implemented in Rust.
SWI-Prolog’s own RDF store is purely memory based. This is interesting for highly dynamic RDF, but at some scale the load time and memory usage becomes unacceptable (I know people storing up to about 500M triples in it).
I guess I’m establishing that Prolog is highly relevant in today’s world, and should grow in importance in the future – ergo, I should indeed tackle it! I’ve started “Thinking as Computation A First Course” from Hector Levesque.
You might find Useful Prolog references of use.