当对象是bNode时,rdf reification如何工作?

时间:2018-03-14 08:47:38

标签: rdf turtle-rdf blank-nodes

只要主题,谓词和对象是IRI(或对象是文字),RDF具体化就非常简单。但是当对象是空节点(bNode)时,rdf:Statement是什么样的? 一个例子("我看到一个穿着脏雨衣的男人"):

ex:I ex:saw [
    a ex:Man ;
    ex:wore ex:dirtyRaincoat ];

我可以想象两种情况: 1)在对象中只有bNode标识符(要求我知道它是什么或者我自己创建了一个。

[ a rdf:Statement ;
    rdf:subject ex:I ;
    rdf:predicate ex:saw ;
    rdf:object _:b1 ] .
_:b1 a ex:Man ;
    ex:wore ex:dirtyRaincoat .

2)将所有bNode放入rdf:object的对象位置:

[ a rdf:Statement ;
    rdf:subject ex:I ;
    rdf:predicate ex:saw ;
    rdf:object [
        a ex:Man ;
        ex:wore ex:dirtyRaincoat .
] ] .

1 个答案:

答案 0 :(得分:2)

没有区别:您的场景实际上都是完全相同的模型。您在第二个场景中使用的方括号表示法仅仅是一种语法快捷方式,可用于具有多个属性的空白节点。所以它是Turtle中的语法变体,但它们是相同的RDF模型。