updates to SimpleReasoner for NIHVIVO-1547 (using too much heap size when adding TBox data)
This commit is contained in:
parent
bad4b806e4
commit
a48191c26b
1 changed files with 6 additions and 7 deletions
|
@ -312,16 +312,15 @@ public class SimpleReasoner extends StatementListener {
|
||||||
|
|
||||||
try {
|
try {
|
||||||
OntModel unionModel = ModelFactory.createOntologyModel(OntModelSpec.OWL_MEM);
|
OntModel unionModel = ModelFactory.createOntologyModel(OntModelSpec.OWL_MEM);
|
||||||
unionModel.add(aboxModel);
|
unionModel.addSubModel(aboxModel);
|
||||||
unionModel.add(inferenceModel);
|
unionModel.addSubModel(inferenceModel);
|
||||||
|
|
||||||
StmtIterator iter = unionModel.listStatements((Resource) null, RDF.type, subClass);
|
StmtIterator iter = unionModel.listStatements((Resource) null, RDF.type, subClass);
|
||||||
|
|
||||||
while (iter.hasNext()) {
|
while (iter.hasNext()) {
|
||||||
|
|
||||||
Statement stmt = iter.next();
|
Statement stmt = iter.next();
|
||||||
Resource ind = unionModel.getResource(stmt.getSubject().getURI());
|
Statement infStmt = ResourceFactory.createStatement(stmt.getSubject(), RDF.type, superClass);
|
||||||
Statement infStmt = ResourceFactory.createStatement(ind, RDF.type, superClass);
|
|
||||||
|
|
||||||
inferenceModel.enterCriticalSection(Lock.WRITE);
|
inferenceModel.enterCriticalSection(Lock.WRITE);
|
||||||
|
|
||||||
|
@ -353,15 +352,15 @@ public class SimpleReasoner extends StatementListener {
|
||||||
|
|
||||||
try {
|
try {
|
||||||
OntModel unionModel = ModelFactory.createOntologyModel(OntModelSpec.OWL_MEM);
|
OntModel unionModel = ModelFactory.createOntologyModel(OntModelSpec.OWL_MEM);
|
||||||
unionModel.add(aboxModel);
|
unionModel.addSubModel(aboxModel);
|
||||||
unionModel.add(inferenceModel);
|
unionModel.addSubModel(inferenceModel);
|
||||||
|
|
||||||
StmtIterator iter = unionModel.listStatements((Resource) null, RDF.type, subClass);
|
StmtIterator iter = unionModel.listStatements((Resource) null, RDF.type, subClass);
|
||||||
|
|
||||||
while (iter.hasNext()) {
|
while (iter.hasNext()) {
|
||||||
|
|
||||||
Statement stmt = iter.next();
|
Statement stmt = iter.next();
|
||||||
Resource ind = unionModel.getResource(stmt.getSubject().getURI());
|
Resource ind = stmt.getSubject();
|
||||||
|
|
||||||
if (entailedType(ind,superClass)) continue;
|
if (entailedType(ind,superClass)) continue;
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue