我使用OWL(版本4.0.2)和Pellet(3.0)来填充本体,然后使用SWRL规则来推断新事实。但是OWL API中的一些jar正在打印大量的消息,而我试图进行推断并且最终没有显示结果 - 事实上,我不会等到最后因为它需要永远执行。
这是我设置一些本体信息的地方:
manager = OWLManager.createOWLOntologyManager();
factory = manager.getOWLDataFactory();
this.ontologyURI = ontologyURI;
pm = new DefaultPrefixManager(null, null,
ontologyURI);
File ontologyFile = new File("TwitterOntology.owl");
try {
ontology = manager.loadOntologyFromOntologyDocument(ontologyFile);
} catch (OWLOntologyCreationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
我发给你一部分日志:
14:54:38.961 [main] DEBUG o.s.o.rdf.rdfxml.parser.TripleLogger - 三重总数:4788 14:54:38.966 [main] DEBUG o.s.o.r.r.p.OptimisedListTranslator - list:ObjectPropertyAtom(http://www.semanticweb.org/michel/ontologies/2014/6/TwitterOntology#hashtagContainedInTweetRule Variable()Variable()) 14:54:38.967 [main] DEBUG o.s.o.r.r.p.OptimisedListTranslator - list:ObjectPropertyAtom(http://www.semanticweb.org/michel/ontologies/2014/6/TwitterOntology#posts Variable()Variable()) 14:54:38.967 [main] DEBUG o.s.o.r.r.p.OptimisedListTranslator - list:DataPropertyAtom()
14:54:40.316 [main] INFO c.c.o.e.BlackBoxExplanation - 初始公理数:50 14:54:40.319 [主要] INFO c.c.o.e.BlackBoxExplanation - 扩展公理(扩展0) 14:54:40.320 [主要] INFO c.c.o.e.BlackBoxExplanation - ...由62扩展 14:54:40.321 [主要] INFO c.c.o.e.BlackBoxExplanation - 扩展公理(扩展1) 14:54:40.322 [主要] INFO c.c.o.e.BlackBoxExplanation - ...由77扩展 14:54:40.324 [主要] INFO c.c.o.e.BlackBoxExplanation - 扩展公理(扩展2) 14:54:40.324 [主要] INFO c.c.o.e.BlackBoxExplanation - ...扩展为96 14:54:40.328 [主要] INFO c.c.o.e.BlackBoxExplanation - 扩展公理(扩展3) 14:54:40.328 [主要] INFO c.c.o.e.BlackBoxExplanation - ...扩展120 14:54:40.333 [main] INFO c.c.o.e.BlackBoxExplanation - 扩展公理(扩展4) 14:54:40.334 [主要] INFO c.c.o.e.BlackBoxExplanation - ...扩展150
如果你们中的一些人能给我任何暗示,那我真的很棒。
此致 米歇尔。
答案 0 :(得分:0)
Slf4j是正在使用的日志库,看起来你的日志级别非常低。
检查类路径中是否有simplelogger.properties文件,并设置org.slf4j.simple logger.defaultLogLevel=error
根据现有设置,您可能需要更改其他一些本地配置。
答案 1 :(得分:0)
我想出了如何解决我的问题。我把答案放在这里以防你们任何人面对同样的事情:
我在我的代码中使用了slf4j-api-1.7.12.jar。这个jar需要来自“org.slf4j.impl.StaticLoggerBinder”的.class。我没注意到我已经在我的类路径中放了以下jar:ch.qos.logback.classic-0.9.28.jar。最后一个jar有“org.slf4j.impl.StaticLoggerBinder”.class。但问题是它在运行时打印了大量的日志消息。
我使用另一个jar解决了这个问题 - slf4j-nop-1.7.12.jar - 而不是 - ch.qos.logback.classic-0.9.28.jar - 它有我需要的.class但没有打印消息在运行时。
我希望我很清楚。