Hello, I'm using Jena Fuseki 3.13.1 (with OWLFBRuleReasoner), and I have asserted (uploaded) the following triples:
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . @prefix owl: <http://www.w3.org/2002/07/owl#> . @prefix f: <http://vleo.net/family#> . f:Bob f:hasWife f:Alice . f:Bob f:hasWife f:Alice2 . f:Alice2 f:hasHusband f:Bob2 . f:hasWife a owl:FunctionalProperty . f:hasWife a owl:InverseFunctionalProperty . f:hasHusband owl:inverseOf f:hasWife . Now, If I query and ASK { f:Alice owl:sameAs f:Alice2 }, I get true. However, If I ASK { f:Bob owl:sameAs f:Bob2 }, I get false! Loading the same triples on another reasoner (owl-rl), I get the triple f:Bob owl:sameAs f:Bob2 inferred. I have asked this very question on StackOverflow (https://stackoverflow.com/questions/59603569/jena-fuseki-missed-inference?noredirect=1#comment105379894_59603569 <https://stackoverflow.com/questions/59603569/jena-fuseki-missed-inference?noredirect=1#comment105379894_59603569>), and I got pointed out to the owl-fb rules file. Tweaking it a bit I noticed that If I explicitly add the forward version of inverseOf, I get that f:Bob owl:sameAs f:Bob2: [inverseOf2b: (?P owl:inverseOf ?Q), (?X ?P ?Y) -> (?Y ?Q ?X) ] Am I missing something? Best regards, Andrea Leofreddi
signature.asc
Description: Message signed with OpenPGP
