static function insert($turtle, $graph, $endpoint)
 {
     $sp_write = new FourStore_StorePlus($endpoint, false);
     $q = "INSERT DATA {  \n\t\t\t\t\t\tGRAPH <" . $graph . "> {    \n\t\t\t\t\t\t{$turtle}\n\t\t    \t\t}}";
     $res = @$sp_write->query($q, 'raw');
     $err = $sp_write->getErrors();
     if ($err) {
         throw new Exception(self::buildMessage($err));
     }
     if (!$res) {
         $msg = "Query insert new triples return: False without errors";
         throw new Exception($msg);
     }
 }
} else {
    $userID = $_POST['idhash'];
}
require 'bc-fourstore-php/FourStore/FourStore_StorePlus.php';
require 'bc-fourstore-php/FourStore/Namespace.php';
require 'shakespeare_utilities.php';
FourStore_Namespace::addW3CNamespace();
FourStore_Namespace::add('omb', 'http://purl.org/ontomedia/ext/common/being#');
FourStore_Namespace::add('ome', 'http://purl.org/ontomedia/core/expression#');
FourStore_Namespace::add('omj', 'http://purl.org/ontomedia/ext/events/travel#');
FourStore_Namespace::add('loc', 'http://signage.ecs.soton.ac.uk/ontologies/location#');
FourStore_Namespace::add('foaf', 'http://xmlns.com/foaf/0.1/');
$query = FourStore_Namespace::to_sparql();
$graphAuto = 'http://contextus.net/resource/midsum_night_dream/auto/';
$graphUser = '******' . $userID . '/';
$s = new FourStore_StorePlus('http://contextus.net:7000/sparql/');
$entity = array();
$type = "Character";
if (isset($_POST['gotoLoc'])) {
    $entityID = "location/" . $_POST['locNum'];
    $type = "Space";
} else {
    if (isset($_POST['gotoChar'])) {
        $entityID = "character/" . $_POST['charNum'];
    } else {
        $queryAuto1 = $query . "\n" . 'SELECT DISTINCT ?id WHERE { { GRAPH ?g {?id a omb:Character}} {GRAPH <' . $graphAuto . '> { ?id ?p ?o } } } ORDER BY ?id LIMIT 1' . "\n";
        $rAuto = $s->query($queryAuto1);
        //print("<p>Result: '" . $rAuto[0]['id'] . "'</p>");
        $entityID = "character/" . array_pop(explode("/", $rAuto['result']['rows'][0]['id']));
        //print("<p>Result: '" . $entityID . "'</p>");
    }
require 'bc-fourstore-php/FourStore/Namespace.php';
require 'shakespeare_utilities.php';
FourStore_Namespace::addW3CNamespace();
FourStore_Namespace::add('omb', 'http://purl.org/ontomedia/ext/common/being#');
FourStore_Namespace::add('ome', 'http://purl.org/ontomedia/core/expression#');
FourStore_Namespace::add('omj', 'http://purl.org/ontomedia/ext/events/travel#');
FourStore_Namespace::add('foaf', 'http://xmlns.com/foaf/0.1/');
$query = FourStore_Namespace::to_sparql();
if (isset($_POST['gragh'])) {
    $graphAuto = $_POST['gragh'] . 'auto/';
    $graphUser = $_POST['gragh'] . $userID . '/';
} else {
    $graphAuto = 'http://contextus.net/resource/midsum_night_dream/auto/';
    $graphUser = '******' . $userID . '/';
}
$s = new FourStore_StorePlus('http://contextus.net:7000/sparql/');
$event = array();
if (isset($_POST['previous'])) {
    $eventNum = $_POST['previousid'];
} else {
    if (isset($_POST['next'])) {
        $eventNum = $_POST['nextid'];
    } else {
        if (isset($_POST['goto']) && $_POST['eventNum'] != "" || isset($_GET['goto']) && $_GET['eventNum'] != "") {
            if (isset($_POST['eventNum'])) {
                $eventNum = $_POST['eventNum'];
            } else {
                $eventNum = $_GET['eventNum'];
            }
        } else {
            $queryAuto1 = $query . "\n" . 'SELECT DISTINCT ?id WHERE { { GRAPH ?g {?id a ome:Event}} {GRAPH <' . $graphAuto . '> { ?id ?p ?o } } } ORDER BY ?id LIMIT 1' . "\n";
Exemple #4
0
<?php

require 'bc-fourstore-php/FourStore/FourStore_Store.php';
require 'bc-fourstore-php/FourStore/FourStore_StorePlus.php';
$adds = explode("\n", $_POST['addedTriples']);
$changes = explode("\n", $_POST['changedTriples']);
$deletes = explode("\n", $_POST['deletedTriples']);
$baseURL = 'http://contextus.net/resource/midsum_night_dream/';
$autoGraphURL = $baseURL . 'auto/';
$userGraphURL = $baseURL . $_POST['idhash'] . '/';
$queryUser = '******' . $userGraphURL . '> WHERE { ?s ?p ?o }' . "\n";
$s = new FourStore_StorePlus('http://contextus.net:7000/sparql/');
$sWrite = new FourStore_Store('http://contextus.net:7000/sparql/');
$userGraph = array();
$results = $s->query($queryUser);
$err = $s->getErrors();
if ($err) {
    print_r($err);
    throw new Exception(print_r($err, true));
}
foreach ($results['result']['rows'] as $result) {
    addTripleToGraph($userGraph, $result);
}
$results = array();
if ($_POST['saveType'] == 'character') {
    $continueURL = 'exp_characteredit.php?idhash=' . $_POST['idhash'];
} else {
    if ($_POST['saveType'] == 'location') {
        $continueURL = 'exp_locationedit.php?idhash=' . $_POST['idhash'];
    }
}
$propertyList = loadProperties();
FourStore_Namespace::addW3CNamespace();
FourStore_Namespace::add('omb', 'http://purl.org/ontomedia/ext/common/being#');
FourStore_Namespace::add('omt', 'http://purl.org/ontomedia/ext/common/trait#');
FourStore_Namespace::add('ome', 'http://purl.org/ontomedia/core/expression#');
FourStore_Namespace::add('foaf', 'http://xmlns.com/foaf/0.1/');
$query = FourStore_Namespace::to_sparql();
$graphAuto = 'http://contextus.net/resource/midsum_night_dream/auto/';
$graphUser = '******' . $userID . '/';
$graphMeta = 'http://contextus.net/resource/meta/';
$queryAuto = $query . "\nSELECT ?s ?p ?o\nFROM <" . $graphAuto . ">\n" . 'WHERE { ?s a omb:Character ; ?p ?o . FILTER (?p = foaf:name || ?p = ome:is-shadow-of || ?p = rdf:type || ?p = ome:is) }' . "\n";
$queryUser = $query . "\nSELECT ?s ?p ?o\nFROM <" . $graphUser . ">\n" . 'WHERE { ?s a omb:Character ; ?p ?o . FILTER (?p = foaf:name || ?p = ome:is-shadow-of || ?p = rdf:type || ?p = ome:is) }' . "\n";
//$stateQuery = $query . "\nSELECT DISTINCT ?s ?label\nFROM <" .  $graphMeta . ">\n" . 'WHERE { ?s a omt:; rdfs:label ?label }' . "\n";
$stateQuery = $query . "\n" . 'SELECT DISTINCT ?id WHERE { { GRAPH ?g {?id a omt:State-Of-Being}} {GRAPH <' . $graphMeta . '> { ?id ?p ?o } } } ORDER BY ?id' . "\n";
//print($stateQuery);
$s = new FourStore_StorePlus('http://contextus.net:7000/sparql/');
$graph = array();
$autoCharsToBeIgnored = array();
$rUser = $s->query($queryUser);
foreach ($rUser['result']['rows'] as $result) {
    addTripleToGraph($graph, makeTriple($result['s'], $result['p'], $result['o']));
    if ($result['p'] == 'http://purl.org/ontomedia/core/expression#is-shadow-of') {
        $autoCharsToBeIgnored[] = $result['o'];
    }
}
$rAuto = $s->query($queryAuto);
foreach ($rAuto['result']['rows'] as $result) {
    if (!in_array($result['s'], $autoCharsToBeIgnored)) {
        addTripleToGraph($graph, makeTriple($result['s'], $result['p'], $result['o']));
    }
}
FourStore_Namespace::add('omt', 'http://purl.org/ontomedia/ext/common/trait#');
FourStore_Namespace::add('ome', 'http://purl.org/ontomedia/core/expression#');
FourStore_Namespace::add('foaf', 'http://xmlns.com/foaf/0.1/');
$query = FourStore_Namespace::to_sparql();
$graphAuto = 'http://contextus.net/resource/midsum_night_dream/auto/';
$graphUser = '******' . $userID . '/';
//$queryCharAuto = $query . "\nSELECT ?s ?p \nFROM <" . $graphAuto . ">\n" . 'WHERE { ?s ?p omb:Character . }' . "\n";
//$queryCharUser = $query . "\nSELECT ?s ?p \nFROM <" . $graphUser . ">\n" . 'WHERE { ?s ?p omb:Character . }' . "\n";
$queryCharAuto = $query . "\nSELECT ?s ?p ?o\nFROM <" . $graphAuto . ">\n" . 'WHERE { ?s a omb:Character ; ?p ?o . FILTER (?p = foaf:name || ?p = ome:is-shadow-of || ?p = rdf:type || ?p = ome:is) }' . "\n";
$queryCharUser = $query . "\nSELECT ?s ?p ?o\nFROM <" . $graphUser . ">\n" . 'WHERE { ?s a omb:Character ; ?p ?o . FILTER (?p = foaf:name || ?p = ome:is-shadow-of || ?p = rdf:type || ?p = ome:is) }' . "\n";
//$queryLocAuto = $query . "\nSELECT ?s ?p \nFROM <" . $graphAuto . ">\n" . 'WHERE { ?s ?p loc:Space . }' . "\n";
//$queryLocUser = $query . "\nSELECT ?s ?p \nFROM <" . $graphUser . ">\n" . 'WHERE { ?s ?p loc:Space . }' . "\n";
$queryLocAuto = $query . "\nSELECT ?s ?p ?o\nFROM <" . $graphAuto . ">\n" . 'WHERE { ?s a loc:Space ; ?p ?o . FILTER (?p = rdfs:label || ?p = ome:is-shadow-of ||  ?p = rdf:type || ?p = ome:is || ?p = loc:is-part-of || ?p = loc:adjacent-to) }' . "\n";
$queryLocUser = $query . "\nSELECT ?s ?p ?o\nFROM <" . $graphUser . ">\n" . 'WHERE { ?s a loc:Space ; ?p ?o . FILTER (?p = rdfs:label || ?p = ome:is-shadow-of ||  ?p = rdf:type || ?p = ome:is || ?p = loc:is-part-of || ?p = loc:adjacent-to) }' . "\n";
//print($queryUser);
$s = new FourStore_StorePlus('http://contextus.net:7000/sparql/');
$graph = array();
$autoCharsToBeIgnored = array();
$chars = array();
$rUser = $s->query($queryCharUser);
foreach ($rUser['result']['rows'] as $result) {
    addTripleToGraph($graph, makeTriple($result['s'], $result['p'], $result['o']));
    array_push($chars, $result['s']);
    if ($result['p'] == 'http://purl.org/ontomedia/core/expression#is-shadow-of') {
        $autoCharsToBeIgnored[] = $result['o'];
    }
}
$rAuto = $s->query($queryCharAuto);
foreach ($rAuto['result']['rows'] as $result) {
    if (!in_array($result['s'], $autoCharsToBeIgnored)) {
        addTripleToGraph($graph, makeTriple($result['s'], $result['p'], $result['o']));
$userID = $_GET['idhash'];
require 'bc-fourstore-php/FourStore/FourStore_StorePlus.php';
require 'bc-fourstore-php/FourStore/Namespace.php';
require 'shakespeare_utilities.php';
$propertyList = loadProperties();
FourStore_Namespace::addW3CNamespace();
FourStore_Namespace::add('omb', 'http://purl.org/ontomedia/ext/common/being#');
FourStore_Namespace::add('ome', 'http://purl.org/ontomedia/core/expression#');
FourStore_Namespace::add('foaf', 'http://xmlns.com/foaf/0.1/');
$query = FourStore_Namespace::to_sparql();
$graphAuto = 'http://contextus.net/resource/midsum_night_dream/auto/';
$graphUser = '******' . $userID . '/';
$queryAuto = $query . "\nSELECT ?s ?p ?o\nFROM <" . $graphAuto . ">\n" . 'WHERE { ?s a omb:Character ; ?p ?o . FILTER (?p = foaf:name || ?p = ome:is-shadow-of || ?p = rdf:type || ?p = ome:is) }' . "\n";
$queryUser = $query . "\nSELECT ?s ?p ?o\nFROM <" . $graphUser . ">\n" . 'WHERE { ?s a omb:Character ; ?p ?o . FILTER (?p = foaf:name || ?p = ome:is-shadow-of || ?p = rdf:type || ?p = ome:is) }' . "\n";
$s = new FourStore_StorePlus('http://contextus.net:7000/sparql/');
$graph = array();
$autoCharsToBeIgnored = array();
$rUser = $s->query($queryUser);
foreach ($rUser['result']['rows'] as $result) {
    addTripleToGraph($graph, makeTriple($result['s'], $result['p'], $result['o']));
    if ($result['p'] == 'http://purl.org/ontomedia/core/expression#is-shadow-of') {
        $autoCharsToBeIgnored[] = $result['o'];
    }
}
$rAuto = $s->query($queryAuto);
foreach ($rAuto['result']['rows'] as $result) {
    if (!in_array($result['s'], $autoCharsToBeIgnored)) {
        addTripleToGraph($graph, makeTriple($result['s'], $result['p'], $result['o']));
    }
}