Should we create a ticket for this at least? Let me know if you want me to do it.
On Fri, Sep 18, 2015 at 10:55 AM, Dave Reynolds <dave.e.reyno...@gmail.com> wrote: > Hi Martynas, > > On 18/09/15 09:25, Martynas Jusevičius wrote: >> >> I'm on SPIN API 1.3.1 = Jena 2.11.0. > > > Ah, so patching Jena, even Jena2, won't help anyway unless you can upgrade. > >> There is no other way of serializing Rules to String though? It would make >> sense for toString() to do this, but for now I guess I'll need to work >> around this with my own printer. > > > No there's no separate serializer. It would make sense for the toString to > be round trippable and if it's just the URIs that are broken then as I say > that's easy to fix. > > I could put a fix in the Jena2 branch if that would help but if you are > stuck on 2.11.0 then I guess it doesn't actually solve your immediate > problem. > > Dave > > >> On Fri 18 Sep 2015 at 09:58 Dave Reynolds <dave.e.reyno...@gmail.com> >> wrote: >> >>> Hi Martynas, >>> >>> On 17/09/15 23:37, Martynas Jusevičius wrote: >>>> >>>> Hit send too soon! >>>> >>>> When the list is serialized back to String again, I get >>>> >>>> [[ inheritance: (?template rdf:type http://graphity.org/gp#Template) >>>> (?template ?p ?o) (?p rdf:type owl:AnnotationProperty) (?p >>>> rdfs:isDefinedBy http://graphity.org/gp#) (?subClass rdfs:subClassOf >>>> ?template) noValue(?subClass ?p) -> (?subClass ?p ?o) ]] >>>> >>>> Notice the missing < > brackets on URIs. Reparsing the string gives an >>>> exception: >>>> >>>> com.hp.hpl.jena.reasoner.rulesys.Rule$ParserException: Malformed rule >>>> At 'http://graphity.org/gp# ) ( ?subClass rdfs:subClassOf ?template ) >>>> noValue ( ?subClass ?p ) -> ( ?subClass ?p ?o ) ] ] ' >>>> >>>> Can you confirm this is a bug? I need to roundtrip Rules from Strings >>>> to objects and back. >>> >>> >>> There's no guarantee that Rule.toString will round trip, it's just there >>> for debugging, that's why the javadoc says "Printable string describing >>> the rule". >>> >>> However, it ought to be easy to put <> round the absolute URIs and if >>> that's enough to give you round tripping then great. >>> >>> Can't do this myself at present - I don't have a working built of Jena3, >>> still on Jena2. Are you on Jena2 or Jena3? >>> >>> Dave >>> >> >