function extractLinkedData($link, $origin)
{
    global $ep;
    // Wenn es die URL im Graph schon gibt, nichts machen, TODO besser updaten?
    if (graphContainsUrl($link)) {
        $res = new Response(null, "URL {$link} already visited, skip indexing");
        return res;
    } else {
        $parser = ARC2::getTurtleParser();
        //$data = $_POST['turtle'];
        $parser->parse($link);
        $triples = $parser->getTriples();
        // print_r($triples);
        // Wenn keine Tripel gefunden wurden
        if (count($triples) < 1) {
            $res = new Response(null, "URL {$link} contains no triples");
        } else {
            // in Datenbank einfügen
            $ep->insert($triples, $origin);
            //echo "<pre>";
            //print_r($triples);
            //echo "</pre>";
            $res = new Response(null, "URL {$link}: added " . count($triples) . " triples");
        }
        return $res;
    }
}
/**
* Extrahiert eingebettetes rdfa aus einer beliebigen HTML Seite und
* speichert es im triple store
* @param string $url
* @return Response Ein Responseobjekt
*/
function extractOAI($rdf, $url)
{
    global $ep;
    // Wenn es die URL im Graph schon gibt, nichts machen
    if (graphContainsUrl($url)) {
        $res = new Response(null, "URL {$url} already visited, skip indexing");
        return $res;
    } else {
        $parser = ARC2::getRDFXMLParser();
        $parser->parse($url, $rdf);
        // triple Darstellung
        $triples = $parser->getTriples();
        // Wenn kein OAI gefunden wurde
        if (count($triples) < 1) {
            $res = new Response(null, "URL {$url} contains no OAI-RDF");
            return $res;
        }
        // in Datenbank einfuegen
        $ep->insert($triples, "");
        $res = new Response(null, "URL {$url}: added " . count($triples) . " triples");
        return $res;
    }
}
error_reporting(E_ALL ^ E_NOTICE);
/* ARC2 static class inclusion */
include_once 'arc2/ARC2.php';
include_once 'response.php';
require_once './config/config.php';
/* instantiation */
$ep = ARC2::getStoreEndpoint($config);
if (!$ep->isSetUp()) {
    $ep->setUp();
    /* create MySQL tables */
}
// Empfängt RDF Daten im Turtle Format und speichert diese im Triplestore.
if (!empty($_POST['url']) && !empty($_POST['turtle'])) {
    $url = $_POST['url'];
    // Wenn es die URL im Graph schon gibt, nichts machen, TODO besser updaten?
    if (graphContainsUrl($url)) {
        $res = new Response(null, "URL {$url} already visited, skip indexing");
    } else {
        $parser = ARC2::getTurtleParser();
        $data = $_POST['turtle'];
        $parser->parse($url, $data);
        $triples = $parser->getTriples();
        // print_r($triples);
        // Wenn keine Tripel gefunden wurden
        if (count($triples) < 1) {
            $res = new Response(null, "URL {$url} contains no triples");
        } else {
            // in Datenbank einfügen mit URL als Graph Identifier
            $ep->insert($triples, $url);
            $res = new Response(null, "URL {$url}: added " . count($triples) . " triples" . $triples);
        }