Jena Riot 推断无效的 RDF(以文字作为主语)

问题描述 投票:0回答:1

我正在将 Jena riot CLI 工具推断出的 RDF 馈送到 shacl cli 工具中。

我的架构定义包含类似这样的内容:

lob:account_number
    rdfs:domain lob:Account;
    rdfs:range xsd:string .

数据包含以下内容:

:cbaEverydayOffset a :BankAccount;
  rdfs:label "Everyday Offset Account";
  :bsb "063-791"^^xsd:string;
  :account_number "1234567".

然后我像这样通过骚乱运行它:

riot --rdfs=tbox.ttl --strict --formatted=ttl abox.ttl > inferred.ttl

然后我尝试使用 shacl 进行验证,但它崩溃了,因为我的文件

inferred.ttl
包含如下断言:

"1234567" rdf:type xsd:string .

我认为这是无效的 RDF。这是否与 RDF* 存在某种不兼容性?我该怎么办?

rdf jena inference rdfs shacl
1个回答
0
投票

是 - RDF 无效。它与 RDF 星无关。

规则扩展由规则 rdfs3 给出 https://www.w3.org/TR/rdf11-mt/#patterns-of-rdfs-entailment-informative

riot
--rdfs=
的应用是 RDFS 蕴含规则的直接应用。

类是正在建模的域中的资源集。 文字值的类别是 rdfs:Literal - 值,而不是词汇形式和数据类型对的表示形式。

带有文字的 rdfs3 的结果不能用 RDF 编写,只是因为“无文字作为主题”规则(历史特征)。

接近的是:

_:a rdf:type xsd:string .
_:a rdf:value "1234567" .
© www.soinside.com 2019 - 2024. All rights reserved.