Python 3.x 如何在python中从RDF XML文件中检索特定值
我有一个RDF/XML文件,其格式如下(截断为仅显示必要的数据):Python 3.x 如何在python中从RDF XML文件中检索特定值,python-3.x,sparql,rdf,rdf-xml,Python 3.x,Sparql,Rdf,Rdf Xml,我有一个RDF/XML文件,其格式如下(截断为仅显示必要的数据): 34 1926 钱德勒,埃德蒙 1874 坎德勒,埃德蒙 乌贼 士兵——印度——生活的行为 我想从此文件中检索某些属性,例如: 标题:Sepoy 创建者-姓名:埃德蒙·坎德勒 下载:34 主题-价值:士兵——印度——生活的行为 我已经确定SPARQL很可能是我从事这类工作所需要的技术,但我没有RDF方面的经验,并且对这些数据的格式感到非常困惑。如何解析此文件以检索python中所需的信息?使用rdflib,将数据视为TU
34
1926
钱德勒,埃德蒙
1874
坎德勒,埃德蒙
乌贼
士兵——印度——生活的行为
我想从此文件中检索某些属性,例如:
- 标题:Sepoy
- 创建者-姓名:埃德蒙·坎德勒
- 下载:34
- 主题-价值:士兵——印度——生活的行为
我已经确定SPARQL很可能是我从事这类工作所需要的技术,但我没有RDF方面的经验,并且对这些数据的格式感到非常困惑。如何解析此文件以检索python中所需的信息?使用
rdflib
,将数据视为TURTLE
或N-Triples
格式(因为它接近SPARQL),查看一个小型RDF/SPARQL教程-对于基本查询来说非常简单,您只编写与图形匹配的模式有一个示例,要获取标题,请执行选择?book?title,其中{book a pgterms:ebook。?book dcterms:title?title.}
@UninformedUser感谢您的帮助。我能够得到所有的结果,除了在某种数组中的主题值:dcterms:subject[dcam:memberofdcterms:LCC;rdf:value“U”],[dcam:memberofdcterms:LCSH;rdf:value“士兵——印度——生活的行为”]我不知道怎样才能得到“士兵——印度——生活行为”的价值观,嗯,好吧,我的错。你看到的是海龟语法的空白节点表示法。您可以在SPARQL中重复使用相同的符号:select?book?title?subjectName,其中{book a pgterms:ebook。?book dcterms:title?title。?book dcterms:subject[rdf:value?subjectName].}
可以看到,有多个主题分配给了这本书,因此,您将得到两行aka绑定“U”
和“士兵——印度——生活行为”
<rdf:RDF xml:base="http://www.gutenberg.org/">
<pgterms:ebook rdf:about="ebooks/48666">
<pgterms:downloads rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">34</pgterms:downloads>
<dcterms:creator>
<pgterms:agent rdf:about="2009/agents/36363">
<pgterms:deathdate rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">1926</pgterms:deathdate>
<pgterms:webpage rdf:resource="http://en.wikipedia.org/wiki/Edmund_Candler"/>
<pgterms:alias>Chandler, Edmund</pgterms:alias>
<pgterms:birthdate rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">1874</pgterms:birthdate>
<pgterms:name>Candler, Edmund</pgterms:name>
</pgterms:agent>
</dcterms:creator>
<dcterms:title>The Sepoy</dcterms:title>
<dcterms:subject>
<rdf:Description rdf:nodeID="Nd62b88adeb1347d9b99ba9d763e74269">
<dcam:memberOf rdf:resource="http://purl.org/dc/terms/LCSH"/>
<rdf:value>Soldiers -- India -- Conduct of life</rdf:value>
</rdf:Description>
</dcterms:subject>
</pgterms:ebook>
</rdf:RDF>