Thanks, Soroka, No, it doesn’t. If I remove –update, the server just starts in read-only mode, but the result is the same.
And I’m also sure that –update doesn’t override –file, because the config file is being read, even though the data and rules files are being ignored – if I put some erroneous symbols in new_config.ttl, I get an error and the server doesn’t start. S. On 3/23/17, 12:57 PM, "A. Soroka" <[email protected]> wrote: I may be mixing up issues here, but I suspect that --update may override --file=<config>. Can you quickly try again without the --update flag? --- A. Soroka The University of Virginia Library > On Mar 23, 2017, at 3:55 PM, Dimov, Stefan <[email protected]> wrote: > > Thanks, Andy, > > Now my config file looks like this: > > > @prefix : <#> . > @prefix fuseki: <http://jena.apache.org/fuseki#> . > @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . > > @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . > @prefix tdb: <http://jena.hpl.hp.com/2008/tdb#> . > @prefix ja: <http://jena.hpl.hp.com/2005/11/Assembler#> . > @prefix ao: <http://ao.com> . > > > [] rdf:type fuseki:Server ; > fuseki:services ( > <#mainservice> > ) . > > <#mainservice> rdf:type fuseki:Service ; > fuseki:name "mainservice" ; > fuseki:serviceQuery "sparql" ; > fuseki:serviceQuery "query" ; > fuseki:serviceUpdate "update" ; > fuseki:serviceUpload "upload" ; > fuseki:serviceReadWriteGraphStore "data" ; > fuseki:serviceReadGraphStore "get" ; > fuseki:dataset <#ao> ; > . > > ### In-memory, initially empty. > ## This database set-up allows OWL inference. > <#ao> rdf:type ja:RDFDataset ; > ja:defaultGraph <#infGraph> . > > <#infGraph> rdf:type ja:InfModel ; > ja:reasoner [ ja:reasonerURL <http://jena.hpl.hp.com/2003/GenericRuleReasoner> ; > ja:rulesFrom <file:Data/inference_rules.rules> ; ] . > > <#data> rdf:type ja:MemoryModel ; > ja:content [ja:externalContent <file:Data/graph.nt>] ; > . > > > > Unfortunately, it doesn’t work. Both files inference_rulesss.rules and graph.nt are being ignored. (I’ve put them into: <fuseki_home>/Data folder). I tried different formats for <file:Data/inference_rulesss.rules>, like <file://Data/inference_rulesss.rules> or <Data/inference_rulesss.rules>, but it didn’t work. > > Also, you said that in the command line: > > ./fuseki-server --update --file=config_new.ttl /mainservice > > I don’t not need the /mainservice, but when I try to start the service with: > > ./fuseki-server --update --file=config_new.ttl > > I get: > > No dataset path name given > > and the server doesn’t start. > > Regards, > Stefan > > > On 3/23/17, 1:43 AM, "Andy Seaborne" <[email protected]> wrote: > > > On 22/03/17 20:07, Dimov, Stefan wrote: >> Hi all, >> >> I'm new to Apache Jena and Fuseki. I've installed Apache Jena Fuseki as a standalone server and I'm trying to define a very simple inference rule and seemingly, I'm not configuring it correctly. My configuration file config_new.ttl looks like this: >> >> >> @prefix : <#> . >> @prefix fuseki: <http://jena.apache.org/fuseki#> . >> @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . >> >> @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . >> @prefix tdb: <http://jena.hpl.hp.com/2008/tdb#> . >> @prefix ja: <http://jena.hpl.hp.com/2005/11/Assembler#> . >> @prefix ao: <http://ao.com> . >> >> [] rdf:type fuseki:Server ; >> fuseki:services ( >> <#mainservice> >> ) . >> >> <#mainservice> rdf:type fuseki:Service ; >> fuseki:name "mainservice" ; >> fuseki:serviceQuery "sparql" ; >> fuseki:serviceQuery "query" ; >> fuseki:serviceUpdate "update" ; >> fuseki:serviceUpload "upload" ; >> fuseki:serviceReadWriteGraphStore "data" ; >> fuseki:serviceReadGraphStore "get" ; >> fuseki:dataset <#ao> ; >> . >> >> ### In-memory, initially empty. >> ## This database set-up allows OWL inference. >> <#ao> rdf:type ja:MemoryModel ; >> ja:defaultGraph <#infGraph> . > > As already mentioned on StackOverflow, this is wrong. You must put > graphs in a dataset. > > <#ao> rdf:type ja:RDFDataset ; > >> >> <#infGraph> rdf:type ja:InfModel ; >> ja:reasoner [ ja:rulesFrom <file:inference_rules.rules> ; ] . > > Try adding a reasoner: > > ja:reasoner > [ ja:reasonerURL > <http://jena.hpl.hp.com/2003/GenericRuleReasoner> ; > ja:rulesFrom <inference_rules.rules> > ] ; > > and make sure inference_rules.rules is accessible in the right location > to the server. > > and put in a base graph: > > <#infGraph> rdf:type ja:InfModel ; > ja:baseModel <#data> ; > ja:reasoner > [ ja:reasonerURL > <http://jena.hpl.hp.com/2003/GenericRuleReasoner> ; > ja:rulesFrom <...> > ] ; > . > > <#data> rdf:type ja:MemoryModel ; > ja:content [ja:externalContent <initial_data.ttl>] ; > . > > > >> >> >> I'm starting the server from a console with: >> >> ./fuseki-server --update --file=config_new.ttl /mainservice > > You do not need the /mainservice -- it is in the config file at fuseki:name > > (examples not checked - hopefully someone can confirm/correct them) > > Andy > >> >> >> It's starting and I am able to upload some data and query it successfully from the web-page, but seemingly it doesn't read the file inference_rules.rules. Even if the file name is wrong or the file doesn't exist or the contents of the file is incorrect, I don't get any errors and the rule is not working. >> What am I missing? >> There's a second question here. Apparently, I'm not there yet, but let me put here the contents of inference_rules.rules. I'm trying to define a simple transitive rule - if (A is a B) and (B is a C), then A is a C: >> >> >> @prefix rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns# >> @prefix ex: http://example.com/ >> @prefix xs: http://www.w3.org/2001/XMLSchema# >> @prefix ao: http://ao.com/ >> >> [isA: >> (?a ao:isA ?b) >> (?b ao:isA ?c) >> -> >> (?a ao:isA ?c) >> ] >> >> >> Did I define it correctly? >> >> Regards, >> S. >> > >
