我使用EasyRdf在图中创建了几个节点。我的问题是,我正在尝试创建一个新的空白节点,并将指向正确资源的rdf:about属性设置为该节点。
$rdf = new EasyRdf_Graph();
$datapoint_resource = $rdf->newBNode(
'rdf:Description'
);这段代码的问题在于它创建了一个新的rdf:Description节点,但是我无法将rdf:about作为属性添加到其中。
<rdf:Description>
<!-- Some resources here -->
</rdf:Description>我需要的是
<rdf:Description rdf:about="http://link.to/my/resource/id">
<!-- Some resources here -->
</rdf:Description>我尝试将rdf:about作为资源添加,但是W3C验证器输出的错误“rdf: but在这里不允许作为元素标记”。
<rdf:Description>
<rdf:about rdf:resource="http://ordex.probook/rdf/datapoint/5813af3dbf552b25ed30fd5c9f1eea0b"/>
</rdf:Description>所以这不起作用,而且可能也不是个好主意。
在创建一个新的空白节点时,我如何添加rdf:about,或者您有什么其他建议?
发布于 2014-02-27 16:07:03
rdf:about用于RDF/XML图的序列化,以指示资源的URI。使用Graph.newBNode()创建的空白节点没有URI。若要创建URI资源,请使用Graph.resource(uri)。因此,您应该这样做:
$datapoint_resource = $rdf->resource('http://link.to/my/resource/id');有关如何使用rdf:about的更多信息,请参见RDF1.1XML语法。例如,它包括以下例子:
图2图由一些节点组成,这些节点是IRIs (其他节点不是),可以使用节点元素上的rdf:about属性将其添加到RDF/XML中,以给出示例2中的结果: 添加IRIs的例2节点元素 ">http://www.w3.org/TR/rdf-syntax-grammar"> ">http://purl.org/net/dajobe/">
https://stackoverflow.com/questions/22073693
复制相似问题