Question

NxBRE can use SQL as a back-end. I think that leveraging a graph DB like OrientDB might yield better results.

What would be involved in moving toward that type of backend integration to support scenarios with millions of facts. Since OrientDb has a SQL like syntax, would it be "somewhat" easy? I'm trying to find creative ways of having something very fast at processing implications when when we go above the limits of the physical RAM.

Would this type of integration be worth a try?

Was it helpful?

Solution

It would be easy to create an implementation of NxBRE.InferenceEngine.IO.IFactBaseAdapter that loads facts from OrientDB, but that would not address the issue of going "above the limits of the physical RAM". Indeed, NxBRE would then merely load all the facts from OrientDB in its own memory and... you imagine the rest.

To achieve your goal, an alternative implementation of NxBRE.InferenceEngine.Core.FactBase would be needed: it would actully have alternative implementations for strategic internal methods like StoreFactForIndividualValue or Select that would hit OrientDB instead of its working memory.

So I'd say: it's desirable, it's possible and it's not trivial :)

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top