我正在尝试使用rdflib加载和解析xml格式的非常简单的rdf文件。 我不认为,这是正确的解析。这是我的rdf/xml文件
<rdf:RDF xmlns:rdf="http://w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:foaf="http://xmlns.com/foaf/0.1/"
>
<foaf:Person>
<foaf:name>Peter Parker</foaf:name>
</foaf:Person>
</rdf:RDF>
我的python脚本在这里
from rdflib import Graph
g = Graph()
g.parse("person_1.rdf", format="xml")
print(len(g))
print(g.serialize(format="xml").decode("u8"))
print("Test - 2")
这是程序输出
3
<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF
xmlns:foaf="http://xmlns.com/foaf/0.1/"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
>
<rdf:Description rdf:nodeID="Nababb97ad88341329a7cf22cec65c00c">
<rdf:type rdf:resource="http://w3.org/1999/02/22-rdf-syntax-ns#RDF"/>
<foaf:Person rdf:nodeID="Nfa7b9ab24fae4bcd9ffbaa13aeb733db"/>
</rdf:Description>
<rdf:Description rdf:nodeID="Nfa7b9ab24fae4bcd9ffbaa13aeb733db">
<rdf:type rdf:resource="http://xmlns.com/foaf/0.1/name"/>
</rdf:Description>
</rdf:RDF>
Test - 2
我在输出中没有看到“彼得·帕克”这个名字。我做错什么了吗。 提前谢谢
如果您只想检索数据,请尝试以下方法
结果:
我看不出解析这个RDF有任何问题——它是有效的RDF——但重新序列化时看不到好结果的原因是它是糟糕的RDF,没有意义!您需要标识person节点。如果你知道Peter Parker的URI是 http://example.com/person/pp然后您可以使用:
如果您不知道Peter Parker的URI,可以使用空白节点:
但是RDF的全部目的是为了更好地将URI分配给此人
您将使用foafpersonal profile文档属性包围文档,如下所示
然后导入foaf名称空间,如下所示
相关问题 更多 >
编程相关推荐