Hi Marco,
If you are only using backward rules and have no tabling then it won't
be fetching everything in memory. Depending on your rules and queries it
may a lot of TDB queries and might be slow :)
The way I'd suggest debugging this is to create a small test case as a
java program - no assembler, no fuseki, just your TDB image and your
rules. That way you can control exactly what's going on and work out if
the rule engine approach is usable for you. Then, if that's looking
promising sort out the details of assembler configuration.
Dave
On 25/10/15 19:22, Zak Mc Kracken wrote:
Thanks Dave,
I've tried that and that didn't work too. Sounds like it tries to fetch
everything in memory anyway. I'm using only backward rules.
Best,
Marco.
On 22/10/2015 20:14, Dave Reynolds wrote:
The documentation isn't very clear and I'm not fully familiar with how
the assembler works for rules. You might do best debug via configuring
in java and then shift to trying to express the layout in assembler.
However, going by the RDFS vocabulary described in the documentation I
think you want something more like:
<#infGraph> rdf:type ja:InfModel ;
ja:reasoner [
ja:reasonerURL <http://jena.hpl.hp.com/2003/GenericRuleReasoner> ;
ja:rules [ ja:rulesFrom <file:custom.rules> ]
];
ja:baseModel <#baseGraph> .
If your rules are written using backward rule notation then the
default "Hybrid" model will be fine, only the backward engine will be
used. If you write your rules as if they were forward inference but
want them to run backward then you would need to set the reasoner
mode. Which can be done but would have to work out the syntax.
Dave