EasyRDF(php库):如何提取RDF/XML中的所有属性和文本?
使用(PHP库),如何提取XML/RDF中的所有属性和文本 我尝试了EasyRdf_Literal_XML::create();和EasyRdf_Parser_RdfXml::parse();EasyRdf_Literal_XML::domParse();但是我不太理解这些糟糕的文档 RDF/XML数据($input在下面的代码中)如下所示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
<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"
- 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);