示例#1
0
<?php

if (isset($_GET['idhash'])) {
    $userID = $_GET['idhash'];
} 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);
<?php

require 'bc-fourstore-php/FourStore/FourStore_StorePlus.php';
require 'bc-fourstore-php/FourStore/Namespace.php';
require 'shakespeare_utilities.php';
$userID = getUserID();
$propertyList = loadProperties();
$classList = loadClasses();
FourStore_Namespace::addW3CNamespace();
//FourStore_Namespace::add('loc','http://signage.ecs.soton.ac.uk/ontologies/location#');
FourStore_Namespace::add('loc', 'http://purl.org/ontomedia/core/space#');
FourStore_Namespace::add('ome', 'http://purl.org/ontomedia/core/expression#');
$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 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";
$queryUser = $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";
$s = new FourStore_StorePlus('http://contextus.net:7000/sparql/');
$graph = array();
$autoLocsToBeIgnored = 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') {
        $autoLocsToBeIgnored[] = $result['o'];
    }
}
$rAuto = $s->query($queryAuto);
foreach ($rAuto['result']['rows'] as $result) {
    if (!in_array($result['s'], $autoLocsToBeIgnored)) {
        addTripleToGraph($graph, makeTriple($result['s'], $result['p'], $result['o']));