1

我正在使用 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] 调试 osorrp.rdfxml.parser.TripleLogger - 三元组总数:4788 14:54:38.966 [main] 调试 osorrpOptimisedListTranslator - 列表:ObjectPropertyAtom(http://www.semanticweb.org/michel/ ontologies/2014/6/TwitterOntology#hashtagContainedInTweetRule Variable() Variable()) 14:54:38.967 [main] 调试 osorrpOptimisedListTranslator - 列表:ObjectPropertyAtom(http://www.semanticweb.org/michel/ontologies/2014/6/TwitterOntology #posts Variable() Variable()) 14:54:38.967 [main] 调试 osorrpOptimisedListTranslator - 列表:DataPropertyAtom()

14:54:40.316 [main] INFO ccoeBlackBoxExplanation - 初始公理计数:50 14:54:40.319 [main] INFO ccoeBlackBoxExplanation - 扩展公理(扩展 0) 14:54:40.320 [main] INFO ccoeBlackBoxExplanation - ... 扩展了 62 14:54:40.321 [main] INFO ccoeBlackBoxExplanation - 扩展公理(扩展 1) 14:54:40.322 [main] INFO ccoeBlackBoxExplanation - ... 扩展 77 14:54:40.324 [main] INFO ccoeBlackBoxExplanation - 扩展公理(扩展 2 ) 14:54:40.324 [main] INFO ccoeBlackBoxExplanation - ... 扩展了 96 14:54:40.328 [main] INFO ccoeBlackBoxExplanation - 扩展公理(扩展 3) 14:54:40.328 [main] INFO ccoeBlackBoxExplanation - ... 扩展by 120 14:54:40.333 [main] INFO ccoeBlackBoxExplanation - 扩展公理(扩展 4)14:54:40.334 [main] INFO c。coeBlackBoxExplanation - ... 扩大了 150

如果你们中的一些人能给我任何提示,我会非常感激。

问候,米歇尔。

4

2 回答 2

0

我想出了如何解决我的问题。我把答案放在这里,以防你们中的任何人面临同样的问题:

我在我的代码中使用了 slf4j-api-1.7.12.jar。这个 jar 需要来自“org.slf4j.impl.StaticLoggerBinder”的 .class。我没有注意到我已经在我的类路径中放入了以下 jar:ch.qos.logback.classic-0.9.28.jar。最后一个罐子有“org.slf4j.impl.StaticLoggerBinder”.class。但问题是它在运行时打印了大量的日志消息。

我使用另一个 jar 解决了这个问题 - slf4j-nop-1.7.12.jar - 而不是 - ch.qos.logback.classic-0.9.28.jar - 它具有我需要的 .class 但在运行时不打印任何消息。

我希望我很清楚。

于 2015-10-19T19:31:00.957 回答
0

Slf4j 是正在使用的日志库,看起来您的日志级别非常低。

检查您的类路径中是否有 simplelogger.properties 文件,并设置org.slf4j.simple logger.defaultLogLevel=error

根据现有设置,您可能需要更改一些其他本地配置。

于 2015-09-24T14:57:28.860 回答