【发布时间】:2018-04-12 09:10:49
【问题描述】:
我正在使用 OWL,我定义了 2 个类,它们共享一个数据属性:
<Declaration>
<DataProperty IRI="#hasLastName" />
</Declaration>
<DataPropertyDomain>
<DataProperty IRI="#hasLastName" />
<Class IRI="#Class1" />
</DataPropertyDomain>
<DataPropertyDomain>
<DataProperty IRI="#hasLastName" />
<Class IRI="#Class2" />
</DataPropertyDomain>
在 java 中,我创建了一个项目,该项目从一个 owl 文件和一个 xml 文件开始,它创建了一个表单。 在我的 xml 文件中,我以这种方式定义表单的各个部分:
<section>
<iri>http://www.sample.com/myontology#class1</iri>
<infoList>
<info type="text" property="http://www.sample.com/myontology#hasLastName" required="true" />
<info type="text" property="http://www.sample.com/myontology#hasFirstName" required="true" />
<info type="text" property="http://www.sample.com/myontology#hasEmail" required="false" />
<info type="text" property="http://www.sample.com/myontology#hasPhone" required="false" />
</infoList>
</section>
<section>
<iri>http://www.sample.com/myontology#class2</iri>
<infoList>
<info type="text" property="http://www.sample.com/myontology#hasLastName" required="true" />
<info type="text" property="http://www.sample.com/myontology#hasUser" required="false" />
<info type="text" property="http://www.sample.com/myontology#hasRole" required="false" />
</infoList>
</section>
如何访问第 1 类和第 2 类的不同姓氏属性? 我通过http://www.sample.com/myontology#hasLastName检索它 有类似http://www.sample.com/myontology#Class1#hasLastName 的东西吗?
对不起,我是本体的初学者,对我来说不是很清楚
【问题讨论】:
-
ehm,这听起来更像是“如何在Java 中查询XML 数据?” 要么遍历DOM,要么分别使用XPath。 XQuery
-
不,我可以查询 xml 并检索数据,我想知道是否有办法获取已定义类的 OWL 属性。我对两个类使用相同的属性。
-
这取决于您使用什么 API 来读取 OWL 文件。您使用的是什么 API?
-
我正在使用 OWL API
-
现在,只需使用 OWL API 的方法。顺便说一句,类的属性这样的表述具有误导性。一个类没有属性。