Protege 4.2 - OutOfMemoryError: пространство кучи Java для большого числа людей в онтологии OWL

Я очень плохо знаком с использованием протеже и работой с онтологиями. Я создаю небольшую программу для проверки правил брандмауэра, и я столкнулся со следующей ошибкой при попытке запустить Pellet резонатор, 2 разных ошибки в журнале:

1

Ошибка 1, зарегистрированная в Sun 17 ноября 21:49:48 COT 2013 OutOfMemoryError: пространство кучи Java com.clarkparsia.pellet.rules.rete.Index$IndexNode.(Index.java:43) com.clarkparsia.pellet.rules.rete.Index$IndexNode.add(Index.java:55) com.clarkparsia.pellet.rules.rete.Index$IndexNode.add(Index.java:58) com.clarkparsia.pellet.rules.rete.Index$IndexNode.add(Index.java:58) com.clarkparsia.pellet.rules.rete.Index$IndexNode.add(Index.java:58) com.clarkparsia.pellet.rules.rete.Index$IndexNode.add(Index.java:58) com.clarkparsia.pellet.rules.rete.Index$IndexNode.add(Index.java:58) com.clarkparsia.pellet.rules.rete.Index$IndexNode.add(Index.java:58) com.clarkparsia.pellet.rules.rete.Index$IndexNode.add(Index.java:58) com.clarkparsia.pellet.rules.rete.Index$IndexNode.add(Index.java:58) com.clarkparsia.pellet.rules.rete.Index.add(Index.java:173) com.clarkparsia.pellet.rules.rete.BetaNode.join(BetaNode.java:131) com.clarkparsia.pellet.rules.rete.Interpreter.processBetaNodes(Interpreter.java:109) ком.clarkparsia.pellet.rules.rete.Interpreter.run(Интерпретатор.java:236) 291) org.mindswap.pellet.ABox.isConsistent(ABox.java:1423) org.mindswap.pellet.ABox.isConsistent(ABox.java:1260) org.mindswap.pellet.KnowledgeBase.consistency(KnowledgeBase.java:1987) org.mindswap.pellet.KnowledgeBase.isConsistent(KnowledgeBase.java:2061) org.mindswap.pellet.KnowledgeBase.ensureConsistency(KnowledgeBase.java:2075) org.mindswap.pellet.KnowledgeBase.classify(KnowledgeBase.java:2083) com.clarkparsia.pellet.owlapiv3.PelletReasoner.precomputeInferences(PelletReasoner.java:1067) org.protege.editor.owl.model.inference.OWLReasonerManagerImpl$ClassificationRunner.precompute(OWLReasonerManagerImpl.do..del...do...do... inference.OWLReasonerManagerImpl $ ClassificationRunner.run (OWLReasonerManagerImpl.java:356)

java.lang.Thread.run (Thread.java:722)

2

Ошибка 2, зарегистрированная в Sun 17 ноября 21:50:37 COT 2013 OutOfMemoryError: пространство кучи Java java.util.HashMap.createEntry(HashMap.java:869) java.util.HashMap.addEntry(HashMap.java:856) java.util.HashMap.put(HashMap.java:484) com.clarkparsia.pellet.rules.rete.Index$IndexNode.add(Index.java:56) com.clarkparsia.pellet.rules.rete.Index$IndexNode.add(Index.java:58) com.clarkparsia.pellet.rules.rete.Index$IndexNode.add(Index.java:58) com.clarkparsia.pellet.rules.rete.Index$IndexNode.add(Index.java:58) com.clarkparsia.pellet.rules.rete.Index$IndexNode.add(Index.java:58) com.clarkparsia.pellet.rules.rete.Index.add(Index.java:173) com.clarkparsia.pellet.rules.rete.BetaNode.join(BetaNode.java:131) com.clarkparsia.pellet.rules.rete.Interpreter.processBetaNodes(Interpreter.java:109) com.clarkparsia.pellet.rules.rete.Interpreter.run(Interpreter.java:236)) com.clarkparsia.pellet.rules.ContinuousRulesStrategy.applyRete(ContinuousRulesStrategy.java:179) com.clarkparsia.pellet.rules.ContinuousRulesStrategy.complete(ContinuousRulesStrategy.java:291) org.mindswap.pellet.ABox.isConsistent(ABox.java:1423) org.mindswap.pellet.ABox.isConsistent(ABox.java:1260) org.mindswap.pellet.KnowledgeBase.consistency(KnowledgeBase.java:1987) org.mindswap.pellet.KnowledgeBase.isConsistent(KnowledgeBase.java:2061) com.clarkparsia.pellet.owlapiv3.PelletReasoner.isConsistent(PelletReasoner.java:849) org.protege.editor.owl.del.inference.OWLReasonerManagerImpl.getReasonerStatus(OWLReasonerManagerImpl.java:236) org.protege.editor.owl.model.OWLWorkspace.updateReasonerStatus(OWLWorkspace.java:7. 351) org.protege.editor.owl.model.OWLWorkspace.access$000(OWLWorkspace.java:140) org.protege.editor.owl.model.OWLWorkspace$1.handleChange(OWLWorkspace.java:253) org.protege.org owl.model.OWLModelManagerImpl.fireEvent(OWLModelManagerImpl.java:818) org.protege.editor.owl.model.inference.OWLReasonerManagerImpl$ClassificationRunner$1.run(OWLReasonerManagerImpl.java:430) java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)) java.awt.EventQueue$3.run(EventQueue.java:682) java.awt.EventQueue$3.run(EventQueue.java:680) java.security.AccessController.doPrivileged(собственный метод)


Я читал, и я изменил память JVM почти до 3 ГБ, что является максимальным объемом на моем ноутбуке. Я дважды проверил все типы данных в соответствии с дизайном.

В моей онтологии Corrent я использую правила SWRL, и я получил около 1300, а некоторые люди и файл.owl 5.31Mb. Я работаю на 64-битных Windows 7.

Я думаю, что главная проблема в том, что мой ноутбук не может работать с этой большой онтологией. Есть ли способ, которым я могу ошибаться? Я видел некоторые места, где они говорят, что эта ошибка MSG может вводить в заблуждение.

как я могу исправить эту проблему? какие у меня варианты? Я новичок здесь, но я готов много читать =) Спасибо всем

0 ответов

Другие вопросы по тегам