public function __construct($a = '')
{
parent::__construct();
$this->a = $a;
/* parse the before and after graphs if necessary*/
foreach (array('before', 'after', 'before_rdfxml', 'after_rdfxml') as $rdf) {
if (!empty($a[$rdf])) {
if (is_string($a[$rdf])) {
/** @var \ARC2_RDFParser $parser */
$parser = \ARC2::getRDFParser();
$parser->parse(false, $a[$rdf]);
$a[$rdf] = $parser->getSimpleIndex(0);
} else {
if (is_array($a[$rdf]) and isset($a[$rdf][0]) and isset($a[$rdf][0]['s'])) {
//triples array
/** @var \ARC2_RDFSerializer $ser */
$ser = \ARC2::getTurtleSerializer();
/** @var string $turtle */
$turtle = $ser->getSerializedTriples($a[$rdf]);
/** @var \ARC2_RDFParser $parser */
$parser = \ARC2::getTurtleParser();
$parser->parse(false, $turtle);
$a[$rdf] = $parser->getSimpleIndex(0);
}
}
$nrdf = str_replace('_rdfxml', '', $rdf);
$this->{$nrdf} = $a[$rdf];
}
}
$this->__init();
}