- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
SPARQL 1.1 Entailment Regimes的文档断言有可能产生不一致的图,而且不一致的原因只有一个:rdf:XMLLiteral
:
ex:a ex:b "<"^^rdf:XMLLiteral .
ex:b rdfs:range rdf:XMLLiteral .
<
不是有效的 XML 片段,因此
"<"^^rdf:XMLLiteral
必须被解释为不在
rdfs:Literal
中的东西(显然)。这似乎有些武断和复杂,所以我有以下问题:
"<"^^rdf:XMLLiteral
简单解释为 "<"
?它不是 XML 文字是有道理的,但为什么它根本不能是文字? rdf:XMLLiteral
而不是例如 xsd:boolean
或其他数据类型?如果我们开始验证常见的数据类型,就会发现很多不一致的地方。 rdf:XMLLiteral
是不规范的。这是否意味着对 RDFS 的新解释总是一致的? 最佳答案
SPARQL 1.1 Entailment 制度,于 2013 年 3 月标准化,基于 RDF Semantics来自 2004 标准(我将其称为 RDF 1.0)。在 RDF 1.0 中,RDFS 蕴涵不强制要求将数据类型 URI 解释为数据类型,但它为 rdf:XMLLiteral
分配了特殊的语义。和具有此数据类型 URI 的文字。其他文字不受其数据类型 URI 的任何限制,因此 xsd:boolean
例如,不会影响 RDFS 蕴涵的一致性。事实上,RDF entailment imposes the special treatment of rdf:XMLLiteral
,这对 RDFS 蕴涵进行。
为了找到由于数据类型引起的其他不一致,您必须考虑另一种蕴含机制,如 D-entailment 或 OWL。在 RDF 1.0 中,D-entailment被定义为 RDFS 的扩展,因此在 RDFS 中没有“验证通用数据类型”。这应该回答你的第二个问题。
此外,"<"^^rdf:XMLLiteral
是错误类型的 XML 文字,因此不能将其解释为 XML 值,并且由于 RDF 蕴涵的约束,其解释不能是类型 rdf:XMLLiteral
,也就是说,更正式地说,对 (IL( "<"^^rdf:XMLLiteral
),IS( rdf:XMLLiteral
)),由字面值 "<"^^rdf:XMLLiteral
的解释组成以及 URI 的解释 rdf:XMLLiteral
, 不能在属性 rdf:type
的扩展 IEXT(IS( rdf:type
)) 中.此外,错误类型的 XML 文字不能等于任何文字值,它必须包括纯文字值(UNICODE 字符串和语言标记字符串),因此它不能表示字符串 "<"
.原因是我们不希望错误类型的文字与某些格式良好的文字表示相同的值。这应该回答你的第一个问题。
2014年RDF 1.1 was standardised with an updated semantics . D-entailment不再是 RDFS entailment 的扩展名.反过来说:RDFS 蕴涵是相对于 recognized datatype IRIs 的集合 D 定义的。 .这意味着 RDFS 蕴涵不再是单一的蕴涵机制,而是由 D 参数化的一系列蕴涵机制。在最简单的例子中,RDFS 蕴涵必须只识别 xsd:string
。和 rdf:langString
,这意味着仍然可能存在不一致,因为并非所有 UNICODE 字符串都是有效的 XSD 字符串。此外,RDF 1.1 更改了错误类型文字的解释。在 RDF 1.1 Semantics 中,类型错误的文字不表示任何内容。这意味着你甚至不能谈论它们。只要 RDF 图中存在类型错误的文字,该图就会不一致。所以:
<s> <p> "\u0000"^^xsd:string .
在 RDFS 1.1 蕴涵制度中不一致。这应该回答你的第三个问题。
关于sparql - RDFS 蕴涵制度的不一致,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65958186/
我是一名优秀的程序员,十分优秀!