[
https://issues.apache.org/jira/browse/JENA-1518?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16432652#comment-16432652
]
Martin Ledvinka commented on JENA-1518:
---------------------------------------
Yeah, I was also surprised when I didn't find any existing info on this. I
guess people usually ask for inferred data...
Thanks for the workaround!
> InfModel does not contain inferred statements when asserted data is accessed
> first
> ----------------------------------------------------------------------------------
>
> Key: JENA-1518
> URL: https://issues.apache.org/jira/browse/JENA-1518
> Project: Apache Jena
> Issue Type: Bug
> Components: Core
> Affects Versions: Jena 3.6.0
> Reporter: Martin Ledvinka
> Priority: Major
>
> When I create an InfModel (tested on RDFSRuleReasoner, RDFSFBRuleReasoner and
> OWLMicroReasoner) and I access an asserted statement first, the model does
> not see inferred statements it previously created. If I access the inferred
> statements first, everything works fine.
> What's interesting is that when I list all the statements in the model
> (listStatements().toList()), I can see the relevant statement, but the model
> ignores it. Demo:
> {{Model model = ModelFactory.createDefaultModel();}}
> {{Resource subject = createResource(SUBJECT);}}
> {{Resource typeOne = createResource(TYPE_ONE);}}
> {{Resource typeTwo = createResource(TYPE_TWO);}}
> {{model.add(typeOne, RDFS.subClassOf, typeTwo);}}
> {{model.add(subject, RDF.type, typeOne);}}
> {{InfModel infModel =
> ModelFactory.createInfModel(RDFSRuleReasonerFactory.theInstance().create(null),
> model);}}
> {{assertTrue(infModel.contains(createResource(SUBJECT), RDF.type, typeOne));}}
> {{assertTrue(infModel.contains(createResource(SUBJECT), RDF.type, typeTwo));
> // This assertion FAILS. But if I switch this line for the one above, it
> works fine}}
> Also, if I use unbound subject in the contains call on the last line, it
> returns true, so it seems that it incorrectly matches the 'subject' Resource.
> The same problem can be reproduces on the listStatements method, when first
> accessing just the asserted statements (using 'typeOne' as object) and then
> accessing inferred statements (using 'typeTwo' as object).
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)