Skip to content
Snippets Groups Projects
Commit 5bec9a54 authored by alangrafu's avatar alangrafu
Browse files

First functional copy-able apps

TODO: include app-level params, such as root, as well as provenance
data (where was this application originated, at which time it was
collected, etc.)
parent 634c1bfd
No related branches found
No related tags found
No related merge requests found
...@@ -11,3 +11,5 @@ models/local:AsDAsd.model.html/dbpedia/alla2 ...@@ -11,3 +11,5 @@ models/local:AsDAsd.model.html/dbpedia/alla2
meta/db.sqlite meta/db.sqlite
meta/db.sqlite meta/db.sqlite
meta/db.sqlite
<?
define("LS", "http://lodspeakr.org/lda/");
define("SKOS", "http://www.w3.org/2004/02/skos/core#");
define("RDF", "http://www.w3.org/1999/02/22-rdf-syntax-ns#");
define("DC", "http://purl.org/dc/terms/");
define("CNT", "http://www.w3.org/2011/content#");
define("RDFS", "http://www.w3.org/2000/01/rdf-schema#");
define("FILE", "settings.inc.php");
class Importer{
private $basedir;
private $external_basedir;
public function run(){
if(is_file(FILE)){
echo "There is an existing ".FILE." file on this installation. Please remove it before importing a new one";
exit(0);
}
if(!isset($_GET['import'])){
echo 'Please include a "?import=http://example.org/lodspeakr/benegesserit" at the end of the URL';
exit(0);
}
if(!is_writable('.')){
echo 'The webserver needs write permissions in "lodspeakr/" "lodspeakr/models/" and "lodspeakr/views/" dirs to import settings.';
exit(0);
}
$this->external_basedir = str_replace('benegesserit', '', $_GET['import']);
echo $this->external_basedir;
include_once('lib/arc2/ARC2.php');
$parser = ARC2::getTurtleParser();
$parser->parse($_GET['import']);
$triples = $parser->getTriples();
$appArr = $this->search($triples, null, RDF.'type', LS.'Application');
if(!(sizeof($appArr) > 0)){
echo "I can't find an application from the URL given";
exit(0);
}
$app = $appArr[0]['s'];
$compArr = $this->search($triples, null, SKOS.'broader', $app);
$content = "<?\n\$conf['debug'] = false;\n\$conf['use_external_uris'] = true;\n\n";
$this->basedir = (!empty($_SERVER['HTTPS'])) ? "https://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'] : "http://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];
$arr = explode("lodspeakr/benegesserit", $this->basedir);
$this->basedir = $arr[0];
$content .= "\$conf['basedir'] = \"$this->basedir\";\n";
$pwd = getcwd();
$content .= "\$conf['home'] = \"$pwd/\";\n";
foreach($compArr as $v){
$component = $v['s'];
$componentTypeArr = $this->search($triples, $component, RDF.'type', null);
$compType = $componentTypeArr[0]['o'];
$params = array();
$q = $this->search($triples, $component, LS.'usedParameter', null);
foreach($q as $p){
$param = $p['o'];
$labelArr = $this->search($triples, $param, RDFS.'label', null);
$label = $labelArr[0]['o'];
$format = $this->search($triples, $param, DC.'hasFormat', null);
$cntArr = $this->search($triples, $format[0]['o'], CNT.'chars', null);
$cnt = $cntArr[0]['o'];
$params[$label] = $cnt;
}
$inputs = array();
$q = $this->search($triples, $component, LS.'usedInput', null);
foreach($q as $p){
$param = $p['o'];
$labelArr = $this->search($triples, $param, RDFS.'label', null);
if(sizeof($labelArr)>0){
$label = $labelArr[0]['o'];
$format = $this->search($triples, $param, DC.'hasFormat', null);
$cntArr = $this->search($triples, $format[0]['o'], CNT.'chars', null);
$cnt = $cntArr[0]['o'];
$inputs[$label] = $cnt;
}
}
if($compType == LS."LodspeakrEndpointManagerComponent"){
$content .= $this->createEndpoints($params);
}elseif($compType == LS."LodspeakrNamespaceManagerComponent"){
$content .= $this->createNamespaces($params);
}elseif($compType == LS."LodspeakrSparqlEndpointRetriever"){
$this->createModels($inputs);
}elseif($compType == LS."LodspeakrVisualComponent"){
$this->createViews($inputs);
}else{
trigger_error("Component '$component' (of type $compType) not supported", E_USER_WARNING);
}
}
$content .= "?>\n";
try{
$fh = fopen(FILE, 'a');
fwrite($fh, $content);
fclose($fh);
} catch (Exception $e) {
echo 'Caught exception while writing settings: ', $e->getMessage(), "\n";
exit(1);
}
}
private function createEndpoints($ep){
require('common.inc.php');
$endpoints = "";
try{
foreach($ep as $k => $v){
if($conf['endpoint'][$k] != $v){
$endpoints .= "\$conf[\"endpoint\"][\"$k\"] = \"$v\";\n";
}
}
$endpoints .= "\n\n";
} catch (Exception $e) {
echo 'Caught exception while importing endpoints: ', $e->getMessage(), "\n";
exit(1);
}
return $endpoints;
}
private function createNamespaces($ns){
require('namespaces.php');
$namespaces = "";
try{
foreach($ns as $k => $v){
if($conf["ns"][$k] != $v){
if(preg_match("|^".$this->external_basedir."|", $v)){
$newns = preg_replace("|^".$this->external_basedir."|", $this->basedir, $v);
$namespaces .= "\$conf[\"ns\"][\"".$k."_ext\"] = \"$newns\";\n";
}
$namespaces .= "\$conf[\"ns\"][\"$k\"] = \"$v\";\n";
}
}
$namespaces .= "\n\n";
} catch (Exception $e) {
echo 'Caught exception while importing namespaces: ', $e->getMessage(), "\n";
exit(1);
}
return $namespaces;
}
private function createModels($models){
try{
foreach($models as $k => $v){
$path = explode("/", $k);
for($i=0; $i<sizeof($path)-1; $i++){
if(file_exists($path[$i])){
if(!is_dir($path[$i])){
unlink($path[$i]);
mkdir($path[$i]);
}
}else{
mkdir($path[$i]);
}
chdir($path[$i]);
}
$fh = fopen(end($path), 'w');
fwrite($fh, $v);
fclose($fh);
for($i=0; $i<sizeof($path)-1; $i++){
chdir('..');
}
}
} catch (Exception $e) {
echo 'Caught exception while importing models: ', $e->getMessage(), "\n";
exit(1);
}
}
private function createViews($views){
try{
foreach($views as $k => $v){
$path = explode("/", $k);
for($i=0; $i<sizeof($path)-1; $i++){
if(file_exists($path[$i])){
if(!is_dir($path[$i])){
unlink($path[$i]);
mkdir($path[$i]);
}
}else{
mkdir($path[$i]);
}
chdir($path[$i]);
}
$fh = fopen(end($path), 'w');
fwrite($fh, $v);
fclose($fh);
for($i=0; $i<sizeof($path)-1; $i++){
chdir('..');
}
}
} catch (Exception $e) {
echo 'Caught exception while importing views: ', $e->getMessage(), "\n";
exit(1);
}
}
private function search($graph, $s = null, $p = null, $o = null){
$results = array();
foreach($graph as $v){
$threeOks = 0;
//Check subject
if($s != null){
if($v['s'] == $s){
$threeOks++;
}
}else{
$threeOks++;
}
//Check predicate
if($p != null){
if($v['p'] == $p){
$threeOks++;
}
}else{
$threeOks++;
}
//Check object
if($o != null){
if($v['o'] == $o){
$threeOks++;
}
}else{
$threeOks++;
}
if($threeOks == 3){
array_push($results, $v);
}
}
return $results;
}
}
$imp = new Importer();
$imp->run();
?>
...@@ -42,7 +42,6 @@ class SpecialFunction extends AbstractSpecialFunction{ ...@@ -42,7 +42,6 @@ class SpecialFunction extends AbstractSpecialFunction{
$modelFile = $conf['special']['uri'].".".$f.$conf['model']['extension'].".".$extension; $modelFile = $conf['special']['uri'].".".$f.$conf['model']['extension'].".".$extension;
if(!is_file($conf['model']['directory'].$modelFile) || !is_file($conf['view']['directory'].$viewFile)){ if(!is_file($conf['model']['directory'].$modelFile) || !is_file($conf['view']['directory'].$viewFile)){
throw new Exception('Method does not exist!'); throw new Exception('Method does not exist!');
Utils::send404($uri);
} }
$endpoints = $context['endpoints']; $endpoints = $context['endpoints'];
array_pop($params); array_pop($params);
...@@ -62,8 +61,18 @@ class SpecialFunction extends AbstractSpecialFunction{ ...@@ -62,8 +61,18 @@ class SpecialFunction extends AbstractSpecialFunction{
} }
$data['query'] =$queryHeader . $query;*/ $data['query'] =$queryHeader . $query;*/
//$e->query($data['query'], Utils::getResultsType($query)); //$e->query($data['query'], Utils::getResultsType($query));
$prefixHeader = array(); $prefixHeader = array();
for($i=0;$i<sizeof($params);$i++){ for($i=0;$i<sizeof($params);$i++){
if($conf['use_external_uris']){
$altUri = Utils::curie2uri($params[$i]);
$altUri = preg_replace("|^".$conf['basedir']."|", $conf['ns']['local'], $altUri);
echo $altUri."\n";
$params[$i] = Utils::uri2curie($altUri);
}
}
for($i=0;$i<sizeof($params);$i++){
$auxPrefix = Utils::getPrefix($params[$i]); $auxPrefix = Utils::getPrefix($params[$i]);
if($auxPrefix['ns'] != NULL){ if($auxPrefix['ns'] != NULL){
$prefixHeader[] = $auxPrefix; $prefixHeader[] = $auxPrefix;
...@@ -71,14 +80,14 @@ class SpecialFunction extends AbstractSpecialFunction{ ...@@ -71,14 +80,14 @@ class SpecialFunction extends AbstractSpecialFunction{
$args["arg".$i]=$params[$i]; $args["arg".$i]=$params[$i];
} }
$data['params'] = $params; $data['params'] = $params;
$base = $conf['view']['standard']; $base = $conf['view']['standard'];
$base['type'] = $modelFile; $base['type'] = $modelFile;
$base['this']['value'] = $uri; $base['this']['value'] = $uri;
$base['this']['curie'] = Utils::uri2curie($uri); $base['this']['curie'] = Utils::uri2curie($uri);
$base['this']['contentType'] = $acceptContentType; $base['this']['contentType'] = $acceptContentType;
$base['model']['directory'] = $conf['model']['directory']; $base['model']['directory'] = $conf['model']['directory'];
$base['view']['directory'] = $conf['view']['directory']; $base['view']['directory'] = $conf['view']['directory'];
$base['ns'] = $conf['ns']; $base['ns'] = $conf['ns']; $base['ns'] = $conf['ns']; $base['ns'] = $conf['ns'];
$base['type'] = $modelFile; $base['type'] = $modelFile;
$base['header'] = $prefixHeader; $base['header'] = $prefixHeader;
$base['args'] = $args; $base['args'] = $args;
...@@ -98,6 +107,7 @@ $base['ns'] = $conf['ns']; $base['ns'] = $conf['ns']; ...@@ -98,6 +107,7 @@ $base['ns'] = $conf['ns']; $base['ns'] = $conf['ns'];
$rRoot = &$resulst; $rRoot = &$resulst;
Utils::processDocument($viewFile, $base, $results); Utils::processDocument($viewFile, $base, $results);
}catch (Exception $ex){ }catch (Exception $ex){
echo $ex->getMessage()." ".$ex->getLine();
trigger_error($ex->getMessage(), E_ERROR); trigger_error($ex->getMessage(), E_ERROR);
Utils::send500($uri); Utils::send500($uri);
} }
......
<?
class Exporter{
private $serialization;
private $graph;
public function __construct(){
$this->serialization = "";
$this->graph = array();
define("CNT", "http://www.w3.org/2011/content#");
define("NSVIZON", "http://graves.cl/vizon/");
define("LS", "http://lodspeakr.org/lda/");
define("LDA", "http://tw.rpi.edu/lda/");
define("DC", "http://purl.org/dc/terms/");
define("RDF", "http://www.w3.org/1999/02/22-rdf-syntax-ns#");
define("RDFS", "http://www.w3.org/2000/01/rdf-schema#");
define("OPMV", "http://openprovenance.org/ontology#");
define("SKOS", "http://www.w3.org/2004/02/skos/core#");
}
public function run(){
global $conf;
$triples = array();
$t = array();
$t['s'] = $conf['basedir'];
$t['s_type'] = 'uri';
$t['p'] = RDF.'type';
$t['o'] = OPMV.'Agent';
$t['o_type'] = 'uri';
array_push($triples, $t);
$t['o'] = SKOS.'Concept';
array_push($triples, $t);
$t['o'] = LS.'Application';
array_push($triples, $t);
$t['s'] = $conf['basedir'].'endpointManagerComponent';
$t['s_type'] = 'uri';
$t['p'] = SKOS.'broader';
$t['o'] = $conf['basedir'];
$t['o_type'] = 'uri';
array_push($triples, $t);
$t['p'] = RDF.'type';
$t['o'] = LS.'LodspeakrEndpointManagerComponent';
$t['o_type'] = 'uri';
array_push($triples, $t);
$t2 = array();
$t2['s'] = $t['o'];
$t2['s_type'] = 'uri';
$t2['p'] = RDFS.'subClassOf';
$t2['o'] = LDA."DataComponent";
$t2['o_type'] = 'uri';
array_push($triples, $t2);
//Endpoints
foreach($conf['endpoint'] as $k => $v){
$t['p'] = LS.'usedParameter';
$t['o'] = uniqid("_:b");
$t['o_type'] = 'bnode';
array_push($triples, $t);
$t2 = array();
$t2['s'] = $t['o'];
$t2['s_type'] = 'uri';
$t2['p'] = RDF.'type';
$t2['o'] = LS."Parameter";
$t2['o_type'] = 'uri';
array_push($triples, $t2);
$t2['p'] = RDFS.'label';
$t2['o'] = $k;
$t2['o_type'] = 'literal';
array_push($triples, $t2);
$t2['p'] = DC.'hasFormat';
$t2['o'] = uniqid("_:b");
$t2['o_type'] = 'bnode';
array_push($triples, $t2);
$t2['s'] = $t2['o'];
$t2['s_type'] = 'bnode';
$t2['p'] = RDF.'type';
$t2['o'] = CNT."ContentAsText";
$t2['o_type'] = 'uri';
array_push($triples, $t2);
$t2['p'] = CNT.'chars';
$t2['o'] = ($v);
$t2['o_type'] = 'literal';
array_push($triples, $t2);
$t2['p'] = DC.'format';
$t2['o'] = 'text/plain;charset=utf-8';
$t2['o_type'] = 'literal';
array_push($triples, $t2);
}
$t['s'] = $conf['basedir'].'namespaceManagerComponent';
$t['s_type'] = 'uri';
$t['p'] = SKOS.'broader';
$t['o'] = $conf['basedir'];
$t['o_type'] = 'uri';
array_push($triples, $t);
$t['p'] = RDF.'type';
$t['o'] = LS.'LodspeakrNamespaceManagerComponent';
$t['o_type'] = 'uri';
array_push($triples, $t);
$t2['s'] = $t['o'];
$t2['s_type'] = 'uri';
$t2['p'] = RDFS.'subClassOf';
$t2['o'] = LDA."ProcessComponent";
$t2['o_type'] = 'uri';
array_push($triples, $t2);
//Namepsaces
foreach($conf['ns'] as $k => $v){
$t['p'] = LS.'usedParameter';
$t['o'] = uniqid("_:b");
$t['o_type'] = 'bnode';
array_push($triples, $t);
$t2 = array();
$t2['s'] = $t['o'];
$t2['s_type'] = 'uri';
$t2['p'] = RDF.'type';
$t2['o'] = LS."Parameter";
$t2['o_type'] = 'uri';
array_push($triples, $t2);
$t2['p'] = RDFS.'label';
$t2['o'] = $k;
$t2['o_type'] = 'literal';
array_push($triples, $t2);
$t2['p'] = DC.'hasFormat';
$t2['o'] = uniqid("_:b");
$t2['o_type'] = 'bnode';
array_push($triples, $t2);
$t2['s'] = $t2['o'];
$t2['s_type'] = 'bnode';
$t2['p'] = RDF.'type';
$t2['o'] = CNT."ContentAsText";
$t2['o_type'] = 'uri';
array_push($triples, $t2);
$t2['p'] = CNT.'chars';
$t2['o'] = ($v);
$t2['o_type'] = 'literal';
array_push($triples, $t2);
$t2['p'] = DC.'format';
$t2['o'] = 'text/plain;charset=utf-8';
$t2['o_type'] = 'literal';
array_push($triples, $t2);
}
require($conf['home'].'lib/arc2/ARC2.php');
$ser = ARC2::getTurtleSerializer();
$sparqlComponent = $conf['basedir'].'sparqlComponent';//uniqid("_:b");
//echo $ser->getSerializedTriples($triples);
//var_dump($this->getComponents($conf['home'].$conf['view']['directory']));
$models = $this->getComponents($conf['home'].$conf['model']['directory'], '');
//Define Process
$t = array();
$t['s'] = uniqid("_:b");
$t['s_type'] = 'bnode';
$t['p'] = RDF.'type';
$t['o'] = OPMV.'Process';
$t['o_type'] = 'uri';
array_push($triples, $t);
foreach($models as $k=>$m){
//Controlled by
$t['p'] = OPMV.'wasControlledBy';
$t['o'] = $sparqlComponent;
$t['o_type'] = 'bnode';
array_push($triples, $t);
//Associated Agent to this installation
$aux = $t['o'];
$t['s'] = $t['o'];
$t['p'] = SKOS.'broader';
$t['o'] = $conf['basedir'];
$t['o_type'] = 'uri';
array_push($triples, $t);
//Return object for later triple
$t['o'] = $sparqlComponent;
// Type of query
$t2 = array();
$t2['s'] = $t['o'];
$t2['s_type'] = 'bnode';
$t2['p'] = RDF.'type';
$t2['o'] = LS.'LodspeakrSparqlEndpointRetriever';
$t2['o_type'] = 'uri';
$t3 = array();
$t3['s'] = $t2['o'];
$t3['s_type'] = 'uri';
$t3['p'] = RDFS.'subClassOf';
$t3['o'] = LDA."ProcessComponent";
$t3['o_type'] = 'uri';
array_push($triples, $t3);
array_push($triples, $t2);
$t2['p'] = RDFS.'label';
$t2['o'] = 'Sparql endpoint component for LODSPeaKr';
$t2['o_type'] = 'literal';
array_push($triples, $t2);
$t['p'] = LS.'usedInput';
$t['o'] = $conf['basedir'].$conf['model']['directory'].$k;
$t['o_type'] = 'uri';
array_push($triples, $t);
$t2 = array();
$t2['s'] = $t['o'];
$t2['s_type'] = 'uri';
$t2['p'] = RDF.'type';
$t2['o'] = LS."Input";
$t2['o_type'] = 'uri';
array_push($triples, $t2);
$t2['p'] = RDFS.'label';
$t2['o'] = $conf['model']['directory'].$k;
$t2['o_type'] = 'literal';
array_push($triples, $t2);
$t2['p'] = DC.'hasFormat';
$t2['o'] = uniqid("_:b");
$t2['o_type'] = 'bnode';
array_push($triples, $t2);
$t2['s'] = $t2['o'];
$t2['s_type'] = 'bnode';
$t2['p'] = RDF.'type';
$t2['o'] = CNT."ContentAsText";
$t2['o_type'] = 'uri';
array_push($triples, $t2);
$t2['p'] = CNT.'chars';
$t2['o'] = ($m);
$t2['o_type'] = 'literal';
array_push($triples, $t2);
$t2['p'] = DC.'format';
$t2['o'] = 'text/plain;charset=utf-8';
$t2['o_type'] = 'literal';
array_push($triples, $t2);
//break;
}
//Views
$viewsComponent = $conf['basedir'].'visualizationComponent';//uniqid("_:b");
$views = $this->getComponents($conf['home'].$conf['view']['directory'], '');
//Define Process
$t = array();
$t['s'] = uniqid("_:b");
$t['s_type'] = 'bnode';
$t['p'] = RDF.'type';
$t['o'] = OPMV.'Process';
$t['o_type'] = 'uri';
array_push($triples, $t);
foreach($views as $k=>$m){
//Controlled by
$t['p'] = OPMV.'wasControlledBy';
$t['o'] = $viewsComponent;
$t['o_type'] = 'bnode';
array_push($triples, $t);
//Associated Agent to this installation
$aux = $t['o'];
$t['s'] = $t['o'];
$t['p'] = SKOS.'broader';
$t['o'] = $conf['basedir'];
$t['o_type'] = 'uri';
array_push($triples, $t);
//Return object for later triple
$t['o'] = $viewsComponent;
// Type of query
$t2 = array();
$t2['s'] = $t['o'];
$t2['s_type'] = 'bnode';
$t2['p'] = RDF.'type';
$t2['o'] = LS.'LodspeakrVisualComponent';
$t2['o_type'] = 'uri';
array_push($triples, $t2);
$t3 = array();
$t3['s'] = $t2['o'];
$t3['s_type'] = 'uri';
$t3['p'] = RDFS.'subClassOf';
$t3['o'] = LDA."VisualComponent";
$t3['o_type'] = 'uri';
array_push($triples, $t3);
$t2['p'] = RDFS.'label';
$t2['o'] = 'Haanga-based visualization component for LODSPeaKr';
$t2['o_type'] = 'literal';
array_push($triples, $t2);
$t['p'] = LS.'usedInput';
$t['o'] = $conf['basedir'].$conf['view']['directory'].$k;
$t['o_type'] = 'uri';
array_push($triples, $t);
$t2 = array();
$t2['s'] = $t['o'];
$t2['s_type'] = 'uri';
$t2['p'] = RDF.'type';
$t2['o'] = LS."Input";
$t2['o_type'] = 'uri';
array_push($triples, $t2);
$t2['p'] = RDFS.'label';
$t2['o'] = $conf['view']['directory'].$k;
$t2['o_type'] = 'literal';
array_push($triples, $t2);
$t2['p'] = DC.'hasFormat';
$t2['o'] = uniqid("_:b");
$t2['o_type'] = 'bnode';
array_push($triples, $t2);
$t2['s'] = $t2['o'];
$t2['s_type'] = 'bnode';
$t2['p'] = RDF.'type';
$t2['o'] = CNT."ContentAsText";
$t2['o_type'] = 'uri';
array_push($triples, $t2);
$t2['p'] = CNT.'chars';
$t2['o'] = ($m);
$t2['o_type'] = 'literal';
array_push($triples, $t2);
$t2['p'] = DC.'format';
$t2['o'] = 'text/plain;charset=utf-8';
$t2['o_type'] = 'literal';
array_push($triples, $t2);
//break;
}
echo $ser->getSerializedTriples($triples);
}
private static function getTriple($s, $p, $o){
}
private function createParameter($name, $value){
$s = uniqid("_:b");
$s_type = 'bnode';
$p = RDF."type";
$o = NSVIZON."Parameter";
$o_type = 'uri';
}
private function getViews($dir){
global $conf;
$files = "";
chdir($dir);
$handle = opendir('.');
while (false !== ($viewFile = readdir($handle))) {
if($viewFile != "." && $viewFile != ".."){
$files .= $viewFile.": ".htmlspecialchars(file_get_contents($viewFile))."\n";
$t = array();
}
}
chdir("..");
return $files;
}
private function getComponents($dir, $prefix){
global $conf;
$files = array();
$subDirs = array();
chdir($dir);
$handle = opendir('.');
while (false !== ($modelFile = readdir($handle))) {
if($modelFile != "." && $modelFile != ".."){
if(is_dir($modelFile)){
//Save it for later, after all the queries in the current directory has been resolved
$subDirs[]=$modelFile;
}else{
$files[$prefix.$modelFile] = (file_get_contents($modelFile))."\n";
}
}
}
foreach($subDirs as $dir){
//$files[$dir] = array();
$files = array_merge($files, $this->getComponents($dir, $prefix.$dir."/"));
}
chdir("..");
return $files;
}
}
?>
...@@ -191,11 +191,11 @@ class Utils{ ...@@ -191,11 +191,11 @@ class Utils{
public static function getResultsType($query){ public static function getResultsType($query){
global $conf; global $conf;
if(preg_match("/select/i", $query)){ if(preg_match("/select/i", $query)){
return $conf['endpoint']['select']['output']; return $conf['output']['select'];
}elseif(preg_match("/describe/i", $query)){ }elseif(preg_match("/describe/i", $query)){
return $conf['endpoint']['describe']['output']; return $conf['output']['describe'];
}elseif(preg_match("/construct/i", $query)){ }elseif(preg_match("/construct/i", $query)){
return $conf['endpoint']['describe']['output']; return $conf['output']['describe'];
}else{ }else{
Utils::send500(null); Utils::send500(null);
} }
...@@ -300,7 +300,7 @@ class Utils{ ...@@ -300,7 +300,7 @@ class Utils{
if(!isset($rPointer[$modelFile])){ if(!isset($rPointer[$modelFile])){
$rPointer[$modelFile] = array(); $rPointer[$modelFile] = array();
} }
if(Utils::getResultsType($query) == $conf['endpoint']['select']['output']){ if(Utils::getResultsType($query) == $conf['output']['select']){
$rPointer[$modelFile] = Utils::sparqlResult2Obj($aux); $rPointer[$modelFile] = Utils::sparqlResult2Obj($aux);
/*if(sizeof($rPointer)>0){ /*if(sizeof($rPointer)>0){
$rPointer[$modelFile]['first'] = $rPointer[$modelFile][0]; $rPointer[$modelFile]['first'] = $rPointer[$modelFile][0];
...@@ -309,7 +309,7 @@ class Utils{ ...@@ -309,7 +309,7 @@ class Utils{
$rPointer[$modelFile] = $aux; $rPointer[$modelFile] = $aux;
} }
}else{ }else{
if(Utils::getResultsType($query) == $conf['endpoint']['select']['output']){ if(Utils::getResultsType($query) == $conf['output']['select']){
$rPointer = Utils::sparqlResult2Obj($aux); $rPointer = Utils::sparqlResult2Obj($aux);
/*if(sizeof($rPointer)>0){ /*if(sizeof($rPointer)>0){
$rPointer['first'] = $rPointer[0]; $rPointer['first'] = $rPointer[0];
......
<? <?
$conf['endpoint']['select']['output'] = 'json'; $conf['output']['select'] = 'json';
$conf['endpoint']['describe']['output'] = 'rdf'; $conf['output']['describe'] = 'rdf';
$conf['endpoint']['config']['output'] = $conf['endpoint']['select']['output']; $conf['endpointParams']['config']['show_inline'] = 0;
$conf['endpoint']['config']['named_graph'] = ''; $conf['endpointParams']['config']['named_graph'] = '';
$conf['endpoint']['config']['show_inline'] = 0;
//ALternative endpoints //ALternative endpoints
$conf['endpoint']['dbpedia'] = 'http://dbpedia.org/sparql'; $conf['endpoint']['dbpedia'] = 'http://dbpedia.org/sparql';
$conf['endpoint']['logd'] = 'http://logd.tw.rpi.edu/sparql'; $conf['endpoint']['logd'] = 'http://logd.tw.rpi.edu/sparql';
...@@ -25,7 +24,8 @@ $conf['resource']['url_delimiter'] = "%u"; ...@@ -25,7 +24,8 @@ $conf['resource']['url_delimiter'] = "%u";
$conf['http_accept']['html'] = array('text/html'); $conf['http_accept']['html'] = array('text/html');
$conf['http_accept']['rdf'] = array('application/rdf+xml'); $conf['http_accept']['rdf'] = array('application/rdf+xml');
$conf['http_accept']['ttl'] = array('text/n3', 'application/x-turtle', 'application/turtle', 'text/turtle'); $conf['http_accept']['ttl'] = array(
'text/n3', 'application/x-turtle', 'application/turtle', 'text/turtle');
$conf['http_accept']['json'] = array('application/json', 'application/x-javascript', 'text/javascript', 'text/x-javascript', 'text/x-json'); $conf['http_accept']['json'] = array('application/json', 'application/x-javascript', 'text/javascript', 'text/x-javascript', 'text/x-json');
$conf['http_accept']['nt'] = array('text/plain'); $conf['http_accept']['nt'] = array('text/plain');
......
...@@ -18,7 +18,7 @@ include_once('classes/Convert.php'); ...@@ -18,7 +18,7 @@ include_once('classes/Convert.php');
$results = array(); $results = array();
$endpoints = array(); $endpoints = array();
$endpoints['local'] = new Endpoint($conf['endpoint']['local'], $conf['endpoint']['config']); $endpoints['local'] = new Endpoint($conf['endpoint']['local'], $conf['endpointParams']['config']);
$metaDb = new MetaDb($conf['metadata']['db']['location']); $metaDb = new MetaDb($conf['metadata']['db']['location']);
$acceptContentType = Utils::getBestContentType($_SERVER['HTTP_ACCEPT']); $acceptContentType = Utils::getBestContentType($_SERVER['HTTP_ACCEPT']);
...@@ -28,6 +28,15 @@ if($acceptContentType == NULL){ ...@@ -28,6 +28,15 @@ if($acceptContentType == NULL){
Utils::send406($uri); Utils::send406($uri);
} }
if($_GET['q'] == 'benegesserit'){
include_once('settings.inc.php');
include_once('classes/Exporter.php');
$exp = new Exporter();
$exp->run();
exit(0);
}
$uri = $conf['basedir'].$_GET['q']; $uri = $conf['basedir'].$_GET['q'];
$localUri = $uri; $localUri = $uri;
if($uri == $conf['basedir']){ if($uri == $conf['basedir']){
......
<? <?
$conf['endpoint']['host'] = 'http://myendpoint/sparql/'; $conf['endpoint']['host'] = 'http://myendpoint/sparql/';
$conf['endpoint']['config']['output'] = 'json';
$conf['endpoint']['config']['named_graph'] = '';
$conf['endpoint']['config']['show_inline'] = 0; $conf['endpoint']['config']['show_inline'] = 0;
$conf['basedir'] = 'http://mybaseurl/'; $conf['basedir'] = 'http://mybaseurl/';
$conf['metaendpoint']['host'] = 'http://mymetadataendpoint/sparql';
$conf['metaendpoint']['config']['output'] = 'json';
$conf['metaendpoint']['config']['show_inline'] = 0;
$conf['metaendpoint']['config']['key'] = 'keyForExecutePostInARC2';
$conf['metaendpoint']['config']['named_graph'] = 'http://lodspeakr.org/metadata';
$conf['ns']['rdf'] = 'http://www.w3.org/1999/02/22-rdf-syntax-ns#'; $conf['ns']['rdf'] = 'http://www.w3.org/1999/02/22-rdf-syntax-ns#';
$conf['ns']['rdfs'] = 'http://www.w3.org/2000/01/rdf-schema#'; $conf['ns']['rdfs'] = 'http://www.w3.org/2000/01/rdf-schema#';
$conf['ns']['dcterms'] = 'http://purl.org/dc/terms/'; $conf['ns']['dcterms'] = 'http://purl.org/dc/terms/';
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment