【问题标题】:RDF/XML: How to omit blank nodes?RDF/XML:如何省略空白节点?
【发布时间】:2016-07-27 18:32:18
【问题描述】:
<rdf:Description rdf:about="rdf-syntax-grammer">
<ex:editor>
   <rdf:Description>
   <ex:homePage rdf:resource="http://~~~" />
   <ex:fullName>AAA</ex:fullName>
</rdf:Description>

可以这样省略:

<rdf:Description rdf:about="rdf-syntax-grammer">
    <ex:editor ex:fullName="AAA />
    <!-- homePage is ignored -->
</rdf:Description>

我知道homePage 不能省略,因为它没有文字对象节点。所以在这个例子中,homePage 部分被忽略了。

接下来,如果homePage 有这样的文字对象:

    <ex:homePage>http://~~~</ex:homePage>

那么如何用ex:fullName 省略这个?

这是正确的吗? ——

<rdf:Description rdf:about="rdf-syntax-grammer">
    <ex:editor ex:homePage="http://~~~" />
    <ex:editor ex:fullName="AAA" />
</rdf:Description>

【问题讨论】:

  • 您能说明您要描述/建模的内容吗?
  • 从什么中省略节点?文件?被解析?某物的输出?
  • 您的初始示例不是有效的 RDF/XML(即使您添加了缺少的命名空间声明),这是试图理解问题的问题。无论如何,在第二个清单中的代码中,您会丢失信息(如“//homePage isignoed”所述)。

标签: rdf semantic-web blank-nodes


【解决方案1】:

通过 W3C RDF 验证器运行您的示例。您还可以选择生成图表的选项(显示您的 RDF 外观的可视化):

比较这些图表,看看它们是否都表达了相同的信息。如果他们使用您正在试验的缩写是可以的(他们不会丢失任何信息)。

在验证器解析这些示例之前,您需要修复 RDF 有效性错误。

更新:

您最后一个清单中的 ex:editor 行是有效的 RDF/XML,但它们可能会给您带来意想不到的结果 - 您正在创建两个不同的空白节点(每个语句一个)而不是 1 个具有两个属性的空白节点。

解决方法如下:

<ex:editor ex:homePage="http://~~~" ex:fullName="AAA" />

【讨论】:

    猜你喜欢
    • 2016-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-10
    • 1970-01-01
    • 2010-12-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多