Barry, Thanks for the pointer. I'll try that out!
You're right we already attended the same Interconnect call's :). I emailed you about SparQL+ :) Johan, Op vr 30 okt. 2020 om 18:35 schreef Nouwt, B. (Barry) <[email protected]>: > Hi Johan, I can give some implementation pointers. > > We implemented our own dataset: > > public class CustomDataset extends DatasetImpl { ... } > > And in this dataset we periodically update the rules like this: > > public void updateRules(List<Rule> rules) > { > Model m = this.getDefaultModel(); > InfGraph ig = (InfGraph) m.getGraph(); > Graph rawGraph = ig.getRawGraph(); > Reasoner r = ig.getReasoner(); > if (r instanceof GenericRuleReasoner) { > GenericRuleReasoner gr = (GenericRuleReasoner) r; > List<Rule> oldRules = gr.getRules(); > LOG.trace("Old rules: {}", oldRules); > if (!oldRules.equals(rules)) { > LOG.trace("New rules: {}", rules); > gr.setRules(rules); > InfModel inf = ModelFactory.createInfModel(gr, > ModelFactory.createModelForGraph(rawGraph)); > this.setDefaultModel(inf); > } > } > > Then we use a CustomDatasetAssembler (i.e. > https://jena.apache.org/documentation/assembler/inside-assemblers.html) > to configure our dataset using a Fuseki Turtle configuration file: > > ... > > ex:CustomDataset ja:assembler "org.test.CustomDatasetAssembler" . > > ex:dataset rdf:type ex:CustomDataset ; > ja:defaultGraph ke:infGraph . > > ... > > This is probably not the ideal way, but it works good enough for our > non-production environment. > > By the way, I think I recognize your name from the InterConnect project. > > Kind regards, Barry > > -----Original Message----- > From: Johan Kumps <[email protected]> > Sent: zondag 25 oktober 2020 11:47 > To: [email protected] > Subject: Re: Add rules at runtime > > Hi Barry, > > Could you share your code please? > > Thanks! > > Op di 13 okt. 2020 om 08:30 schreef Nouwt, B. (Barry) > <[email protected]>: > > > Hi Johan, you can definitely reload the rules in Apache Jena Fuseki, > > but it requires programming. I did it by creating a custom Dataset > > implementation (which I configured using an Assembler configuration > > file) that periodically reloads the rules, but that might not be the > easiest way. > > Regards, Barry > > > > -----Original Message----- > > From: Johan Kumps <[email protected]> > > Sent: maandag 12 oktober 2020 22:16 > > To: [email protected] > > Subject: Re: Add rules at runtime > > > > Hi, > > > > I understand that within Jena rules and data are stored separately but > > the question is whether there is a possibility to reload rules in the > > given file. If so it would be possible to reload the rule set without > > having to restart the server. > > Any ideas? > > > > Johan, > > > > Op ma 5 okt. 2020 om 14:12 schreef Nouwt, B. (Barry) > > <[email protected]>: > > > > > Hi Johan, > > > > > > I do not think Apache Jena Fuseki supports uploading a rule file as > > > you would do with data. Apache Jena rules ( > > > https://jena.apache.org/documentation/inference/) can only be set as > > > part of the configuration of a dataset, I think. > > > > > > However, if you use another type of constraints/rules (i.e. SWRL or > > > OWL Restrictions), you can maybe upload those as part of your data > > > (as they are part of you ontology, I think). If you then use a > > > reasoner that supports those constraints/rules (Pellet maybe?), it > > > will probably take them into account. > > > > > > Hope this helps! > > > > > > Regards, Barry > > > > > > -----Original Message----- > > > From: Johan Kumps <[email protected]> > > > Sent: maandag 5 oktober 2020 13:37 > > > To: [email protected] > > > Subject: Add rules at runtime > > > > > > Hi all, > > > > > > Is it possible to add rules to Jena at runtime or is it only > > > possible to add rules via a file and restart the server? > > > > > > It would be very nice if you could upload a rule the same way as you > > > can do to add data to a dataset. > > > > > > Kind regards, > > > Johan, > > > This message may contain information that is not intended for you. > > > If you are not the addressee or if this message was sent to you by > > > mistake, you are requested to inform the sender and delete the > > > message. TNO accepts no liability for the content of this e-mail, > > > for the manner in which you use it and for damage of any kind > > > resulting from the risks inherent to the electronic transmission of > messages. > > > > > >
