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



Reply via email to