1

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

知道我在做什么错吗?

4

2 回答 2

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);
于 2013-11-06T15:24:42.063 回答
1

我不建议使用 ARC2 来解析 RDFa,请改用 EasyRDF 0.8(测试版)。即使 EasyRdf 仍处于测试阶段,它的 RDFa 解析器也比 ARC2 更可靠,并且通过了 95% 以上的 RDFa 测试套件。

在https://github.com/njh/easyrdf查看 master 分支,并在http://easyrdf-converter.aelius.com/尝试一下

于 2013-11-06T16:04:15.683 回答