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

fixed install script

removing services

adding example service
parent 7f6c2c57
No related branches found
No related tags found
No related merge requests found
Showing
with 20 additions and 432 deletions
......@@ -102,15 +102,15 @@ class AdminModule extends abstractModule{
<a class='brand' href='../admin'>Visualbox menu</a>
<div class='nav-collapse'>
<ul class='nav'>
<li class='dropdown'>
<!--li class='dropdown'>
<a class='dropdown-toggle' data-toggle='dropdown' href='#'>SPARQL Endpoint<b class='caret'></b></a>
<ul class='dropdown-menu'>
<!--li><a href='../admin/start'>Start endpoint</a></li>
<li><a href='../admin/stop'>Stop endpoint</a></li-->
<li><a href='../admin/start'>Start endpoint</a></li>
<li><a href='../admin/stop'>Stop endpoint</a></li>
<!--li><a href='../admin/load'>Add RDF</a></li>
<li><a href='../admin/remove'>Remove RDF</a></li-->
<li><a href='../admin/remove'>Remove RDF</a></li>
</ul>
</li>
</li-->
<li>
<a class='dropdown-toggle' data-toggle='dropdown' href='../admin/namespaces'>Namespaces<b class='caret'></b></a>
</li>
......@@ -509,19 +509,29 @@ class AdminModule extends abstractModule{
}
$namespaces = "var ns = ".json_encode($conf['ns']);
$lastComponentType="";
$onlyService = false;
foreach($output as $line){
if($line == ""){
$menu .= "</ul>\n";
}else{
if(preg_match("/^\w/", $line) ){
$lastComponentType = trim($line);
if($lastComponentType == 'services'){
$onlyService = true;
}else{
$onlyService = false;
}
$singleLastComponentType = preg_replace('/(.*)s$/', '\1', $lastComponentType);
$menu .= "<ul class='nav nav-list'>
<li class='nav-header'>".$lastComponentType." <button class='btn btn-mini btn-info new-button' style='float:right' data-type='$singleLastComponentType'>new</button></li>\n";
if($onlyService){
$menu .= "<ul class='nav nav-list'>
<li class='nav-header'>".$lastComponentType." <button class='btn btn-mini btn-info new-button' style='float:right' data-type='$singleLastComponentType'>new</button></li>\n";
}
}else{
$componentName = trim($line);
$menu .= "<li class='component-li'> <button type='button' class='close hide lodspk-delete-component' data-component-type='$singleLastComponentType' data-component-name='$componentName' style='align:left'>x</button>
if($onlyService){
$menu .= "<li class='component-li'> <button type='button' class='close hide lodspk-delete-component' data-component-type='$singleLastComponentType' data-component-name='$componentName' style='align:left'>x</button>
<a href='#' class='lodspk-component' data-component-type='$lastComponentType' data-component-name='$componentName'>".$componentName."</a></li>\n";
}
}
}
}
......
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>LODSPeaKr Basic Menu</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="">
<meta name="author" content="">
<link href="{{lodspk.home}}css/bootstrap.min.css" rel="stylesheet" type="text/css" media="screen" />
<link rel="alternate" type="application/rdf+xml" title="RDF/XML Version" href="{{lodspk.local.value}}.rdf" />
<link rel="alternate" type="text/turtle" title="Turtle Version" href="{{lodspk.local.value}}.ttl" />
<link rel="alternate" type="text/plain" title="N-Triples Version" href="{{lodspk.local.value}}.nt" />
<link rel="alternate" type="application/json" title="RDFJSON Version" href="{{lodspk.local.value}}.json" />
<style>
body {
padding-top: 60px; /* 60px to make the container go all the way to the bottom of the topbar */
}
.wait{
background-image:url('{{lodspk.home}}img/wait.gif');
background-repeat:no-repeat;
padding-right:20px;
background-position: right;
}
</style>
<link href="{{lodspk.home}}css/bootstrap-responsive.min.css" rel="stylesheet" type="text/css" media="screen" />
<script type="text/javascript" src="{{lodspk.home}}js/jquery.js"></script>
<script type="text/javascript" src="{{lodspk.home}}js/bootstrap.min.js"></script>
<script type="text/javascript" src="{{lodspk.home}}js/bootstrap-typeahead.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$('.typeahead').typeahead({
source: function (typeahead, query) {
$('.typeahead').addClass('wait');[]
return $.get('{{lodspk.home}}search/'+encodeURIComponent(query), { }, function (data) {
$('.typeahead').removeClass('wait');[]
return typeahead.process(data);
}, 'json');
},
onselect: function (obj) {
$('.typeahead').attr('disabled', true);
window.location = obj.uri;
}
});
});
</script>
</head>
<body>
<div class="navbar navbar-fixed-top">
<div class="navbar-inner">
<div class="container">
<a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</a>
<a class="brand" href="{{lodspk.home}}">LODSPeaKr</a>
<div class="nav-collapse">
<ul class="nav">
<li class="active"><a href="{{lodspk.home}}">Home</a></li>
<li><a href="{{lodspk.home}}classes">Classes</a></li>
<li><a href="{{lodspk.home}}namedGraphs">Named Graphs</a></li>
</ul>
<form class="navbar-search pull-left" action="">
<input type="text" data-provide="typeahead" class="typeahead search-query span2" placeholder="Search"/>
</form>
</div><!--/.nav-collapse -->
</div>
</div>
</div>
<div class="container">
<h1>Classes available</h1>
<ul>
{% for row in models.main %}
<li><a href="{{lodspk.baseUrl}}instances/{{ row.resource.curie }}">{{row.resource.curie}}</a></li>
{% endfor %}
</ul>
</div>
</body>
</html>
{%for h in base.header %}
PREFIX {{h.prefix}}: <{{h.ns}}>
{%endfor%}
SELECT DISTINCT ?resource WHERE {
{
{%if base.args.arg0 %}GRAPH <{{base.args.arg0}}>{%else%} GRAPH ?g {%endif%} {
?x a ?resource .
}
}UNION{
?x a ?resource .
}
}order by ?resource
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>LODSPeaKr Basic Menu</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="">
<meta name="author" content="">
<link rel="alternate" type="application/rdf+xml" title="RDF/XML Version" href="{{lodspk.local.value}}.rdf" />
<link rel="alternate" type="text/turtle" title="Turtle Version" href="{{lodspk.local.value}}.ttl" />
<link rel="alternate" type="text/plain" title="N-Triples Version" href="{{lodspk.local.value}}.nt" />
<link rel="alternate" type="application/json" title="RDFJSON Version" href="{{lodspk.local.value}}.json" />
<link href="{{lodspk.home}}css/bootstrap.min.css" rel="stylesheet" type="text/css" media="screen" />
<style>
body {
padding-top: 60px; /* 60px to make the container go all the way to the bottom of the topbar */
}
.wait{
background-image:url('{{lodspk.home}}img/wait.gif');
background-repeat:no-repeat;
padding-right:20px;
background-position: right;
}
</style>
<link href="{{lodspk.home}}css/bootstrap-responsive.min.css" rel="stylesheet" type="text/css" media="screen" />
<script type="text/javascript" src="{{lodspk.home}}js/jquery.js"></script>
<script type="text/javascript" src="{{lodspk.home}}js/bootstrap.min.js"></script>
<script type="text/javascript" src="{{lodspk.home}}js/bootstrap-typeahead.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$('.typeahead').typeahead({
source: function (typeahead, query) {
$('.typeahead').addClass('wait');[]
return $.get('{{lodspk.home}}search/'+encodeURIComponent(query), { }, function (data) {
$('.typeahead').removeClass('wait');[]
return typeahead.process(data);
}, 'json');
},
onselect: function (obj) {
$('.typeahead').attr('disabled', true);
window.location = obj.uri;
}
});
});
</script>
</head>
<body>
<div class="navbar navbar-fixed-top">
<div class="navbar-inner">
<div class="container">
<a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</a>
<a class="brand" href="{{lodspk.home}}">LODSPeaKr</a>
<div class="nav-collapse">
<ul class="nav">
<li class="active"><a href="{{lodspk.home}}">Home</a></li>
<li><a href="{{lodspk.home}}classes">Classes</a></li>
<li><a href="{{lodspk.home}}namedGraphs">Named Graphs</a></li>
</ul>
<form class="navbar-search pull-left" action="">
<input type="text" data-provide="typeahead" class="typeahead search-query span2" placeholder="Search"/>
</form>
</div><!--/.nav-collapse -->
</div>
</div>
</div>
<div class="container">
<h1>Instances of class {{lodspk.args.arg0}}</h1>
<ul>
{% for row in models.main %}
<li><a href="{{ row.resource.value }}">{{row.resource.curie}}</a></li>
{% endfor %}
</ul>
</div>
</body>
</html>
{%for h in lodspk.header %}
PREFIX {{h.prefix}}: <{{h.ns}}>
{%endfor%}
SELECT DISTINCT ?resource WHERE {
{
GRAPH ?g{
?resource a {{lodspk.args.arg0}}
}
}UNION{
?resource a {{lodspk.args.arg0}}
}
}order by ?resource
limit 1000
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>LODSPeaKr Basic Menu</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="">
<meta name="author" content="">
<link rel="alternate" type="application/rdf+xml" title="RDF/XML Version" href="{{lodspk.local.value}}.rdf" />
<link rel="alternate" type="text/turtle" title="Turtle Version" href="{{lodspk.local.value}}.ttl" />
<link rel="alternate" type="text/plain" title="N-Triples Version" href="{{lodspk.local.value}}.nt" />
<link rel="alternate" type="application/json" title="RDFJSON Version" href="{{lodspk.local.value}}.json" />
<link href="{{lodspk.home}}css/bootstrap.min.css" rel="stylesheet" type="text/css" media="screen" />
<style>
body {
padding-top: 60px; /* 60px to make the container go all the way to the bottom of the topbar */
}
.wait{
background-image:url('{{lodspk.home}}img/wait.gif');
background-repeat:no-repeat;
padding-right:20px;
background-position: right;
}
</style>
<link href="{{lodspk.home}}css/bootstrap-responsive.min.css" rel="stylesheet" type="text/css" media="screen" />
<script type="text/javascript" src="{{lodspk.home}}js/jquery.js"></script>
<script type="text/javascript" src="{{lodspk.home}}js/bootstrap.min.js"></script>
<script type="text/javascript" src="{{lodspk.home}}js/bootstrap-typeahead.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$('.typeahead').typeahead({
source: function (typeahead, query) {
$('.typeahead').addClass('wait');[]
return $.get('{{lodspk.home}}search/'+encodeURIComponent(query), { }, function (data) {
$('.typeahead').removeClass('wait');[]
return typeahead.process(data);
}, 'json');
},
onselect: function (obj) {
$('.typeahead').attr('disabled', true);
window.location = obj.uri;
}
});
});
</script>
</head>
<body>
<div class="navbar navbar-fixed-top">
<div class="navbar-inner">
<div class="container">
<a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</a>
<a class="brand" href="{{lodspk.home}}">LODSPeaKr</a>
<div class="nav-collapse">
<ul class="nav">
<li class="active"><a href="{{lodspk.home}}">Home</a></li>
<li><a href="{{lodspk.home}}classes">Classes</a></li>
<li><a href="{{lodspk.home}}namedGraphs">Named Graphs</a></li>
</ul>
<form class="navbar-search pull-left" action="">
<input type="text" data-provide="typeahead" class="typeahead search-query span2" placeholder="Search"/>
</form>
</div><!--/.nav-collapse -->
</div>
</div>
</div>
<div class="container">
<h1>Named graphs available</h1>
{%if first.main.g%}
<ul>
{% for row in models.main %}
<li>{{row.g.value}}</li>
{% endfor %}
</ul>
{%else%}
<div class="alert alert-info">
<p>No named graphs found</p>
</div>
{%endif%}
</div>
</body>
</html>
SELECT DISTINCT ?g WHERE {
GRAPH ?g{
[] ?p ?resource .
}
}
order by ?g
json.template
\ No newline at end of file
[
{%for i in models.main%}{%if !forloop.first && models.main|length > 1%},{%endif%}
{ "value": "{{i.label.value}}", "uri": "{{i.resource.value}}"}
{%endfor%}
]
SELECT DISTINCT ?resource ?label WHERE {
{
GRAPH ?g {
?resource rdfs:label ?label .
}
}UNION{
?resource rdfs:label ?label .
}
FILTER(regex(str(?label), "{{lodspk.args.arg0}}", "i"))
}
LIMIT 10
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>LODSPeaKr Basic Menu</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="">
<meta name="author" content="">
<link href="{{lodspk.home}}css/bootstrap.min.css" rel="stylesheet" type="text/css" media="screen" />
<link rel="alternate" type="application/rdf+xml" title="RDF/XML Version" href="{{lodspk.local.value}}.rdf" />
<link rel="alternate" type="text/turtle" title="Turtle Version" href="{{lodspk.local.value}}.ttl" />
<link rel="alternate" type="text/plain" title="N-Triples Version" href="{{lodspk.local.value}}.nt" />
<link rel="alternate" type="application/json" title="RDFJSON Version" href="{{lodspk.local.value}}.json" />
<style>
body {
padding-top: 60px; /* 60px to make the container go all the way to the bottom of the topbar */
}
.wait{
background-image:url('{{lodspk.home}}img/wait.gif');
background-repeat:no-repeat;
padding-right:20px;
background-position: right;
}
</style>
<link href="{{lodspk.home}}css/bootstrap-responsive.min.css" rel="stylesheet" type="text/css" media="screen" />
<script type="text/javascript" src="{{lodspk.home}}js/jquery.js"></script>
<script type="text/javascript" src="{{lodspk.home}}js/bootstrap.min.js"></script>
<script type="text/javascript" src="{{lodspk.home}}js/bootstrap-typeahead.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$('.typeahead').typeahead({
source: function (typeahead, query) {
$('.typeahead').addClass('wait');[]
return $.get('{{lodspk.home}}search/'+encodeURIComponent(query), { }, function (data) {
$('.typeahead').removeClass('wait');[]
return typeahead.process(data);
}, 'json');
},
onselect: function (obj) {
$('.typeahead').attr('disabled', true);
window.location = obj.uri;
}
});
});
</script>
</head>
<body>
<div class="navbar navbar-fixed-top">
<div class="navbar-inner">
<div class="container">
<a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</a>
<a class="brand" href="{{lodspk.home}}">LODSPeaKr</a>
<div class="nav-collapse">
<ul class="nav">
<li class="active"><a href="{{lodspk.home}}">Home</a></li>
<li><a href="{{lodspk.home}}classes">Classes</a></li>
<li><a href="{{lodspk.home}}namedGraphs">Named Graphs</a></li>
</ul>
<form class="navbar-search pull-left" action="">
<input type="text" data-provide="typeahead" class="typeahead search-query span2" placeholder="Search"/>
</form>
</div><!--/.nav-collapse -->
</div>
</div>
</div>
<div class="container">
<h1>Default view</h1>
<table class="table table-striped" about="{{uri}}">
<thead>
<tr><th>Subject</th><th>Predicate</th><th>Object</th></tr>
</thead>
{% for row in models.po %}
<tr>
<td>{%if forloop.first%}<a href='{{lodspk.this.value}}'>{{lodspk.this.curie}}</a>{%endif%}</td>
<td><a href='{{row.p.value}}'>{{row.p.curie}}</a></td>
<td>
{%if row.o.uri == 1%}
<a rel='{{row.p.value}}' href='{{row.o.value}}'>{{row.o.curie}}</a>
{%else%}
<span property='{{row.p.value}}'>{{row.o.value}}</span>
{%endif%}
</td>
</tr>
{% endfor %}
{% for row in models.sp %}
<tr>
<td><a href='{{row.s.value}}'>{{row.s.curie}}</a></td>
<td><a rev='{{row.s.value}}' href='{{row.p.value}}'>{{row.p.curie}}</a></td>
<td>{%if forloop.first%}<a href='{{lodspk.this.value}}'>{{lodspk.this.curie}}</a>{%endif%}</td>
</tr>
{% endfor %}
<thead>
<tr><th>Subject</th><th>Predicate</th><th>Object</th></tr>
</thead>
</table>
</div>
</body>
</html>
SELECT ?p ?o WHERE {
{
GRAPH ?g{
<{{uri}}> ?p ?o.
}
}UNION{
<{{uri}}> ?p ?o .
}
}
SELECT ?s ?p WHERE {
{
GRAPH ?g{
?s ?p <{{uri}}> .
}
}UNION{
?s ?p <{{uri}}> .
}
}
......@@ -131,7 +131,7 @@ wwwUser=`ps aux|egrep "apache|httpd|www" |egrep -v "grep|root"|awk '{print $1}'|
echo
echo " *** ATTENTION ***"
echo
echo "LODSPeaKr needs the web server to have write permissions for $home/cache/ $home/meta/ $home/components and $home/settings.inc.php."
echo "Visualbox needs the web server to have write permissions for $home/cache/ $home/meta/ $home/components and $home/settings.inc.php."
echo
echo
echo "Common ways of doing this:"
......
RewriteRule ^$ lodspeakr/index.php [L]
RewriteRule ^$ visualbox/index.php [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
......
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