diff --git a/utils/modules/backup.sh b/utils/modules/backup.sh index 7430c9af69b1e85740d6b5c9bc2b9fde754c564d..69bf5d24c4a186f5a714c9918d73e9429b2bac9e 100755 --- a/utils/modules/backup.sh +++ b/utils/modules/backup.sh @@ -19,7 +19,7 @@ fi tmpFile=$NAME"-backup-"`date +%Y%m%d%H%M%S`.tar.gz -tar -czf $tmpFile settings.inc.php models views +tar -czf $tmpFile settings.inc.php components mv $tmpFile $BACKUPDIR/ echo "New backup $tmpFile created" diff --git a/utils/modules/create-service.sh b/utils/modules/create-service.sh index cd29ce9fac0410c36697f20921af1945d43fe221..fc40600107b8bbb04fcb9218040bc9b59e1769f8 100755 --- a/utils/modules/create-service.sh +++ b/utils/modules/create-service.sh @@ -2,16 +2,16 @@ DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" -initToken='service' +initToken='services' 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}}>{ {%else%} GRAPH?g { {%endif%} + GRAPH {%if base.args.arg0 %}<{{lodspk.args.arg0}}>{%else%}?g{%endif%} { [] a ?resource . - {%if base.args.arg0 %} } {%endif%} + } } QUERY` @@ -36,85 +36,17 @@ viewHtml=`cat <<VIEW </html> VIEW` -modelRdf=`cat <<QUERY -DESCRIBE ?resource WHERE { - [] a ?resource . -} -QUERY` - -viewRdf=`cat <<QUERY -{{r|safe}} -QUERY` - -modelTtl=$modelRdf -viewTtl=$viewRdf -modelNt=$modelRdf -viewNt=$viewRdf -modelJson=$modelRdf -viewJson=$viewJson - #Check models -mainModelDir=$DIR/../../models/$initToken.$1 +mainDir=$DIR/../../components/$initToken/$1/ -if [ -e "$mainModelDir" ] +if [ -e "$mainDir" ] then echo "WARNING: At least one model for $1 exists." >&2 else - mkdir $mainModelDir -fi - -obj=( ) -if [ "$2" == "all" ] -then - obj=( html rdf ttl nt json ) -else - obj=( $2 ) + mkdir -p $mainDir/queries fi -for i in ${obj[@]} -do - if [ -e $mainModelDir/$i.queries ] - then - echo ERROR: $initToken.$1/$i.queries exists in models. Operation aborted >&2 - exit 1 - fi -done - - -#Check views -mainViewDir=$DIR/../../views/$initToken.$1 - -if [ -e "$mainViewDir" ] -then - echo "WARNING: At least one view for $1 exists." >&2 -else - mkdir $mainViewDir -fi - - -for i in ${obj[@]} -do - if [ -e $mainViewDir/$i.template ] - then - echo ERROR: $initToken.$1/$i already exist in views. Operation aborted >&2 - exit 1 - fi -done - - -#Create file structure - -for i in ${obj[@]} -do - mkdir $mainModelDir/$i.queries - if [ "$i" == "html" ] - then - echo "$modelHtml" > $mainModelDir/$i.queries/main.query - echo "$viewHtml" > $mainViewDir/$i.template - else - echo "$modelRdf" > $mainModelDir/$i.queries/main.query - echo "$viewRdf" > $mainViewDir/$i.template - fi -done +echo $modelHtml > $mainDir/queries/main.query +echo $viewHtml > $mainDir/html.template echo $initToken.$1 created/modified successfully! >&2 diff --git a/utils/modules/create-type.sh b/utils/modules/create-type.sh index 0f9a552a6a2819f1134cc636e6323804e40892dd..4e1b37708f490f0c71a98f182a178a7701edec7a 100755 --- a/utils/modules/create-type.sh +++ b/utils/modules/create-type.sh @@ -2,24 +2,28 @@ DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" -initToken='type' +initToken='types' -modelHtml=`cat <<QUERY -SELECT ?s2 ?p2 ?s1 ?p1 WHERE { +modelHtmlSP=`cat <<QUERY +SELECT ?s ?p WHERE { { GRAPH ?g{ - { - <{{uri}}> ?s1 ?p1 . - }UNION{ - ?s2 ?p2 <{{uri}}> . - } + ?s ?p <{{uri}}> . } - }UNION{ - { - <{{uri}}> ?s1 ?p1 . - }UNION{ - ?s2 ?p2 <{{uri}}> . - } + }UNION{ + ?s ?p <{{uri}}> . + } +} +QUERY` + +modelHtmlPO=`cat <<QUERY +SELECT ?p ?o WHERE { + { + GRAPH ?g{ + <{{uri}}> ?p ?o. + } + }UNION{ + <{{uri}}> ?p ?o . } } QUERY` @@ -29,136 +33,69 @@ 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"> -<html xmlns="http://www.w3.org/1999/xhtml" {% for i, ns in base.ns %}xmlns:{{i}}="{{ns}}" + <html xmlns="http://www.w3.org/1999/xhtml" {% for i, ns in lodspk.ns %}xmlns:{{i}}="{{ns}}" {%endfor%}version="XHTML+RDFa 1.0" xml:lang="en"> - <head> + <head> <title>Page about {{lodspk.this.value}}</title> - <link href="{{lodspk.baseUrl}}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" /> - <link rel="alternate" type="application/json" title="RDFJSON Version" href="{{lodspk.this.value}}.json" /> + <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" /> + <link rel="alternate" type="application/json" title="RDFJSON Version" href="{{lodspk.this.value}}.json" /> </head> <body about="{{lodspk.this.value}}"> - <h1>Page about <a href='{{lodspk.this.value}}'>{{lodspk.this.curie}}</a></h1> - <br/> - <h2>Class $1</h2> - <div> - <h2>Information from {{lodspk.this.curie}}</h2> + <h1>Default view</h1> + + <div style='margin-top: 40px'> <table> - {% for row in models.main %} + <tr><th>Subject</th><th>Predicate</th><th>Object</th></tr> + {% for row in models.po %} + <tr> +<td>{%if forloop.first%}<a href='{{lodspk.this.value}}'>{{lodspk.this.curie}}</a>{%endif%}</td> + <td style='background-color:#c9f9c9'><a href='{{row.p.value}}'>{{row.p.curie}}</a></td> + + <td style='background-color:#c9f9c9'> + {%if row.o.uri == 1%} + <a rev='[{{row.p.curie}}]' href='{{row.o.value}}'>{{row.o.curie}}</a> + {%else%} + {{row.o.value}} + {%endif%} + </td> - {% if row.s1%} - <tr> - <td><a href='{{row.s1.value}}'>{{row.s1.curie}}</a></td> + </tr> + {% endfor %} +<tr><td></td><td><a href='{{lodspk.this.value}}'>{{lodspk.this.curie}}</a></td><td></td></tr> - {% if row.p1.uri == 1 %} - <td><a rel='{{row.s1.curie}}' href='{{row.p1.value}}'>{{row.p1.curie}}</a></td> - {% else %} - <td><span property='{{row.s1.curie}}'>{{row.p1.value}}</span></td> - {% endif %} + {% for row in models.sp %} + <tr> + <td style='background-color:#c9f9c9'><a href='{{row.s.value}}'>{{row.s.curie}}</a></td> + <td style='background-color:#c9f9c9'><a rel='{{row.s.curie}}' 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> - {% endif %} {% endfor %} - </table> + <tr><th>Subject</th><th>Predicate</th><th>Object</th></tr> - <br/><br/> - <h2>Information pointing to {{lodspk.this.curie}}</h2> - <table> - {% for row in models.main %} - {% if row.s2%} - <tr> - <td><a href='{{row.s2.value}}'>{{row.s2.curie}}</a></td> - <td><a rev='[{{row.p2.curie}}]' href='{{row.s2.value}}'>{{row.p2.curie}}</a></td> - </tr> - {%endif %} - {% endfor %} </table> - </div> + </div> + + <br/> </body> -</html> -VIEW` - -modelRdf=`cat <<QUERY -DESCRIBE ?resource WHERE { - [] a ?resource . -} -QUERY` +</html>VIEW` -viewRdf=`cat <<VIEW -{{models.main|safe}} -VIEW` - -modelTtl=$modelRdf -viewTtl=$viewRdf -modelNt=$modelRdf -viewNt=$viewRdf -modelJson=$modelRdf -viewJson=$viewJson #Check models -mainModelDir=$DIR/../../models/$initToken.$1 +mainDir=$DIR/../../components/$initToken/$1/ -if [ -e "$mainModelDir" ] +if [ -e "$mainDir" ] then echo "WARNING: At least one model for $1 exists." >&2 else - mkdir $mainModelDir -fi - -obj=( ) -if [ "$2" == "all" ] -then - obj=( html rdf ttl nt json ) -else - obj=( $2 ) -fi - -for i in ${obj[@]} -do - if [ -e $mainModelDir/$i.queries ] - then - echo ERROR: $initToken.$1/$i.queries exists in models. Operation aborted >&2 - exit 1 - fi -done - - -#Check views -mainViewDir=$DIR/../../views/$initToken.$1 - -if [ -e "$mainViewDir" ] -then - echo "WARNING: At least one view for $1 exists." >&2 -else - mkdir $mainViewDir + mkdir -p $mainDir/queries fi +echo "$modelHtmlSP" > $mainDir/queries/sp.query +echo "$modelHtmlPO" > $mainDir/queries/po.query +echo "$viewHtml" > $mainDir/html.template -for i in ${obj[@]} -do - if [ -e $mainViewDir/$i.template ] - then - echo ERROR: $initToken.$1/$i already exist in views. Operation aborted >&2 - exit 1 - fi -done - - -#Create file structure - -for i in ${obj[@]} -do - mkdir $mainModelDir/$i.queries - if [ "$i" == "html" ] - then - echo "$modelHtml" > $mainModelDir/$i.queries/main.query - echo "$viewHtml" > $mainViewDir/$i.template - else - echo "$modelRdf" > $mainModelDir/$i.queries/main.query - echo "$viewRdf" > $mainViewDir/$i.template - fi -done - -echo $initToken.$1 created/modified successfully! >&2 +echo $1 created successfully! >&2 diff --git a/utils/modules/create-uri.sh b/utils/modules/create-uri.sh index 9eb2dc39ba7a7045f44b2ae147e00fab677d1741..f14405f3ad012b994094a41a6aedc0bfff94fce8 100755 --- a/utils/modules/create-uri.sh +++ b/utils/modules/create-uri.sh @@ -2,17 +2,29 @@ DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" -initToken='uri' +initToken='uris' -modelHtml=`cat <<QUERY -SELECT ?s2 ?p2 ?s1 ?p1 WHERE { +modelHtmlSP=`cat <<QUERY +SELECT ?s ?p WHERE { + { GRAPH ?g{ - { - <{{uri}}> ?s1 ?p1 . - }UNION{ - ?s2 ?p2 <{{uri}}> . - } + ?s ?p <{{uri}}> . } + }UNION{ + ?s ?p <{{uri}}> . + } +} +QUERY` + +modelHtmlPO=`cat <<QUERY +SELECT ?p ?o WHERE { + { + GRAPH ?g{ + <{{uri}}> ?p ?o. + } + }UNION{ + <{{uri}}> ?p ?o . + } } QUERY` @@ -21,134 +33,73 @@ 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"> -<html xmlns="http://www.w3.org/1999/xhtml" {% for i, ns in base.ns %}xmlns:{{i}}="{{ns}}" + <html xmlns="http://www.w3.org/1999/xhtml" {% for i, ns in lodspk.ns %}xmlns:{{i}}="{{ns}}" {%endfor%}version="XHTML+RDFa 1.0" xml:lang="en"> - <head> + <head> <title>Page about {{lodspk.this.value}}</title> - <link href="{{lodspk.baseUrl}}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" /> - <link rel="alternate" type="application/json" title="RDFJSON Version" href="{{lodspk.this.value}}.json" /> + <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" /> + <link rel="alternate" type="application/json" title="RDFJSON Version" href="{{lodspk.this.value}}.json" /> </head> <body about="{{lodspk.this.value}}"> - <h1>Page about <a href='{{lodspk.this.value}}'>{{lodspk.this.curie}}</a></h1> - <div> - <h2>Information from {{lodspk.this.curie}}</h2> + <h1>Default view</h1> + + <div style='margin-top: 40px'> <table> - {% for row in models.main %} + <tr><th>Subject</th><th>Predicate</th><th>Object</th></tr> + {% for row in models.po %} + <tr> +<td>{%if forloop.first%}<a href='{{lodspk.this.value}}'>{{lodspk.this.curie}}</a>{%endif%}</td> + <td style='background-color:#c9f9c9'><a href='{{row.p.value}}'>{{row.p.curie}}</a></td> + + <td style='background-color:#c9f9c9'> + {%if row.o.uri == 1%} + <a rev='[{{row.p.curie}}]' href='{{row.o.value}}'>{{row.o.curie}}</a> + {%else%} + {{row.o.value}} + {%endif%} + </td> - {% if row.s1%} - <tr> - <td><a href='{{row.s1.value}}'>{{row.s1.curie}}</a></td> + </tr> + {% endfor %} +<tr><td></td><td><a href='{{lodspk.this.value}}'>{{lodspk.this.curie}}</a></td><td></td></tr> - {% if row.p1.uri == 1 %} - <td><a rel='{{row.s1.curie}}' href='{{row.p1.value}}'>{{row.p1.curie}}</a></td> - {% else %} - <td><span property='{{row.s1.curie}}'>{{row.p1.value}}</span></td> - {% endif %} + {% for row in models.sp %} + <tr> + <td style='background-color:#c9f9c9'><a href='{{row.s.value}}'>{{row.s.curie}}</a></td> + <td style='background-color:#c9f9c9'><a rel='{{row.s.curie}}' 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> - {% endif %} {% endfor %} - </table> + <tr><th>Subject</th><th>Predicate</th><th>Object</th></tr> - <br/><br/> - <h2>Information pointing to {{lodspk.this.curie}}</h2> - <table> - {% for row in models.main %} - {% if row.s2%} - <tr> - <td><a href='{{row.s2.value}}'>{{row.s2.curie}}</a></td> - <td><a rev='[{{row.p2.curie}}]' href='{{row.s2.value}}'>{{row.p2.curie}}</a></td> - </tr> - {%endif %} - {% endfor %} </table> - </div> + </div> + + <br/> </body> </html> VIEW` -modelRdf=`cat <<QUERY -DESCRIBE ?resource WHERE { - [] a ?resource . -} -QUERY` - -viewRdf=`cat <<VIEW -{{r|safe}} -VIEW` - -modelTtl=$modelRdf -viewTtl=$viewRdf -modelNt=$modelRdf -viewNt=$viewRdf -modelJson=$modelRdf -viewJson=$viewJson #Check models -mainModelDir=$DIR/../../models/$initToken.$1 +mainDir=$DIR/../../components/$initToken/$1 -if [ -e "$mainModelDir" ] +if [ -e "$mainDir" ] then echo "WARNING: At least one model for $1 exists." >&2 else - mkdir $mainModelDir + mkdir $mainDir fi -obj=( ) -if [ "$2" == "all" ] -then - obj=( html rdf ttl nt json ) -else - obj=( $2 ) -fi - -for i in ${obj[@]} -do - if [ -e $mainModelDir/$i.queries ] - then - echo ERROR: $initToken.$1/$i.queries exists in models. Operation aborted >&2 - exit 1 - fi -done - - -#Check views -mainViewDir=$DIR/../../views/$initToken.$1 - -if [ -e "$mainViewDir" ] -then - echo "WARNING: At least one view for $1 exists." >&2 -else - mkdir $mainViewDir -fi - - -for i in ${obj[@]} -do - if [ -e $mainViewDir/$i.template ] - then - echo ERROR: $initToken.$1/$i already exist in views. Operation aborted >&2 - exit 1 - fi -done - - #Create file structure -for i in ${obj[@]} -do - mkdir $mainModelDir/$i.queries - if [ "$i" == "html" ] - then - echo "$modelHtml" > $mainModelDir/$i.queries/main.query - echo "$viewHtml" > $mainViewDir/$i.template - else - echo "$modelRdf" > $mainModelDir/$i.queries/main.query - echo "$viewRdf" > $mainViewDir/$i.template - fi -done +mkdir $mainDir/queries +echo "$modelHtmlSP" > $mainDir/queries/sp.query +echo "$modelHtmlPO" > $mainDir/queries/po.query +echo "$viewHtml" > $mainDir/html.template echo $initToken.$1 created/modified successfully! >&2 diff --git a/utils/modules/delete-service.sh b/utils/modules/delete-service.sh index 0adc58c37b811dd76647fffbf6ebd8442d625278..a496c7bbff58d53c29f4ee788fb6ce8c129fca8f 100755 --- a/utils/modules/delete-service.sh +++ b/utils/modules/delete-service.sh @@ -2,67 +2,18 @@ DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" -initToken='service' +initToken='services' #Check models -mainModelDir=$DIR/../../models/$initToken.$1 -mainViewDir=$DIR/../../views/$initToken.$1 +mainDir=$DIR/../../components/$initToken/$1 -if [ ! -e "$mainModelDir" ] +if [ ! -e "$mainDir" ] then - echo "ERROR: $initToken.$1 doesn't exist in models. Operation aborted" >&2 + echo "ERROR: $initToken/ $1 doesn't exist in models. Operation aborted" >&2 exit 1 fi -obj=( ) -if [ "$2" == "all" ] -then - rm -rf $mainModelDir - rm -rf $mainViewDir - echo $initToken.$1 deleted >&2 - exit -else - obj=( $2 ) -fi - -for i in ${obj[@]} -do - if [ ! -e $mainModelDir/$i.queries ] - then - echo "WARNING: $initToken.$1/$i.query does not exists in models." >&2 - fi -done - - -#Check views - -if [ ! -e "$mainViewDir" ] -then - echo "ERROR: $initToken.$1 doesn't exist in views. Operation aborted." >&2 -fi - - -for i in ${obj[@]} -do - if [ ! -e $mainViewDir/$i.template ] - then - echo "WARNING: $mainViewDir/$i.template doesn't exist in views." >&2 - fi -done - +rm -rf $mainDir -#Delete file structure - -if [ "$2" == "all" ] -then - rm -rf $mainModelDir - rm -rf $mainViewDir -else - for i in ${obj[@]} - do - rm -rf $mainModelDir/$i.queries - rm -rf $mainViewDir/$i.template - done -fi -echo $initToken.$1 deleted >&2 +echo Service $1 deleted >&2 diff --git a/utils/modules/delete-uri.sh b/utils/modules/delete-uri.sh index a247cb67e549a446bac6675a0bf68a298f0d5bf4..e868c51f3e3e580959f2d2855a7af5cbe5513436 100755 --- a/utils/modules/delete-uri.sh +++ b/utils/modules/delete-uri.sh @@ -2,67 +2,18 @@ DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" -initToken='uri' +initToken='uris' #Check models -mainModelDir=$DIR/../../models/$initToken.$1 -mainViewDir=$DIR/../../views/$initToken.$1 +mainDir=$DIR/../../components/$initToken/$1 -if [ ! -e "$mainModelDir" ] +if [ ! -e "$mainDir" ] then - echo "ERROR: $initToken.$1 doesn't exist in models. Operation aborted" >&2 + echo "ERROR: $mainDir doesn't exist in models. Operation aborted" >&2 exit 1 fi -obj=( ) -if [ "$2" == "all" ] -then - rm -rf $mainModelDir - rm -rf $mainViewDir - echo $initToken.$1 deleted >&2 - exit -else - obj=( $2 ) -fi - -for i in ${obj[@]} -do - if [ ! -e $mainModelDir/$i.queries ] - then - echo "WARNING: $initToken.$1/$i.query does not exists in models." >&2 - fi -done - - -#Check views - -if [ ! -e "$mainViewDir" ] -then - echo "ERROR: $initToken.$1 doesn't exist in views. Operation aborted." >&2 -fi - - -for i in ${obj[@]} -do - if [ ! -e $mainViewDir/$i.template ] - then - echo "WARNING: $mainViewDir/$i.template doesn't exist in views." >&2 - fi -done - +rm -rf $mainDir -#Delete file structure - -if [ "$2" == "all" ] -then - rm -rf $mainModelDir - rm -rf $mainViewDir -else - for i in ${obj[@]} - do - rm -rf $mainModelDir/$i.queries - rm -rf $mainViewDir/$i.template - done -fi -echo $initToken.$1 deleted successfully! >&2 +echo Uri $1 deleted >&2