尝试使用ARC2从HTML字符串中提取RDFa时出错

时间:2013-11-06 15:20:56

标签: php rdfa

我正在尝试使用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);

知道我做错了什么?

2 个答案:

答案 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/

进行试用