//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 */
}
if (!empty($_GET['url'])) {
    $origin = $_GET['url'];
    $url = str_replace("/page/", "/data/", $origin);
    $url .= ".ntriples";
    $res = extractLinkedData($url, $origin);
    print_r($res);
}
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);
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 */
}
if (!empty($_POST['url'])) {
    $url = $_POST['url'];
    $resRDFa = extractRDFa($url);
    $origin = $_POST['url'];
    $ldurl = str_replace("/page/", "/data/", $origin);
    $ldurl .= ".ntriples";
    $resLD = extractLinkedData($ldurl, $origin);
    $response = new Response(null, $resRDFa->message . " " . $resLD->message);
    echo json_encode($response);
}
/**
 * Extrahiert eingebettetes rdfa aus einer beliebigen HTML Seite und
 * speichert es im triple store
 * @param string $url
 * @return Response Ein Responseobjekt
 */
function extractRDFa($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");