首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RDFS :在RDFUnit中使用RDFS验证RDF时的域错误

RDFS :在RDFUnit中使用RDFS验证RDF时的域错误
EN

Stack Overflow用户
提问于 2020-05-16 16:19:54
回答 1查看 134关注 0票数 1

我试图在RDFUnit在线演示(http://rdfunit.aksw.org/demo/)中使用RDFS验证我的RDF。审定结果如下:

失败错误http://example.org/cim#IdentifiedObject.mRID有rdfs:域与:http://example.org/cim#IdentifiedObject不同

卢旺达国防军:

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<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:cim="http://example.org/cim#" >
  <rdf:Description  rdf:about="1">
    <rdf:type rdf:resource="cim:IdentifiedObject" />
    <cim:IdentifiedObject.mRID>1</cim:IdentifiedObject.mRID>
  </rdf:Description>
</rdf:RDF>

RDFS:

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xml:base="http://example.org/cim#" >
  <rdfs:Class rdf:ID="IdentifiedObject" />
  <rdf:Property rdf:ID="IdentifiedObject.mRID">
    <rdfs:domain rdf:resource="#IdentifiedObject" />
  </rdf:Property>
</rdf:RDF>

在rdf:Propery中声明域的正确方法是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-19 23:55:41

这个错误有点神秘,但据猜测,问题在于数据中的这一行:

代码语言:javascript
复制
<rdf:type rdf:resource="cim:IdentifiedObject" />

您在这里使用前缀名称作为rdf:resource的值,但在RDF/XML*中不允许这样做。这个值需要是完整的URI:http://example.org/cim#IdentifiedObject。当前情况的结果可能是RDFUnit不认识到数据中使用的类和模式在域语句中使用的类是相同的。

Protip:不要使用RDF/XML。就像,永远。手动编写/调试是一种糟糕的语法。切换到像Turtle或N这样的东西,更容易阅读和编辑.

*这不起作用的原因是,RDF/XML是XML,它使用XML命名空间机制来表示前缀名称--这仅用于元素和属性名称,而不是属性值。

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

https://stackoverflow.com/questions/61839906

复制
相关文章

相似问题

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