Search code examples
phprdfa

Getting error when trying to extract RDFa from an HTML string using ARC2


I'm trying to extract RDFa from an HTML string using ARC2, but I'm having the following error:

Undefined offset: 0 in /Applications/MAMP/htdocs/p-dpa/wp/addons/arc2/extractors/ARC2_PoshRdfExtractor.php on line 75

Here's the code I use:

$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);

Any idea of what am I doing wrong?


Solution

  • Ok,looks like I was using the wrong way to parse.

    $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);