我正在尝试使用ARC2从HTML字符串中提取RDFa,但我遇到以下错误:
Undefined offset: 0 in /Applications/MAMP/htdocs/p-dpa/wp/addons/arc2/extractors/ARC2_PoshRdfExtractor.php on line 75
这是我使用的代码:
$aString = '
<span vocab="http://schema.org/" typeof="Document">
<a property="url" href="http://www.w3.org/TR/rdfa-primer/">
<span property="title">RDFa 1.1 Primer</span></a>.
</span>';
// Extracting RDFa from HTML
$config = array('auto_extract' => 0);
$parser = ARC2::getSemHTMLParser();
$parser->parse($aString);
$parser->extractRDF('rdfa');
$triples = $parser->getTriples();
$rdfxml = $parser->toRDFXML($triples);
print_r($rdfxml);
知道我做错了什么?
答案 0 :(得分:2)
好吧,看起来我用的是错误的解析方式。
$aString = '
<span vocab="http://schema.org/" typeof="Document">
<a property="url" href="http://www.w3.org/TR/rdfa-primer/">
<span property="title">RDFa 1.1 Primer</span></a>.
</span>';
// Extracting RDFa from HTML
$config = array('auto_extract' => 0);
$parser = ARC2::getSemHTMLParser();
$base = 'http://example.com';
$parser->parse($base, $aString);
$parser->extractRDF('rdfa');
$triples = $parser->getTriples();
$rdfxml = $parser->toRDFXML($triples);
print_r($rdfxml);
答案 1 :(得分:1)
我不建议使用ARC2来解析RDFa,请使用EasyRDF 0.8(测试版)。即使EasyRdf仍然处于测试阶段,它的RDFa解析器比ARC2更可靠,并且通过了超过95%的RDFa测试套件。
在https://github.com/njh/easyrdf查看主分支,然后在http://easyrdf-converter.aelius.com/
进行试用