为了账号安全,请及时绑定邮箱和手机立即绑定

OWL-API 5.1.6 SWRL 规则生成和 RDFXMLDocumentFormat

OWL-API 5.1.6 SWRL 规则生成和 RDFXMLDocumentFormat

青春有我 2021-07-07 13:28:19
什么:我正面临我所说的问题,但可能不是。对于某些需求,我正在通过 OWL API 创建一系列 swrl 规则,这些规则在序列化后将通过简单的文件上传添加到 stardog 存储库中。例如,我修改了我的代码以生成两个非常简单的 swrl 规则公理:对于给定的术语列表,如果一个项目具有所有术语,则必须将其分类为参数中的分类类。在这里,我选择了番茄 -> 关于蔬菜猴子,驴 -> 关于动物如何:我使用这个版本:[根据伊格纳齐奥的提示进行编辑]compile group: 'net.sourceforge.owlapi', name: 'owlapi-distribution', version: '5.1.6'所以我有类似的东西来产生 swrl 规则公理:import org.semanticweb.owlapi.apibinding.OWLManager;import org.semanticweb.owlapi.formats.RDFXMLDocumentFormat;import org.semanticweb.owlapi.model.*;import java.io.File;import java.util.Arrays;import java.util.HashSet;import java.util.List;import java.util.Set;public class StackOverflowExemple {private final static String BASE_IRI          = "http://foo.bar/exemple.owl";private final static String CLASS_ITEM        = BASE_IRI + "#Item";private final static String CLASS_TERM        = BASE_IRI + "#Term";private final static String PROP_ISCLASSIFIED = BASE_IRI + "#isClassified";private final static String PROP_HASTERM      = BASE_IRI + "#hasTerm";private final static String IND_IT            = BASE_IRI + "#it";public static void main(String[] args) throws Exception {   OWLOntologyManager manager = OWLManager.createOWLOntologyManager();   OWLOntology onto = manager.createOntology();   SWRLRule rule1 = createRule(manager, Arrays.asList(new String[]{"tomato"}), BASE_IRI + "#aboutVegetables");   manager.applyChange(new AddAxiom(onto, rule1));   SWRLRule rule2 = createRule(manager, Arrays.asList(new String[]{"monkey", "donkey"}), BASE_IRI + "#aboutAnimals");   manager.applyChange(new AddAxiom(onto, rule2));   File output = new File("foo.rdf");   OWLDocumentFormat format = new RDFXMLDocumentFormat();   manager.saveOntology(onto, format, IRI.create(output));}
查看完整描述

2 回答

?
隔江千里

TA贡献1906条经验 获得超10个赞

Owlapi 3.5.0 很古老。您看到的结果似乎是 RDF/XML 呈现中的一个问题。

尝试两件事:

  • 改用函数式语法或 OWL/XML,看看这是否有帮助

  • 使用较新的 owlapi 版本。您的代码应该使用 5.1.6 进行编译,并进行细微更改,其中大部分应该仅针对包名称。

编辑:如前所述,实际使用的版本是 5.1.6。看到的问题是一个错误,已在 5.1.7 版中修复。


查看完整回答
反对 回复 2021-07-14
  • 2 回答
  • 0 关注
  • 319 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号