JENA API 支持 OWL 2 吗?

问题描述 投票:0回答:1

我可以知道 Apahe JENA 是否支持 Java 中的 OWL 2 语法?它确实提到在文档中(https://jena.apache.org/documentation/ontology/)它只提供有限的基数限制。我想向专家确认这一点。

jena owl owl-api jena-rules
1个回答
5
投票

更新

从版本 5.1.0 Jena 开始支持 OWL2。请参阅jena-ontapi 如何使用此 API 的示例保持不变,但导入除外。

之前的回答

Apache Jena支持OWL2,仅通过org.apache.jena.ontology.OntModel接口支持OWL11。另请参阅文档

但是您仍然可以使用一些基于 Jena 的外部 API 和工具在 Jena 中使用 OWL2,例如ONT-API,即 OWL-API-api(v5) impl over Jena。

在ONT-API中,有两个主要的OWL2数据视图,它们封装了相同的RDF图:

com.github.owlcs.ontapi.jena.model.OntModel
com.github.owlcs.ontapi.Ontology
在旧版本中(ONT-API:v1.x.x)这些类的名称为
ru.avicomp.ontapi.jena.model.OntGraphModel分别为 
ru.avicomp.ontapi.OntologyModel
)。

com.github.owlcs.ontapi.jena.model.OntModel 视图完全类似于 Jena org.apache.jena.ontology.OntModel

,它是处理三元组的工具。
com.github.owlcs.ontapi.Ontology 视图是一个扩展的 org.semanticweb.owlapi.model.OWLOntology
,它是处理公理数据的工具,由 
com.github.owlcs.ontapi.jena.model.OntModel
 视图支持,反之亦然。

例如,以下代码片段:

String uri = "https://stackoverflow.com/questions/54049750"; String ns = uri + "#"; OntModel m = OntModelFactory.createModel() .setNsPrefixes(OntModelFactory.STANDARD).setNsPrefix("q", ns); m.setID(uri); OntClass c = m.createOntClass(ns + "c"); OntObjectProperty p = m.createObjectProperty(ns + "p"); OntIndividual i = c.createIndividual(ns + "i"); m.createObjectComplementOf(m.createObjectUnionOf(c, m.getOWLThing(), m.createObjectSomeValuesFrom(p, m.createObjectOneOf(i)))); m.write(System.out, "ttl");
将产生以下本体:

@prefix q: <https://stackoverflow.com/questions/54049750#> . @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . @prefix owl: <http://www.w3.org/2002/07/owl#> . @prefix xsd: <http://www.w3.org/2001/XMLSchema#> . @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . <https://stackoverflow.com/questions/54049750> a owl:Ontology . q:c a owl:Class . q:p a owl:ObjectProperty . q:i a owl:NamedIndividual , q:c . [ a owl:Class ; owl:complementOf [ a owl:Class ; owl:unionOf ( q:c owl:Thing [ a owl:Restriction ; owl:onProperty q:p ; owl:someValuesFrom [ a owl:Class ; owl:oneOf ( q:i ) ] ] ) ] ] .
    
© www.soinside.com 2019 - 2024. All rights reserved.