> Date: Sat, 17 Nov 2012 19:09:17 +0000
> From: [email protected]
> To: [email protected]
> Subject: Re: Custom rule file - prefix to local file?
>
> On 17/11/12 18:32, Marco Knietzsch wrote:
> >
> > Hi, I want to have a custom reasoner that uses a local file to make
> > inferences, without having to set up a server. Is this possible?I thought
> > something like this would work:@prefix this: <file:///C:/myontologgy.rdf#>
> > But it doesnt. Can someone help?ThxMarco
>
> Sorry but it is hard to understand your question. In particular I've no
> idea *where* you are putting that @prefix declaration, and what you are
> expecting it to do.
>
> If by "customer reasoner" you mean the GenericRuleReasoner and by "uses
> a local file" you mean a file containing Jena Rules then sure that's
> possible.
>
> If you are doing all this in Java then when you create the reasoner
> instance you do something like:
>
> List<Rule> rules = Rule.rulesFromURL("file:myrules.rules");
> GenericRuleReasoner reasoner = new GenericRuleReasoner(rules);
>
> If you are doing this in an assembler definition then that is possible
> and should be described in the assembler documentation.
>
> Dave
>
OK, I try to make myself clearer. I define my reasoner like this:FileReader f =
new FileReader (ruleFile);BufferedReader b = new BufferedReader (f);Rule.Parser
p = Rule.rulesParserFromReader (b);java.util.List rules = Rule.parseRules
(p);Reasoner reasoner = new GenericRuleReasoner (rules);OntModelSpec s = new
OntModelSpec (OntModelSpec.OWL_MEM);s.setReasoner (reasoner);
So it gets the rules from "ruleFile". The file looks like this:@prefix this:
<file:///C:/trpg.rdf#>@prefix rdf:
<http://www.w3.org/1999/02/22-rdf-syntax-ns#>@prefix owl:
<http://www.w3.org/2002/07/owl#>@prefix rdfs:
<http://www.w3.org/2000/01/rdf-schema#>
[inverse: (?x owl:inverseOf ?y) (?a ?x ?b) -> (?b ?y ?a)] <-- works![rule: (?x
this:property ?y) -> something] <-- doesnt work
In the rules I want to access properties from "this", but it doesnt work. It
works fine for owl and the others. Hope thats clear enough.
Marco