Skip to content
Snippets Groups Projects
Commit 28f2bda5 authored by alvaro's avatar alvaro
Browse files

Merge branch 'master' into hotfixes

parents 14d11302 34d2544d
No related branches found
No related tags found
No related merge requests found
Showing with 125 additions and 105 deletions
......@@ -49,7 +49,6 @@ class Endpoint{
echo("Warning: Results from a SELECT sparql query couldn't get parsed");
}
}
}
return $r;
}
if(preg_match("/describe/i", $q)){
......
......@@ -222,7 +222,7 @@ class Utils{
public static function processDocument($viewFile, $lodspk, $data){
global $conf;
$contentType = $lodspk['this']['contentType'];
$contentType = $lodspk['contentType'];
$extension = Utils::getExtension($contentType);
header('Content-Type: '.$contentType);
......@@ -251,7 +251,7 @@ class Utils{
global $lodspk;
global $endpoints;
global $results;
$lodspk['model']['directory'] = $modelDir;
$lodspk['model'] = $modelDir;
$originalDir = getcwd();
$subDirs= array();
trigger_error("Entering $modelDir from ".getcwd(), E_USER_NOTICE);
......@@ -290,7 +290,7 @@ class Utils{
}
}
closedir($handle);
$originalDir = $lodspk['model']['directory'];
$originalDir = $lodspk['model'];
if(isset($subDirs)){
foreach($subDirs as $v){
if(!isset($r[$modelDir])){
......@@ -332,8 +332,11 @@ class Utils{
$models = Convert::array_to_object($r2);
$f = Convert::array_to_object($first);
$vars = compact('uri', 'lodspk', 'models', 'f');
$fnc = Haanga::compile(file_get_contents($modelFile));
$q = file_get_contents($modelFile);
if($q == false){
Utils::send500("I can't load ".$modelFile." in ".getcwd());
}
$fnc = Haanga::compile($q);
$query = $fnc($vars, TRUE);
if(is_object($lodspk)){
......@@ -497,13 +500,12 @@ class Utils{
global $extension;
//$lodspk = $conf['view']['standard'];
$lodspk = $lodspkData;
if(isset($lodspkData['params'])){
$lodspk['this']['params'] = $lodspkData['params'];
}
require_once('lib/Haanga/lib/Haanga.php');
require_once($conf['home'].'lib/Haanga/lib/Haanga.php');
Haanga::configure(array(
'template_dir' => $lodspk['view']['directory'],
'template_dir' => $lodspk['view'],
'cache_dir' => $conf['home'].'cache/',
));
$models = $data;
......@@ -517,7 +519,7 @@ class Utils{
}
if(is_string($data)){
echo($data);
}elseif(is_file($lodspk['view']['directory'].$view)){
}elseif(is_file($lodspk['view'].$view)){
Haanga::Load($view, $vars);
}else{
$fnc = Haanga::compile($view);
......
......@@ -14,15 +14,15 @@ class ServiceModule extends abstractModule{
return FALSE;
}
$extension = Utils::getExtension($acceptContentType);
$lodspk['model']['directory'] = $conf['home'].$conf['model']['directory'].$conf['service']['prefix'].$qArr[0]."/";
$lodspk['view']['directory'] = $conf['home'].$conf['view']['directory'].$conf['service']['prefix'].$qArr[0].'/';
$lodspk['model'] = $conf['home'].$conf['model']['directory'].$conf['service']['prefix'].$qArr[0]."/";
$lodspk['view'] = $conf['home'].$conf['view']['directory'].$conf['service']['prefix'].$qArr[0].'/';
$viewFile = $extension.".template";
$modelFile = $extension.".queries";
if(file_exists($lodspk['model']['directory'].$modelFile) && file_exists($lodspk['view']['directory'].$viewFile) && $qArr[0] != null){
if(file_exists($lodspk['model'].$modelFile) && file_exists($lodspk['view'].$viewFile) && $qArr[0] != null){
trigger_error("Using model ".$modelFile." and view ".$viewFile, E_USER_NOTICE);
return array($modelFile, $viewFile);
}elseif($extension != 'html' && file_exists($conf['model']['directory'].$conf['service']['prefix'].$qArr[0].'/html.queries')){
$modelFile = $conf['home'].$conf['model']['directory'].$conf['service']['prefix'].$qArr[0].'/html.queries';
}elseif($extension != 'html' && file_exists($lodspk['model'].$conf['service']['prefix'].$qArr[0].'/html.queries')){
$modelFile = $conf['home'].$lodspk['model'].$conf['service']['prefix'].$qArr[0].'/html.queries';
$viewFile = null;
trigger_error("Using ".$modelFile." as model. It will be used as a CONSTRUCT", E_USER_NOTICE);
return array($modelFile, $viewFile);
......@@ -72,31 +72,30 @@ public function execute($service){
$args["arg".$i]=$params[$i];
}
$results['params'] = $params;
//$lodspk = $conf['view']['standard'];
$lodspk['type'] = $modelFile;
$lodspk['root'] = $conf['root'];
$lodspk['home'] = $conf['basedir'];
$lodspk['baseUrl'] = $conf['basedir'];
$lodspk['module'] = 'service';
$lodspk['root'] = $conf['root'];
$lodspk['contentType'] = $acceptContentType;
$lodspk['ns'] = $conf['ns'];
$lodspk['this']['value'] = $uri;
$lodspk['this']['curie'] = Utils::uri2curie($uri);
$lodspk['this']['contentType'] = $acceptContentType;
//$lodspk['model']['directory'] = $conf['model']['directory'];
//$lodspk['view']['directory'] = $conf['view']['directory'];
$lodspk['ns'] = $conf['ns'];
$lodspk['this']['local'] = $localUri;
$lodspk['contentType'] = $acceptContentType;
$lodspk['endpoint'] = $conf['endpoint'];
$lodspk['type'] = $modelFile;
$lodspk['header'] = $prefixHeader;
$lodspk['args'] = $args;
$lodspk['module'] = 'service';
$lodspk['add_mirrored_uris'] = false;
$lodspk['baseUrl'] = $conf['basedir'];
$lodspk['this']['value'] = $uri;
$lodspk['this']['contentType'] = $acceptContentType;
//$lodspk['view']['directory'] = $viewFile;//$conf['home'].$conf['view']['directory'];//.$conf['service']['prefix'].$f.'/';
//$lodspk['model']['directory'] = $conf['home'].$conf['model']['directory'];
if($viewFile == null){
$lodspk['transform_select_query'] = true;
}
chdir($lodspk['model']['directory']);
chdir($lodspk['model']);
Utils::queryFile($modelFile, $endpoints['local'], $results, $first);
$results = Utils::internalize($results);
......
......@@ -57,32 +57,31 @@ class TypeModule extends abstractModule{
* dcterms:format for this page
*/
$acceptContentType = $format;
//Check if files for model and view exist
$t=Queries::getClass($uri, $endpoints['local']);
list($modelFile, $viewFile) = $this->getModelandView($t, $extension);
$lodspk = $conf['view']['standard'];
$obj = $this->getModelandView($t, $extension);
$modelFile = $obj['modelFile'];
$lodspk['model'] = $obj['modelDir'];
$viewFile = $obj['viewFile'];
$lodspk['view'] = $obj['viewDir'];
if($viewFile == null){
$lodspk['transform_select_query'] = true;
}
$lodspk['home'] = $conf['basedir'];
$lodspk['baseUrl'] = $conf['basedir'];
$lodspk['module'] = 'type';
$lodspk['root'] = $conf['root'];
$lodspk['contentType'] = $acceptContentType;
$lodspk['ns'] = $conf['ns'];
$lodspk['endpoint'] = $conf['endpoint'];
$lodspk['add_mirrored_uris'] = true;
$lodspk['type'] = $modelFile;
$lodspk['this']['value'] = $uri;
$lodspk['this']['curie'] = Utils::uri2curie($uri);
$lodspk['thislocal']['value'] = $localUri;
$lodspk['thislocal']['curie'] = Utils::uri2curie($localUri);
$lodspk['this']['extension'] = $extension;
$lodspk['this']['contentType'] = $acceptContentType;
$lodspk['model']['directory'] = $conf['model']['directory'];
$lodspk['view']['directory'] = $conf['view']['directory'];
$lodspk['ns'] = $conf['ns'];
chdir($conf['home'].$conf['model']['directory']);
$lodspk['this']['local'] = $localUri;
$lodspk['this']['extension'] = $extension;
chdir($conf['home'].$lodspk['model']);
Utils::queryFile($modelFile, $endpoints['local'], $results, $first);
$results = Utils::internalize($results);
......@@ -93,7 +92,7 @@ class TypeModule extends abstractModule{
}else{
$resultsObj = $results;
}
Utils::processDocument($viewFile, $lodspk, $resultsObj);
Utils::processDocument($viewFile, $lodspk, $resultsObj);
}
......@@ -102,12 +101,15 @@ class TypeModule extends abstractModule{
global $results;
global $rPointer;
global $lodspk;
$objResult = array();
//Defining default views and models
$curieType="";
$modelFile = 'type.rdfs:Resource/html.queries';
$viewFile = null;//'type.rdfs:Resource/html.template';
$objResult['modelFile'] = 'main.query';
$objResult['viewFile'] = null;//'html.template';
$objResult['modelDir'] = $conf['model']['directory'].'type.rdfs:Resource/html.queries/';
$objResult['viewDir'] = $conf['view']['directory'].'type.rdfs:Resource/';
//Get the first type available
//Get the first type available
$typesAndValues = array();
foreach($t as $v){
$curie = Utils::uri2curie($v);
......@@ -118,24 +120,28 @@ class TypeModule extends abstractModule{
}
arsort($typesAndValues);
foreach($typesAndValues as $v => $w){
$auxViewFile = $conf['view']['directory'].$conf['type']['prefix'].$v.'/'.$extension.'.template';
$auxModelFile = $conf['model']['directory'].$conf['type']['prefix'].$v.'/'.$extension.'.queries';
$auxModelFile = $conf['model']['directory'].$conf['type']['prefix'].$v.'/';
$auxViewFile = $conf['view']['directory'].$conf['type']['prefix'].$v.'/';
if(file_exists($auxModelFile) && file_exists($auxViewFile) && $v != null){
$viewFile = $conf['type']['prefix'].$v.'/'.$extension.'.template';
$modelFile = $conf['type']['prefix'].$v.'/'.$extension.'.queries';
$auxViewFile = $conf['view']['directory'].$conf['type']['prefix'].$v.'/'.$extension.'.template';
$auxModelFile = $conf['model']['directory'].$conf['type']['prefix'].$v.'/'.$extension.'.queries';
$objResult['viewFile'] = $extension.'.template';
$objResult['modelFile'] = $extension.'.queries';
break;
}elseif($extension != 'html' &&
file_exists($conf['model']['directory'].$conf['type']['prefix'].$v.'/html.queries')){
$modelFile = $conf['type']['prefix'].$v.'/html.queries';
$viewFile = null;
$auxViewFile = $conf['view']['directory'].$conf['type']['prefix'].$v.'/'.$extension.'.template';
$auxModelFile = $conf['model']['directory'].$conf['type']['prefix'].$v.'/'.$extension.'.queries';
$objResult['modelFile'] = $conf['type']['prefix'].$v.'/html.queries';
$objResult['viewFile'] = null;
trigger_error("LODSPeaKr can't find the proper query. Using HTML query instead.", E_USER_NOTICE);
break;
}
}
if($viewFile == null && $extension == 'html'){
$viewFile = 'type.rdfs:Resource/html.template';
if($objResult['viewFile'] == null && $extension == 'html'){
$objResult['viewFile'] = 'html.template';
}
return array($modelFile, $viewFile);
return $objResult;
}
}
......
......@@ -80,12 +80,12 @@ class UriModule extends abstractModule{
$lodspk['add_mirrored_uris'] = true;
$lodspk['this']['value'] = $uri;
$lodspk['this']['curie'] = Utils::uri2curie($uri);
$lodspk['thislocal']['value'] = $localUri;
$lodspk['thislocal']['curie'] = Utils::uri2curie($localUri);
$lodspk['local']['value'] = $localUri;
$lodspk['local']['curie'] = Utils::uri2curie($localUri);
$lodspk['this']['contentType'] = $acceptContentType;
$lodspk['model']['directory'] = $conf['model']['directory'];
$lodspk['view']['directory'] = $conf['view']['directory'];
$lodspk['model'] = $conf['model']['directory'];
$lodspk['view'] = $conf['view']['directory'];
$lodspk['ns'] = $conf['ns'];
......
meta/db.sqlite 100644 → 100755
No preview for this file type
......@@ -2,7 +2,7 @@
PREFIX {{h.prefix}}: <{{h.ns}}>
{%endfor%}
SELECT DISTINCT ?resource WHERE {
{%if base.args.arg0 %}GRAPH <{{base.args.arg0}}>{ {%endif%}
{%if base.args.arg0 %}GRAPH <{{base.args.arg0}}>{ {%else%} GRAPH?g { {%endif%}
[] a ?resource .
{%if base.args.arg0 %} } {%endif%}
}
......@@ -2,5 +2,7 @@
PREFIX {{h.prefix}}: <{{h.ns}}>
{%endfor%}
SELECT DISTINCT ?resource WHERE {
?resource a {{lodspk.args.arg0}}
GRAPH ?g{
?resource a {{lodspk.args.arg0}}
}
}
......@@ -40,19 +40,21 @@ if [[ $currentOperation == "create" || $currentOperation == "delete" ]]; then
fi
currentUnit=$3
if [[ ${formats[@]} =~ $4 ]]; then
currentFormat=$4
else
if [ -z "$4" ]; then
currentFormat="all"
currentFormat="html"
if [ ! -z "$4" ]; then
if [[ ${formats[@]} =~ $4 ]]; then
currentFormat=$4
else
echo "Format \"$4\" not valid"
echo $USAGE
exit 1
fi
else
if [[ $currentOperation == "delete" ]]; then
currentFormat="all"
fi
fi
$DIR/modules/create-$currentModule.sh "$currentUnit" "$currentFormat"
$DIR/modules/$currentOperation-$currentModule.sh "$currentUnit" "$currentFormat"
fi
## Debug
......
......@@ -4,18 +4,18 @@ DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
initToken='service'
modelHtml=$(cat <<QUERY
modelHtml=`cat <<QUERY
{%for h in base.header %}
PREFIX {{h.prefix}}: <{{h.ns}}>
{%endfor%}
SELECT DISTINCT ?resource WHERE {
{%if base.args.arg0 %}GRAPH <{{lodspk.args.arg0}}>{ {%endif%}
{%if base.args.arg0 %}GRAPH <{{lodspk.args.arg0}}>{ {%else%} GRAPH?g { {%endif%}
[] a ?resource .
{%if base.args.arg0 %} } {%endif%}
}
QUERY)
QUERY`
viewHtml=$(cat <<VIEW
viewHtml=`cat <<VIEW
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN"
"http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd">
......@@ -34,17 +34,17 @@ viewHtml=$(cat <<VIEW
</ul>
</body>
</html>
VIEW)
VIEW`
modelRdf=$(cat <<QUERY
modelRdf=`cat <<QUERY
DESCRIBE ?resource WHERE {
[] a ?resource .
}
QUERY)
QUERY`
viewRdf=$(cat <<QUERY
viewRdf=`cat <<QUERY
{{r|safe}}
QUERY)
QUERY`
modelTtl=$modelRdf
viewTtl=$viewRdf
......
......@@ -4,7 +4,7 @@ DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
initToken='type'
modelHtml=$(cat <<QUERY
modelHtml=`cat <<QUERY
SELECT ?s2 ?p2 ?s1 ?p1 WHERE {
{
GRAPH ?g{
......@@ -22,11 +22,10 @@ SELECT ?s2 ?p2 ?s1 ?p1 WHERE {
}
}
}
QUERY
)
QUERY`
viewHtml=$(cat <<VIEW
viewHtml=`cat <<VIEW
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN"
"http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd">
......@@ -79,17 +78,17 @@ viewHtml=$(cat <<VIEW
</div>
</body>
</html>
VIEW)
VIEW`
modelRdf=$(cat <<QUERY
modelRdf=`cat <<QUERY
DESCRIBE ?resource WHERE {
[] a ?resource .
}
QUERY)
QUERY`
viewRdf=$(cat <<VIEW
viewRdf=`cat <<VIEW
{{models.main|safe}}
VIEW)
VIEW`
modelTtl=$modelRdf
viewTtl=$viewRdf
......
......@@ -4,19 +4,20 @@ DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
initToken='uri'
modelHtml=$(cat <<QUERY
modelHtml=`cat <<QUERY
SELECT ?s2 ?p2 ?s1 ?p1 WHERE {
GRAPH ?g{
{
<{{uri}}> ?s1 ?p1 .
}UNION{
?s2 ?p2 <{{uri}}> .
}
}
}
QUERY
)
QUERY`
viewHtml=$(cat <<VIEW
viewHtml=`cat <<VIEW
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN"
"http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd">
......@@ -67,17 +68,17 @@ viewHtml=$(cat <<VIEW
</div>
</body>
</html>
VIEW)
VIEW`
modelRdf=$(cat <<QUERY
modelRdf=`cat <<QUERY
DESCRIBE ?resource WHERE {
[] a ?resource .
}
QUERY)
QUERY`
viewRdf=$(cat <<VIEW
viewRdf=`cat <<VIEW
{{r|safe}}
VIEW)
VIEW`
modelTtl=$modelRdf
viewTtl=$viewRdf
......
......@@ -7,6 +7,7 @@ initToken='service'
#Check models
mainModelDir=$DIR/../../models/$initToken.$1
mainViewDir=$DIR/../../views/$initToken.$1
if [ ! -e "$mainModelDir" ]
then
......@@ -17,7 +18,10 @@ fi
obj=( )
if [ "$2" == "all" ]
then
obj=( html rdf ttl nt json )
rm -rf $mainModelDir
rm -rf $mainViewDir
echo $initToken.$1 deleted >&2
exit
else
obj=( $2 )
fi
......@@ -32,7 +36,6 @@ done
#Check views
mainViewDir=$DIR/../../views/$initToken.$1
if [ ! -e "$mainViewDir" ]
then
......@@ -62,4 +65,4 @@ else
rm -rf $mainViewDir/$i.template
done
fi
echo $initToken.$1 deleted successfully! >&2
echo $initToken.$1 deleted >&2
......@@ -7,6 +7,7 @@ initToken='type'
#Check models
mainModelDir=$DIR/../../models/$initToken.$1
mainViewDir=$DIR/../../views/$initToken.$1
if [ ! -e "$mainModelDir" ]
then
......@@ -17,7 +18,10 @@ fi
obj=( )
if [ "$2" == "all" ]
then
obj=( html rdf ttl nt json )
rm -rf $mainModelDir
rm -rf $mainViewDir
echo $initToken.$1 deleted >&2
exit
else
obj=( $2 )
fi
......@@ -32,7 +36,6 @@ done
#Check views
mainViewDir=$DIR/../../views/$initToken.$1
if [ ! -e "$mainViewDir" ]
then
......
......@@ -7,6 +7,7 @@ initToken='uri'
#Check models
mainModelDir=$DIR/../../models/$initToken.$1
mainViewDir=$DIR/../../views/$initToken.$1
if [ ! -e "$mainModelDir" ]
then
......@@ -17,7 +18,10 @@ fi
obj=( )
if [ "$2" == "all" ]
then
obj=( html rdf ttl nt json )
rm -rf $mainModelDir
rm -rf $mainViewDir
echo $initToken.$1 deleted >&2
exit
else
obj=( $2 )
fi
......@@ -32,7 +36,6 @@ done
#Check views
mainViewDir=$DIR/../../views/$initToken.$1
if [ ! -e "$mainViewDir" ]
then
......
......@@ -5,7 +5,7 @@
{%endfor%}version="XHTML+RDFa 1.0" xml:lang="en">
<head>
<title>Page about {{lodspk.this.value}}</title>
<link href="{{lodspk.baseUrl}}css/basic.css" rel="stylesheet" type="text/css" media="screen" />
<link href="{{lodspk.home}}css/basic.css" rel="stylesheet" type="text/css" media="screen" />
<link rel="alternate" type="application/rdf+xml" title="RDF/XML Version" href="{{lodspk.this.value}}.rdf" />
<link rel="alternate" type="text/turtle" title="Turtle Version" href="{{lodspk.this.value}}.ttl" />
<link rel="alternate" type="text/plain" title="N-Triples Version" href="{{lodspk.this.value}}.nt" />
......@@ -13,7 +13,8 @@
</head>
<body about="{{lodspk.this.value}}">
<h1>Page about <a href='{{lodspk.this.value}}'>{{lodspk.this.curie}}</a></h1>
<div>
{{lodspk.endpoint.local}}
<div>
<h2>Information from {{lodspk.this.curie}}</h2>
<table>
{% for row in models.main %}
......
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