I don't know what is going on anymore =( First, It is important to note that I am reading the rule content from a file that I already tested using "ja:rulesFrom", thus I believe the syntax inside is ok. I mean, there are no problems like you mentioned about the columns (it was a copy and paste problem).
Now I am using """ to enclose the rules. So my code is as follows: :model_inf a ja:InfModel ; ja:baseModel :tdbGraph ; ja:reasoner [ ja:reasonerURL <${reasonerURL}> ; ja:rule """ ${rules} """ ; ] . And ${rules} has the file content (that has more than one rules): #-*-mode: conf-unix-*- @prefix time: <http://www.w3.org/2006/time#> @include <owlmicro> -> table(owl:sameAs). #--------------------------------------------------------------------------- # Equality #--------------------------------------------------------------------------- sameAs_symmetry: (?x owl:sameAs ?y) -> (?y owl:sameAs ?x). sameAs_transitivity: (?x owl:sameAs ?y) (?y owl:sameAs ?z) -> (?x owl:sameAs ?x). sameAs_Thing1: -> [(?x rdf:type owl:Thing) <- (?x owl:sameAs ?y)]. sameAs_Thing2: -> [(?x owl:sameAs ?x) <- (?x rdf:type owl:Thing)]. The error persists expecting '(': 06:23:01 WARN Admin :: [4] RC = 500 : caught: Expected '(' at start of clause, found @prefix At '#-*-mode: conf-unix-*- @prefix ' org.apache.jena.assembler.exceptions.AssemblerException: caught: Expected '(' at start of clause, found @prefix At '#-*-mode: conf-unix-*- @prefix ' at org.apache.jena.assembler.assemblers.AssemblerGroup$PlainAssemblerGroup.openBySpecificType(AssemblerGroup.java:165) ~[fuseki-server.jar:3.17.0-SNAPSHOT] at org.apache.jena.assembler.assemblers.AssemblerGroup$PlainAssemblerGroup.open(AssemblerGroup.java:144) ~[fuseki-server.jar:3.17.0-SNAPSHOT] ... FYI I am using this version: https://repository.apache.org/content/groups/snapshots/org/apache/jena/apache-jena-fuseki/3.17.0-SNAPSHOT/apache-jena-fuseki-3.17.0-20201005.074744-28.tar.gz At.te, Marcelo de Oliveira Costa Machado Em seg., 12 de out. de 2020 às 05:34, Andy Seaborne <a...@apache.org> escreveu: > > > On 12/10/2020 01:02, Marcelo Machado wrote: > > Thank you Andy, however the error persists. > > > > Let me send you a part of the data I'm trying to upload: > > > > :model_inf a ja:InfModel ; > > ja:baseModel :tdbGraph ; > > ja:reasoner [ > > ja:reasonerURL <http://jena.hpl.hp.com/2003/GenericRuleReasoner> ; > > ja:rule "[ > > #-*-mode: conf-unix-*- > > @prefix time: <http://www.w3.org/2006/time#> > > @include <owlmicro> > > > > -> table(owl:sameAs). > > > > > > > #--------------------------------------------------------------------------- > > # Equality > > > > > #--------------------------------------------------------------------------- > > > > sameAs_symmetry: > > (?x owl:sameAs ?y) > > -> (?y owl:sameAs ?x) . > > ]"; > > ] > > . > > There are a couple of things wrong with the syntax: > > > 1/ Use """ to enclose the rules because it is a multiple line string in > Turtle. > > 2/ Comments in rules are # in column 1 and the > "# Equality" and "#-*-mode: conf-unix-*-" are not in col 1. > > 3/ ....] go round a single rule > > this works for me: > > ===== Extract ==================== > ja:reasoner [ > ja:reasonerURL <http://jena.hpl.hp.com/2003/GenericRuleReasoner> ; > ja:rule """ > @prefix time: <http://www.w3.org/2006/time#> > @include <owlmicro> > > -> table(owl:sameAs) . > > # Equality > [sameAsSymmetry: (?x owl:sameAs ?y) -> (?y owl:sameAs ?x) ] > > """; > ] > . > ================================== > > Andy > > > > > > The error: > > > > 20:52:05 WARN Admin :: [2] RC = 500 : caught: Expected '(' at > > start of clause, found @prefix > > > > At '[ #-*-mode: conf-unix-*- @prefix ' > > > > org.apache.jena.assembler.exceptions.AssemblerException: caught: Expected > > '(' at start of clause, found @prefix > > > > At '[ #-*-mode: conf-unix-*- @prefix ' > > > > at > > > org.apache.jena.assembler.assemblers.AssemblerGroup$PlainAssemblerGroup.openBySpecificType(AssemblerGroup.java:165) > > ~[fuseki-server.jar:3.17.0-SNAPSHOT] > > > > > > At.te, > > > > Marcelo de Oliveira Costa Machado > > > > > > Em dom., 11 de out. de 2020 às 07:52, Andy Seaborne <a...@apache.org> > > escreveu: > > > >> > >> > >> On 09/10/2020 18:42, Marcelo Machado wrote: > >>> I just downloaded the binary distribution of Fuseki2 and used the > >>> ./fuseki_server command to start a server. But I will get the > development > >>> build. > >> > >> Build ready: > >> > >> > >> > https://repository.apache.org/content/groups/snapshots/org/apache/jena/apache-jena-fuseki/3.17.0-SNAPSHOT/ > >> > >> look for the latest > >> > >> At least dated: > >> > >> Sun Oct 11 > >> > >> apache-jena-fuseki-3.17.0-20201011 > >> > >> > >>> > >>> Just pointing out, I believe that the problem is not only with prefix > but > >>> with any directives other than the rules, for example, @include > >> <owlmicro> > >> > >> That's covered as well. > >> > >> Andy > >> > >>> > >>> Thank you very much. > >>> > >>> At.te, > >>> > >>> Marcelo de Oliveira Costa Machado > >>> > >>> > >>> Em sex., 9 de out. de 2020 às 11:11, Andy Seaborne <a...@apache.org> > >>> escreveu: > >>> > >>>> > >>>> > >>>> On 09/10/2020 13:46, Marcelo Machado wrote: > >>>>> Yes, that is the problem, ja:rule does not accept some directives. If > >> the > >>>>> problem was just prefixes I could resolve that by parsing the entire > >>>>> content, however, I use some directives like @include to add other > owl > >>>>> rules. > >>>>> > >>>>> If I use ja:rulesFrom with <file://...> everything works fine. But in > >>>> that > >>>>> case, I have to save the file in my server and I would not like to do > >>>> that. > >>>>> If not ja:rule I don't know what to do so, I didn't find any doc > about > >>>> that > >>>>> (actually seams that what I want is not possible with fuseki). > >>>> > >>>> I've created a ticket > >>>> https://issues.apache.org/jira/browse/JENA-1977 > >>>> > >>>> and also a tried a quick hack that didn't cause the test suite to > >>>> complain so it may be possible to add the header @-directs (and > >>>> incidently comments) processing. > >>>> > >>>> How are you getting Fuseki? If it is one of the downloads, could you > >>>> test a development build which would speed getting a fix done in time > >>>> for the next release. > >>>> > >>>> Andy > >>>> > >>>>> > >>>>> > >>>>> At.te, > >>>>> > >>>>> Marcelo de Oliveira Costa Machado > >>>>> > >>>>> > >>>>> Em sex., 9 de out. de 2020 às 08:47, Andy Seaborne <a...@apache.org> > >>>>> escreveu: > >>>>> > >>>>>> > >>>>>> > >>>>>> On 08/10/2020 19:22, Marcelo Machado wrote: > >>>>>>> Hello Andy, > >>>>>>> > >>>>>>> I manually escaped \n and " characters and some errors were > >> corrected, > >>>>>>> thanks. However, consider that I want to use the following string > >>>> rules > >>>>>> ( > >>>>>>> string_rules_variable): > >>>>>> > >>>>>> I think (maybe someone can confirm) ja:rule is one or more rules, > but > >>>>>> not a full rules file with features of prefixes and other > directives. > >>>>>> > >>>>>> Does a rule if you use URIs? > >>>>>> > >>>>>> Andy > >>>>>> > >>>>>>> > >>>>>>> #-*-mode: conf-unix-*- > >>>>>>> @prefix time: <http://www.w3.org/2006/time#> > >>>>>>> @include <owlmicro> > >>>>>>> > >>>>>>> -> table(owl:sameAs). > >>>>>>> > >>>>>>> #----------------------------- > >>>>>>> > >>>>>>> sameAs_symmetry: > >>>>>>> (?x owl:sameAs ?y) > >>>>>>> -> (?y owl:sameAs ?x). > >>>>>>> > >>>>>>> And as I said before this is how I am using in fuseki: > >>>>>>>> :model_inf a ja:InfModel ; > >>>>>>>> ja:baseModel :tdbGraph ; > >>>>>>>> ja:reasoner [ > >>>>>>>> ja:reasonerURL < > >>>>>> http://jena.hpl.hp.com/2003/GenericRuleReasoner> ; > >>>>>>>> ja:rule "[string_rules_variable]"`; > >>>>>>> > >>>>>>> But Fuseki is not recognizing prefix: > >>>>>>> > >>>>>>> > >>>>>>> org.apache.jena.assembler.exceptions.AssemblerException: caught: > >>>>>>> Expected '(' at start of clause, found @prefix > >>>>>>> > >>>>>>> > >>>>>>> > >>>>>>> Do you have any thoughts on how to solve this? > >>>>>>> > >>>>>>> Thanks in advance! > >>>>>>> > >>>>>>> > >>>>>>> > >>>>>>> > >>>>>>> > >>>>>>> > >>>>>>> At.te, > >>>>>>> > >>>>>>> Marcelo de Oliveira Costa Machado > >>>>>>> > >>>>>>> > >>>>>>> Em qui., 8 de out. de 2020 às 05:47, Andy Seaborne < > a...@apache.org> > >>>>>>> escreveu: > >>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>>>> On 08/10/2020 07:41, Marcelo Machado wrote: > >>>>>>>>> I am trying to create my own property rules in fuseki. To do so I > >> am > >>>>>>>> using > >>>>>>>>> the Generic Rule Reasoning that allows me to use my own rules. > >> When I > >>>>>> use > >>>>>>>>> this strategy with my rules in a file everything works fine: > >>>>>>>>> > >>>>>>>>> :model_inf a ja:InfModel ; > >>>>>>>>> ja:baseModel :tdbGraph ; > >>>>>>>>> ja:reasoner [ > >>>>>>>>> ja:reasonerURL < > >>>>>> http://jena.hpl.hp.com/2003/GenericRuleReasoner> > >>>>>>>> ; > >>>>>>>>> ja:rulesFrom <file://...> ; > >>>>>>>>> ] . > >>>>>>>>> > >>>>>>>>> However, I would not want to use a file but add the rules > directly > >>>> as a > >>>>>>>>> string. I tried just to copy the content of the rule files that > >>>> worked > >>>>>> in > >>>>>>>>> the example above, but the repository was not created, apparently > >> due > >>>>>> to > >>>>>>>>> special characters (e.g. #, \n...): > >>>>>>>>> > >>>>>>>>> :model_inf a ja:InfModel ; > >>>>>>>>> ja:baseModel :tdbGraph ; > >>>>>>>>> ja:reasoner [ > >>>>>>>>> ja:reasonerURL < > >>>>>> http://jena.hpl.hp.com/2003/GenericRuleReasoner> > >>>>>>>> ; > >>>>>>>>> ja:rule "[${string_rules_variable}]"`; > >>>>>>>> > >>>>>>>> At a minimum that will need Turtle escapes for newlines. A > >>>> NodeFormatter > >>>>>>>> formst outout - the Turtle rules are available directly via > >>>>>>>> EscapeStr.stringEsc(string). > >>>>>>>> > >>>>>>>> The full grammar details are here: > >>>>>> https://www.w3.org/TR/turtle/#terminals > >>>>>>>> > >>>>>>>> If you need to be it your self, it'll need newline and " > handling, > >>>> two > >>>>>>>> character \n and \" > >>>>>>>> > >>>>>>>> Andy > >>>>>>>> > >>>>>>>>> ] . > >>>>>>>>> where ${string_rules_variable} (javascript string interpolation) > >>>>>> contains > >>>>>>>>> the rules read from the file. > >>>>>>>>> > >>>>>>>>> So, what am I doing wrong? I believe this is about escaping > special > >>>>>>>>> characters, if so, what would be the way to resolve it? > >>>>>>>>> > >>>>>>>>> At.te, > >>>>>>>>> > >>>>>>>>> Marcelo de Oliveira Costa Machado > >>>>>>>>> > >>>>>>>> > >>>>>>> > >>>>>> > >>>>> > >>>> > >>> > >> > > >