首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >阻止OWLOntologyManager上线

阻止OWLOntologyManager上线
EN

Stack Overflow用户
提问于 2018-01-14 21:00:12
回答 1查看 114关注 0票数 0

有没有办法配置owlapi以避免从网络获取导入?我有IRIMappers,我希望一切都是本地化的。

我的症状是我错过了导入,我不知道是哪一个。如果我没有连接,我会得到这个异常:

代码语言:javascript
复制
Caused by: org.semanticweb.owlapi.io.OWLOntologyInputSourceException: java.net.UnknownHostException: purl.obolibrary.org
    at org.semanticweb.owlapi.io.DocumentSources.getInputStream(DocumentSources.java:192)
    at org.semanticweb.owlapi.io.DocumentSources.wrapInput(DocumentSources.java:121)
    at org.semanticweb.owlapi.io.DocumentSources.wrapInputAsReader(DocumentSources.java:83)
    at org.semanticweb.owlapi.io.DocumentSources.wrapInputAsReader(DocumentSources.java:100)
    at org.semanticweb.owlapi.io.AbstractOWLParser.getInputSource(AbstractOWLParser.java:38)
    at org.semanticweb.owlapi.rdf.rdfxml.parser.RDFXMLParser.parse(RDFXMLParser.java:59)
    at uk.ac.manchester.cs.owl.owlapi.OWLOntologyFactoryImpl.loadOWLOntology(OWLOntologyFactoryImpl.java:192)
    ... 7 more

使用5.1.4

EN

回答 1

Stack Overflow用户

发布于 2018-01-15 15:46:25

您可以使用AutoIRIMapper指向包含导入的本体副本的本地文件夹:

代码语言:javascript
复制
    OWLOntologyManager m = OWLManager.createOWLOntologyManager();
    PriorityCollection<OWLOntologyIRIMapper> iriMappers = m.getIRIMappers();
    iriMappers.add(new AutoIRIMapper(new File("materializedOntologies"), true));

您还可以告诉管理器忽略导入失败,但这将给您留下一个不完整的本体闭包,这意味着推理将不准确。这是通过设置org.semanticweb.owlapi.model.parameters.ConfigurationOptions.MISSING_IMPORT_HANDLING_STRATEGY来实现的,它可以设置为系统属性,也可以在与管理器关联的OntologyConfigurator对象上设置。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48249813

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档