首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何创建一个owl:两个owl:类的交叉点?

如何创建一个owl:两个owl:类的交叉点?
EN

Stack Overflow用户
提问于 2017-09-20 08:04:15
回答 1查看 131关注 0票数 2

对于学校的练习,我有一个RDF文件和一个OWL文件。

有一个owl:Class Lecturer和一个owl:Class Researcher。两者的交集应该是一位教授。我已经把我的RDF和OWL文件放在下面。

问题是:当我进行查询时,没有任何资源是类型的,而在RDF文件中,我们可以看到劳拉应该是一名教授。

rdf文件的简化版本:

代码语言:javascript
运行
复制
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE rdf:RDF [
<!ENTITY humans   "http://www.inria.fr/2007/09/11/humans.rdfs"> 
<!ENTITY xsd      "http://www.w3.org/2001/XMLSchema#"> ]> 
<rdf:RDF  
   xmlns:rdf ="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
   xmlns:xsd ="&xsd;" 
   xmlns     ="&humans;#" 
   xml:base  ="&humans;-instances" > 
    <Person rdf:ID="Laura">
        <name>Laura</name>
    </Person>
    <Lecturer rdf:about="#Laura"/>
    <Researcher rdf:about="#Laura">
      <name>Laura</name>
    </Researcher>
</rdf:RDF>

减少版本的owl文件:

代码语言:javascript
运行
复制
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns="http://www.w3.org/2000/01/rdf-schema#"
xml:base="http://www.inria.fr/2007/09/11/humans.rdfs"
xmlns:owl="http://www.w3.org/2002/07/owl#">

    <owl:Class rdf:ID="Person">
    </owl:Class>

    <owl:Class rdf:ID="Lecturer">
        <subClassOf rdf:resource="#Person"/>
    </owl:Class>

    <owl:Class rdf:ID="Researcher">
        <subClassOf rdf:resource="#Person"/>
    </owl:Class>

    <owl:Class rdf:id="Professor">
        <owl:intersectionOf rdf:parseType="Collection">
            <owl:Class rdf:about="#Lecturer"/>
            <owl:Class rdf:about="#Researcher"/>
        </owl:intersectionOf>
    </owl:Class>

</rdf:RDF>

我使用的查询是defautl查询:

代码语言:javascript
运行
复制
 select * where {
   ?x ?p ?y
 }

但我实际上希望做的是:

代码语言:javascript
运行
复制
select * where {
   ?x a <http://www.inria.fr/2007/09/11/humans.rdfs#Professor>
}

我确实看过这个答案:Why do we need to use rdf:parseType="Collection" with owl:intersectionOf?,但我不明白应该以何种方式使用它来解决我的具体问题。

我希望有人能帮忙。顺便说一句,这是我在这里的第一篇帖子,所以如果有什么遗漏,请告诉我。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-20 16:00:01

由@stanislav-kralincomments引译而来

使用正确的大写rdf:ID (而不是rdf:id),并在将RDF加载到GraphDB时启用“OWL”推理。

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

https://stackoverflow.com/questions/46316549

复制
相关文章

相似问题

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