rdfs:使用RDFUnit中的rdfs验证RDF时出现域错误

rdfs:使用RDFUnit中的rdfs验证RDF时出现域错误,rdf,semantic-web,rdfs,Rdf,Semantic Web,Rdfs,我试图在RDFUnit在线演示()中用RDFS验证我的RDF。验证结果为: 失败错误已经发生 rdfs:域不同于: RDF: 1. RDF: 在rdf:Propery中声明域的正确方法是什么?错误有点神秘,但据猜测,问题在于数据中的这一行: <rdf:type rdf:resource="cim:IdentifiedObject" /> 这里使用前缀名称作为rdf:resource的值,但在rdf/XML*中不允许这样做。此值必须是完整的URI:http://examp

我试图在RDFUnit在线演示()中用RDFS验证我的RDF。验证结果为:

失败错误已经发生 rdfs:域不同于:

RDF:


1.
RDF:



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

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

<rdf:type rdf:resource="cim:IdentifiedObject" />

这里使用前缀名称作为
rdf:resource
的值,但在rdf/XML*中不允许这样做。此值必须是完整的URI:
http://example.org/cim#IdentifiedObject
。当前情况的结果可能是RDFUnit无法识别数据中使用的类和模式在domain语句中使用的类是同一件事

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


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

多谢各位。实际上,类型声明是一个问题。将其更改为完整URI或将类声明缩短为
使其通过验证。
<?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:type rdf:resource="cim:IdentifiedObject" />