EasyRDF(php库):如何提取RDF/XML中的所有属性和文本?

EasyRDF(php库):如何提取RDF/XML中的所有属性和文本?,php,xml,attributes,rdf,easyrdf,Php,Xml,Attributes,Rdf,Easyrdf,使用(PHP库),如何提取XML/RDF中的所有属性和文本 我尝试了EasyRdf_Literal_XML::create();和EasyRdf_Parser_RdfXml::parse();EasyRdf_Literal_XML::domParse();但是我不太理解这些糟糕的文档 RDF/XML数据($input在下面的代码中)如下所示 <rdf:RDF> <rdf:Description rdf:about="http://dbpedia.org/resource/1

使用(PHP库),如何提取XML/RDF中的所有属性和文本

我尝试了EasyRdf_Literal_XML::create();和EasyRdf_Parser_RdfXml::parse();EasyRdf_Literal_XML::domParse();但是我不太理解这些糟糕的文档

RDF/XML数据($input在下面的代码中)如下所示

<rdf:RDF>
  <rdf:Description rdf:about="http://dbpedia.org/resource/1964">
    <owl:sameAs rdf:resource="http://dbpedia.org/resource/1964"/>
    <rdf:Description rdf:about="http://dbpedia.org/resourc/1964_AD">
      <dbo:wikiPageRedirects rdf:resource="http://dbpedia.org  
        /resource/1964"/>
    </rdf:Description>
    <dbo:abstract xml:lang="nl">Het jaar 1964 is een jaartal volgens    
      de christelijke jaartelling.</dbo:abstract>
    <rdfs:comment xml:lang="es">1964 (MCMLXIV) fue un año bisiesto 
      comenzando en miércoles</rdfs:comment>
  </rdf:Description>
</rdf:RDF>
现在,我想提取和计数(即使是嵌套的)

1) 所有属性

  • rdf:about=”http://dbpedia.org/resource/1964"
  • rdf:资源=”http://dbpedia.org/resource/1964"
  • rdf:about=”http://dbpedia.org/resourc/1964_AD"
  • rdf:资源=”http://dbpedia.org/resource/1964"
4项

2) 所有文字

  • 1964年的哈特贾尔是一位名叫贾尔特·沃尔根斯的基督徒
  • 1964年(MCMLXIV)在米尔科勒的科门赞多举行了一次非正式会议

2计数

您可以使用SPARQL,也可以只使用graph API,示例有什么问题吗?我的意思是SPARQL是一种简单的查询语言,如果您不想使用它,您仍然可以在图中的RDF三元组上进行迭代,并从中获取主语、谓词和对象。感谢@AKSW的评论。要回答您的问题,首先,示例没有错。我就是找不到我想要的例子(此外,SPARQL不可用。第二,我想在PHP中使用easyrdf进行RDF/XML解析,所以我只是想问如何使用属性和文本的语法来提取属性和文本。在我看来,在PHP中使用RDF通常不是很好。有没有经验?可能我没有正确理解您,但属性不是RDF的一部分。如果要计算XML文件中的属性,需要使用适当的类对其进行分析。您是指“”(例如)三元组的使用次数吗?在这种情况下,请使用
Graph
class将XML文件加载到Graph实例中,参考:.Offtopic:“owl:sameAs”指向自身。
# Put data ($input) in the format of RDF/XML ($format) in $graph

try {
   $graph = EasyRdf_Graph::newAndLoad($input, $format);
  } 
catch (Exception $error) {
    $error->getMessage();
    return array('RDF loading problem (No RDF available or RDF data problem');
  }

$xml = EasyRdf_Literal_XML::create($graph);
$a =  EasyRdf_Parser_RdfXml::parse($xml);