Hi,
I wonder if anyone here had a look at Apache Giraph (in the incubator)
(i.e. a Google Pregel clone), here: http://incubator.apache.org/giraph/

I am curious to know if and how this could be used to implement an
rule based inference engine. :-)

Pregel seems to me a better model/architecture (than MapReduce) for
things such as the RETE algorithm.

Having said that, a think you can easily do with MapReduce is to
distribute all your vocabularies/ontologies to all your nodes (via
DistributedCache) load them in RAM (they are typically not that
big) and then perform inference in parallel.

An example of this is here: [1,2]. This is using RIOT infer approach,
but I was wondering if I could just use Jena inference engine there
and if that would work on one triple at the time. I don't think
everything works in this case.

However, perhaps there is a way to group the RDF data so that
inference would work as if all the instance data were available.
Any idea/suggestion?

Since I am here and I was looking at RIOT infer command implementation
yesterday, I found this comment here [3]:

 * TDB Infer
 *   RDFS
 *   owl:sameAs (in T-Box, not A-Box)
 *   owl:equivalentClass, owl:equivalentProperty
 *   owl:TransitiveProperty, owl:SymmetricProperty

(by the way, interesting comments in the RIOT infer's command ;-))

I see how RDFS is implemented (very elegant and compact).

I can see how we could do similar things for:

 - owl:equivalentClass
 - owl:equivalentProperty
 - owl:SymmetricProperty

I think I know how to do:

 - owl:sameAs (in T-Box, not A-Box)

But, I do not really see how we could do owl:TransitiveProperty in a
similar streaming fashion. Is that possible?

I was also thinking if those "fragments" of OWL should be added to the
existing Java classes or we should keep RDFS and OWL separate and have
InferenceProcessorOWL.java.

Cheers,
Paolo

[1] https://github.com/castagna/tdbloader3/blob/master/src/main/java/org/apache/jena/tdbloader3/InferDriver.java [2] https://github.com/castagna/tdbloader3/blob/master/src/main/java/org/apache/jena/tdbloader3/InferMapper.java [3] http://svn.apache.org/repos/asf/incubator/jena/Jena2/ARQ/trunk/src/main/java/riotcmd/infer.java

Reply via email to