Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 如何在python中从RDF XML文件中检索特定值_Python 3.x_Sparql_Rdf_Rdf Xml - Fatal编程技术网

Python 3.x 如何在python中从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

我有一个RDF/XML文件,其格式如下(截断为仅显示必要的数据):


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“士兵——印度——生活的行为”]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>