0
<!-- http://www.semanticweb.org/vaio/ontologies/2013/0/untitled-ontology-113#hasDegree -->

<owl:ObjectProperty rdf:about="http://www.semanticweb.org/vaio/ontologies/2013/0/untitled-ontology-113#hasDegree">

<rdfs:range rdf:resource="http://www.semanticweb.org/vaio/ontologies/2013/0/untitled-ontology-113#degree"/>

<rdfs:domain rdf:resource="http://www.semanticweb.org/vaio/ontologies/2013/0/untitled-ontology-113#student"/>

</owl:ObjectProperty>

使用java api我需要签入<owl:ObjectProperty,如果rdf:about那么我如何在hasDegree之后#以及..类似地如果rdfs:range那么degree之后#

在6号线?

或者我如何使用 java api 提取这些值?

4

4 回答 4

2

我不完全确定你想从文件中得到什么,你的问题不清楚。但是,如果您想解析 OWL,尤其是如您所展示的 RDF/XML 格式的 OWL,您应该考虑使用JenaSesame,因为它们是使用 RDF 的事实上的标准 Java API。我会推荐 Sesame API,因为它更简单、更容易掌握,但两者都是非常好的库。

每个网站上都有关于如何使用 API 和活跃用户和开发者论坛的很好的文档,您可以在其中寻求帮助。

祝你好运。

于 2013-02-08T12:42:04.367 回答
0

由于您的输入是在 OWL 中,因此请考虑使用OWL-API或任何其他 OWL API,而不是像 XPath、XSLT、RDF 库等那样不那么特定于 OWL 的工具。

于 2013-02-11T08:02:41.990 回答
0

我假设您正在使用OWL-API,并且您的问题是:“如何在我的本体中获取对象属性的范围或域?” 在这种情况下:

/*Load the ontology from a local file and do the initialisations*/
File inputfile = new File("ontologyPath");
OWLOntologyManager manager = OWLManager.createOWLOntologyManager(); ;
OWLDataFactory dataFactory = manager.getOWLDataFactory();
OWLOntology yourOntology = manager.loadOntologyFromOntologyDocument(inputfile);
IRI ontologyIRI = yourOntology.getOntologyID().getOntologyIRI();  

/*Get an object property and its ranges*/  
OWLObjectProperty o_p_about = dataFactory.getOWLObjectProperty(IRI.create(ontologyIRI + "#"+"about"));
Set<OWLClassExpression> ranges_of_about = about.getRanges(LUCADAOntology);

要从这里获取它,您可以查看 OWL-API 网页上的文档和示例代码,它们非常有用。

于 2013-04-01T13:01:05.740 回答
0

使用 Jena API 调用 OWL 文件,然后使用 Turtle 写入/输出。

于 2017-11-19T00:57:23.327 回答