http://git-wip-us.apache.org/repos/asf/jena/blob/36855e1b/jena-fuseki/fuseki ---------------------------------------------------------------------- diff --git a/jena-fuseki/fuseki b/jena-fuseki/fuseki new file mode 100755 index 0000000..0dae10d --- /dev/null +++ b/jena-fuseki/fuseki @@ -0,0 +1,390 @@ +#!/usr/bin/env bash + +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# ========= +# +# Startup script for Fuseki under *nix systems (works with cygwin too) +# +# Configuration +# ------------- +# Default values are loaded from /etc/default/fuseki, if it exists. +# +# JAVA +# Command to invoke Java. If not set, java (from the PATH) will be used. +# +# JAVA_OPTIONS +# Extra options to pass to the JVM. +# +# FUSEKI_HOME +# Where Fuseki is installed. If not set, the script will try +# to guess it based on the script invokation path. +# +# FUSEKI_RUN +# Where the fuseki.pid file should be stored. It defaults +# first available of /var/run, /usr/var/run, and /tmp if not set. +# +# FUSEKI_PID +# The FUSEKI PID file, defaults to $FUSEKI_RUN/fuseki.pid +# +# FUSEKI_ARGS +# The arguments to pass to the Fuseki server on the command line. Defaults to: +# --update --loc=$FUSKEI_DATA_DIR /ds # if FUSEKI_CONF is not set +# --config=$FUSEKI_CONF # if FUSEKI_CONF is set +# +# FUSEKI_CONF +# The Fuseki configuration file, usually in RDF Turtle notation. +# +# FUSEKI_USER +# If set, the server will be run as this user +# +# FUSEKI_DATA_DIR +# The location of the data directory Fuseki will use (i.e. the value of --loc). +# Defaults to $FUSEKI_HOME/DB +# +# FUSEKI_LOGS +# Directory where logs will be generated. Defaults to $FUSEKI_HOME/log +# +# FUSEKI_LOGS_STDERROUT +# Log file with stderr and stdout log output from Fuseki. Defaults to +# $FUSEKI_LOGS/stderrout.log + +### BEGIN INIT INFO +# Provides: fuseki +# Required-Start: $remote_fs $network +# Required-Stop: $remote_fs $network +# Default-Start: 3 4 5 +# Default-Stop: 0 1 2 6 +# Short-Description: Start Jena Fuseki at boot time +# Description: Jena Fuseki is a service that provides a SPARQL API over HTTP to one more RDF triple stores +### END INIT INFO + +usage() +{ + echo "Usage: ${0##*/} {start|stop|restart|status}" + exit 1 +} + +[ $# -gt 0 ] || usage + +# Utility functions: +findDirectory() +{ + local L OP=$1 + shift + for L in "$@"; do + [ "$OP" "$L" ] || continue + printf %s "$L" + break + done +} + +running() +{ + local PID=$(cat "$1" 2>/dev/null) || return 1 + kill -0 "$PID" 2>/dev/null +} + +# Are we running in cygwin? +cygwin=false +case "`uname`" in + CYGWIN*) cygwin=true;; +esac + + +NAME=fuseki +[ -f "/etc/default/$NAME" ] && . /etc/default/$NAME + +# Set FUSKEI_HOME to the script invocation directory if it is not specified +if [ -z "$FUSEKI_HOME" ] +then + SCRIPT="$0" + # Catch common issue: script has been symlinked + if [ -L "$SCRIPT" ] + then + SCRIPT="$(readlink "$0")" + # If link is relative + case "$SCRIPT" in + /*) ;; # fine + *) SCRIPT=$( dirname "$0" )/$SCRIPT;; # fix + esac + fi + + # Work out root from script location + FUSEKI_HOME="$( cd "$( dirname "$SCRIPT" )" && pwd )" + +fi + +# Deal with more Cygwin path issues +if [ "$cygwin" == "true" ] +then + FUSEKI_HOME=`cygpath -w "$FUSEKI_HOME"` + fi + +#echo "DEBUG: FUSEKI_HOME=$FUSEKI_HOME" + +if [ ! -e "$FUSEKI_HOME" ] +then + echo "$FUSEKI_HOME does not exist" 1>&2 + exit 1 +fi + + +# Find a location for the pid file +if [ -z "$FUSEKI_RUN" ] +then + FUSEKI_RUN=$(findDirectory -w /var/run /usr/var/run $FUSEKI_HOME /tmp) +fi + +# Get PID file name +if [ -z "$FUSEKI_PID" ] +then + FUSEKI_PID="$FUSEKI_RUN/fuseki.pid" +fi + +# Log directory +if [ -z "$FUSEKI_LOGS" ] +then + FUSEKI_LOGS="$FUSEKI_HOME/log" +fi + +# Std Err and Out log +if [ -z "$FUSEKI_LOGS_STDERROUT" ] +then + FUSEKI_LOGS_STDERROUT="$FUSEKI_LOGS/stderrout.log" +fi + +# Data directory +if [ -z "$FUSEKI_DATA_DIR" ] +then + FUSEKI_DATA_DIR="$FUSEKI_HOME/DB" +fi + +# Set up JAVA if not set +if [ -z "$JAVA" ] +then + JAVA=$(which java) +fi +if [ -z "$JAVA" ] +then + echo "Cannot find a Java JDK. Please set either set JAVA or put java (>=1.6) in your PATH." 2>&2 + exit 1 +fi + +# The location of the start up JAR +FUSEKI_START=$FUSEKI_HOME/fuseki-server.jar + +# Deal with Cygwin path issues +if [ "$cygwin" == "true" ] +then + DATA_DIR=`cygpath -w "$FUSEKI_DATA_DIR"` + FUSEKI_START=`cygpath -w "$FUSEKI_START"` +else + DATA_DIR="$FUSEKI_DATA_DIR" +fi + +####################################### +# +# TODO - Read these items from a Config file! +# + +# Some JVM settings +if [ -z "$JAVA_OPTIONS" ] +then + JAVA_OPTIONS="-Xmx1200M" +fi + + +# Default Fuseki Arguments +if [ -z "$FUSEKI_ARGS" ] +then + if [ -z "$FUSEKI_CONF" ] + then + FUSEKI_ARGS="--update --loc=$DATA_DIR /ds" + else + FUSEKI_ARGS="--config=$FUSEKI_CONF" + fi +fi + +# Run command + +RUN_ARGS=(${JAVA_OPTIONS[@]} -jar "$FUSEKI_START" $FUSEKI_ARGS) +RUN_CMD=("$JAVA" ${RUN_ARGS[@]}) + + +####################################### + +##################################################### +# Comment these out after you're happy with what +# the script is doing. +##################################################### +if (( DEBUG )) +then + echo "FUSEKI_HOME = $FUSEKI_HOME" + echo "FUSEKI_CONF = $FUSEKI_CONF" + echo "FUSEKI_RUN = $FUSEKI_RUN" + echo "FUSEKI_PID = $FUSEKI_PID" + echo "FUSEKI_ARGS = $FUSEKI_ARGS" + echo "FUSEKI_START = $FUSEKI_START" + echo "CONFIGS = ${CONFIGS[*]}" + echo "JAVA = $JAVA" + echo "JAVA_OPTIONS = ${JAVA_OPTIONS[*]}" + echo "RUN_ARGS = ${RUN_ARGS[@]}" + echo "RUN_CMD = ${RUN_CMD[@]}" +fi + +NO_START=0 + +# Life cycle functions +start() { + + if (( NO_START )); then + echo "Not starting Fuseki - NO_START=1"; + exit + fi + + # Make sure the data and log directories exist + mkdir -p "$FUSEKI_DATA_DIR" + mkdir -p "$FUSEKI_LOGS" + + echo -n "Starting Fuseki: " + if type start-stop-daemon > /dev/null 2>&1 + then + unset CH_USER + if [ -n "$FUSEKI_USER" ] + then + CH_USER="--chuid $FUSEKI_USER" + fi + if start-stop-daemon --start $CH_USER --chdir "$FUSEKI_HOME" --background --make-pidfile --pidfile "$FUSEKI_PID" --startas "$JAVA" -- "${RUN_ARGS[@]}" + then + sleep 1 + if running "$FUSEKI_PID" + then + print_started + else + print_failed + fi + fi + else + if running $FUSEKI_PID + then + echo "Already Running!" + exit 1 + else + # dead pid file - remove + rm -f "$FUSEKI_PID" + fi + if [ "$FUSEKI_USER" ] + then + touch "$FUSEKI_PID" + chown "$FUSEKI_USER" "$FUSEKI_PID" + su - "$FUSEKI_USER" -c " + echo 'Redirecting Fuseki stderr/stdout to $FUSEKI_LOGS_STDERROUT' + exec ${RUN_CMD[*]} & + disown \$! + echo \$! > '$FUSEKI_PID'" + else + echo "Redirecting Fuseki stderr/stdout to $FUSEKI_LOGS_STDERROUT" + exec "${RUN_CMD[@]}" &> "$FUSEKI_LOGS_STDERROUT" & + disown $! + echo $! > "$FUSEKI_PID" + fi + + print_started + fi +} + +print_started() { + echo "STARTED Fuseki `date`" + echo "PID=$(cat "$FUSEKI_PID" 2>/dev/null)" +} + +print_failed() { + echo "FAILED to start Fuseki `date`" +} + +delete_fuseki_pid_file() { + rm -f "$FUSEKI_PID" +} + +stop() { + echo -n "Stopping Fuseki: " + + if ! running "$FUSEKI_PID" + then + echo "Fuseki is not running" + exit 1 + fi + + ############################################################### + # !!!! This code needs to be improved, too many repeats !!!! # + ############################################################### + if type start-stop-daemon > /dev/null 2>&1; then + start-stop-daemon --stop --pidfile "$FUSEKI_PID" --chdir "$FUSEKI_HOME" --startas "$JAVA" --signal HUP + + ## Die after a 30 second timeout + TIMEOUT=30 + while running "$FUSEKI_PID"; do + if (( TIMEOUT-- == 0 )); then + start-stop-daemon --stop --pidfile "$FUSEKI_PID" --chdir "$FUSEKI_HOME" --startas "$JAVA" --signal KILL + fi + sleep 1 + done + delete_fuseki_pid_file + echo OK + else + PID=$(cat "$FUSEKI_PID" 2>/dev/null) + kill "$PID" 2>/dev/null + + TIMEOUT=30 + while running $FUSEKI_PID; do + if (( TIMEOUT-- == 0 )); then + kill -KILL "$PID" 2>/dev/null + fi + sleep 1 + done + delete_fuseki_pid_file + echo "OK" + fi +} + +case $1 in + start) + start + ;; + stop) + stop + ;; + restart) + stop + start + ;; + status) + if running $FUSEKI_PID + then + echo -n "Fuseki is running with pid: " + echo `cat "$FUSEKI_PID"` + else + echo "Fuseki is not running" + fi + ;; + *) + usage + ;; +esac + +exit 0
http://git-wip-us.apache.org/repos/asf/jena/blob/36855e1b/jena-fuseki/fuseki-server ---------------------------------------------------------------------- diff --git a/jena-fuseki/fuseki-server b/jena-fuseki/fuseki-server new file mode 100755 index 0000000..d62a079 --- /dev/null +++ b/jena-fuseki/fuseki-server @@ -0,0 +1,61 @@ +#!/bin/sh + +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +export FUSEKI_HOME="${FUSEKI_HOME:-$PWD}" + +if [ ! -e "$FUSEKI_HOME" ] +then + echo "$FUSEKI_HOME does not exist" 1>&2 + exit 1 + fi + +JAR1="$FUSEKI_HOME/fuseki-server.jar" +JAR2="$FUSEKI_HOME/jena-fuseki-*-server.jar" +JAR="" + +for J in "$JAR1" "$JAR2" +do + # Expand + J="$(echo $J)" + if [ -e "$J" ] + then + JAR="$J" + break + fi +done + +if [ "$JAR" = "" ] +then + echo "Can't find jarfile to run" + exit 1 +fi + +# Deal with Cygwin path issues +cygwin=false +case "`uname`" in + CYGWIN*) cygwin=true;; +esac +if [ "$cygwin" = "true" ] +then + JAR=`cygpath -w "$JAR"` + FUSEKI_HOME=`cygpath -w "$FUSEKI_HOME"` +fi + +JVM_ARGS=${JVM_ARGS:--Xmx1200M} + +exec java $JVM_ARGS -jar "$JAR" "$@" http://git-wip-us.apache.org/repos/asf/jena/blob/36855e1b/jena-fuseki/fuseki-server.bat ---------------------------------------------------------------------- diff --git a/jena-fuseki/fuseki-server.bat b/jena-fuseki/fuseki-server.bat new file mode 100644 index 0000000..6bfd370 --- /dev/null +++ b/jena-fuseki/fuseki-server.bat @@ -0,0 +1,3 @@ +@echo off +@REM modify this to name the server jar +java -Xmx1200M -jar fuseki-server.jar %* http://git-wip-us.apache.org/repos/asf/jena/blob/36855e1b/jena-fuseki/jetty-fuseki.xml ---------------------------------------------------------------------- diff --git a/jena-fuseki/jetty-fuseki.xml b/jena-fuseki/jetty-fuseki.xml new file mode 100644 index 0000000..adef0b2 --- /dev/null +++ b/jena-fuseki/jetty-fuseki.xml @@ -0,0 +1,30 @@ +<?xml version="1.0"?> +<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd"> + +<!-- + Reference: http://wiki.eclipse.org/Jetty/Reference/jetty.xml_syntax + http://wiki.eclipse.org/Jetty/Reference/jetty.xml +--> + +<Configure id="Fuseki" class="org.eclipse.jetty.server.Server"> + <Call name="addConnector"> + <Arg> + <!-- org.eclipse.jetty.server.nio.BlockingChannelConnector --> + <!-- org.eclipse.jetty.server.nio.SelectChannelConnector --> + <New class="org.eclipse.jetty.server.nio.SelectChannelConnector"> + <!-- BlockingChannelConnector specific: + <Set name="useDirectBuffer">false</Set> + --> + <!-- Only listen to interface ... + <Set name="host">localhost</Set> + --> + <Set name="port">3535</Set> + <Set name="maxIdleTime">0</Set> + <!-- All connectors --> + <Set name="requestHeaderSize">65536</Set> <!-- 64*1024 --> + <Set name="requestBufferSize">5242880</Set> <!-- 5*1024*1024 --> + <Set name="responseBufferSize">5242880</Set> <!-- 5*1024*1024 --> + </New> + </Arg> + </Call> +</Configure> http://git-wip-us.apache.org/repos/asf/jena/blob/36855e1b/jena-fuseki/make_cp_mvn ---------------------------------------------------------------------- diff --git a/jena-fuseki/make_cp_mvn b/jena-fuseki/make_cp_mvn new file mode 100755 index 0000000..d8488b2 --- /dev/null +++ b/jena-fuseki/make_cp_mvn @@ -0,0 +1,35 @@ +#!/usr/bin/perl +# Write a run script. + +$POM="pom.xml" ; +$POM = @ARGV[0] if ( defined(@ARGV[0]) ) ; + +if ( ! -e "$POM" ) +{ + print STDERR "No POM file: $POM\n" ; + exit 1 ; +} +$M2=$ENV{'M2_REPO'} ; +print "#!/bin/bash\n" ; +print "\n" ; +print 'XCP="' ; + +open(X, "mvn -f $POM dependency:build-classpath |") ; +while(<X>) +{ + next if /\[INFO\]/ ; + next if /^Download/ ; + chop ; + #s!$M2/org/apache/jena/jena-[^/]*/[^/]*/[^/]*.jar:!!g ; + print "$_" ; +} +print "\"\n" ; +print "\n" ; + +print "if [ \"\$CP\" != \'\' ]\n" ; +print "then\n" ; +print " XCP=\"\$CP:\$XCP\"\n" ; +print "fi\n" ; +print "\n" ; +print "echo \"\$XCP\"\n" + http://git-wip-us.apache.org/repos/asf/jena/blob/36855e1b/jena-fuseki/make_links ---------------------------------------------------------------------- diff --git a/jena-fuseki/make_links b/jena-fuseki/make_links new file mode 100755 index 0000000..7eb82b9 --- /dev/null +++ b/jena-fuseki/make_links @@ -0,0 +1,10 @@ +#!/bin/bash +# Licensed under the terms of http://www.apache.org/licenses/LICENSE-2.0 + +SOH=${SOH:-soh} +for s in s-head s-get s-put s-post s-delete s-query s-update s-update-form +do + rm -f $s + #ln -s "$SOH" $s + cp "$SOH" $s +done http://git-wip-us.apache.org/repos/asf/jena/blob/36855e1b/jena-fuseki/pages/books.ttl ---------------------------------------------------------------------- diff --git a/jena-fuseki/pages/books.ttl b/jena-fuseki/pages/books.ttl new file mode 100644 index 0000000..eeeadb6 --- /dev/null +++ b/jena-fuseki/pages/books.ttl @@ -0,0 +1,47 @@ +# Licensed under the terms of http://www.apache.org/licenses/LICENSE-2.0 +@prefix dc: <http://purl.org/dc/elements/1.1/> . +@prefix vcard: <http://www.w3.org/2001/vcard-rdf/3.0#> . +@prefix ns: <http://example.org/ns#> . + +@prefix : <http://example.org/book/> . + +# A small dataset for usage examples of Fuseki +# This data is intentionaly irregular (e.g. different ways to +# record the book creator) as if the information is either an +# aggregation or was created at different times. + +:book1 + dc:title "Harry Potter and the Philosopher's Stone" ; + dc:creator "J.K. Rowling" ; + . + +:book2 + dc:title "Harry Potter and the Chamber of Secrets" ; + dc:creator _:a . + +:book3 + dc:title "Harry Potter and the Prisoner Of Azkaban" ; + dc:creator _:a . + +:book4 + dc:title "Harry Potter and the Goblet of Fire" . + +:book5 + dc:title "Harry Potter and the Order of the Phoenix"; + dc:creator "J.K. Rowling" ; + . + +:book6 + dc:title "Harry Potter and the Half-Blood Prince"; + dc:creator "J.K. Rowling" . + +:book7 + dc:title "Harry Potter and the Deathly Hallows" ; + dc:creator "J.K. Rowling" . +_:a + vcard:FN "J.K. Rowling" ; + vcard:N + [ vcard:Family "Rowling" ; + vcard:Given "Joanna" + ] + . http://git-wip-us.apache.org/repos/asf/jena/blob/36855e1b/jena-fuseki/pages/control-panel.tpl ---------------------------------------------------------------------- diff --git a/jena-fuseki/pages/control-panel.tpl b/jena-fuseki/pages/control-panel.tpl new file mode 100644 index 0000000..b69994e --- /dev/null +++ b/jena-fuseki/pages/control-panel.tpl @@ -0,0 +1,41 @@ +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<html> + <head> + <title>Fuseki - A SPARQL 1.1 Server</title> + <link rel="stylesheet" type="text/css" href="fuseki.css" /> + </head> + + <body> + <h1>Fuseki Control Panel</h1> + +#set( $datasets = $mgt.datasets($request) ) +#set( $action = $mgt.actionDataset($request) ) + + <div class="moreindent"> + <form action="${action}" method="post"> + Dataset: <select name="dataset"> +#foreach($ds in $datasets) + <option value="${ds}">${ds}</option> +#end + <div> + <input type="submit" value="Select"> + </div> + </form> + </div> + </body> +</html> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/jena/blob/36855e1b/jena-fuseki/pages/data-validator.html ---------------------------------------------------------------------- diff --git a/jena-fuseki/pages/data-validator.html b/jena-fuseki/pages/data-validator.html new file mode 100644 index 0000000..0c90949 --- /dev/null +++ b/jena-fuseki/pages/data-validator.html @@ -0,0 +1,67 @@ +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<html xmlns="http://www.w3.org/1999/xhtml"> + <head><title>SPARQLer Data Validator</title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <link rel="stylesheet" type="text/css" href="fuseki.css" /> + </head> + <body> + <h1>SPARQLer Data Validator</h1> + <div class="moreindent"> + <form action="validate/data" method="post" accept-charset="UTF-8" > + <textarea name="data" cols="70" rows="30"> +# Prefixes for Turtle or TriG - these can be edited or removed. +@base <http://example.org/base/> . +@prefix : <http://example.org/> . +@prefix xsd: <http://www.w3.org/2001/XMLSchema#> . +@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . +@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . +@prefix owl: <http://www.w3.org/2002/07/owl#> . + + +</textarea> +<br/> +Input syntax: +<input type="radio" name="languageSyntax" value="Turtle" checked="checked"/>Turtle +<input type="radio" name="languageSyntax" value="TriG"/>TriG +<input type="radio" name="languageSyntax" value="N-Triples"/>N-Triples +<input type="radio" name="languageSyntax" value="N-Quads"/>N-Quad + <br/> + <!-- +Output syntax: + <input type="checkbox" name="outputFormat" value="sparql" checked="checked"/>SPARQL + <input type="checkbox" name="outputFormat" value="algebra"/>SPARQL algebra + <input type="checkbox" name="outputFormat" value="quads"/>SPARQL algebra (quads) + <br/> + + Line numbers: + <input type="radio" name="linenumbers" value="true" checked="checked"/>Yes + <input type="radio" name="linenumbers" value="false"/>No + <br/> + --> + <input type="submit" value="Validate RDF Data" /> + </form> + <hr/> +Parsing provided by <a href="http://jena.apache.org/documentation/io/riot.html">Jena/RIOT</a>. +Questions to +<href="mailto:[email protected]?s=[Data Validator]: " + >the Jena users mailing list</a> +(include full details of input). + </div> + </body> +</html> http://git-wip-us.apache.org/repos/asf/jena/blob/36855e1b/jena-fuseki/pages/favicon.ico ---------------------------------------------------------------------- diff --git a/jena-fuseki/pages/favicon.ico b/jena-fuseki/pages/favicon.ico new file mode 100644 index 0000000..f5d685e Binary files /dev/null and b/jena-fuseki/pages/favicon.ico differ http://git-wip-us.apache.org/repos/asf/jena/blob/36855e1b/jena-fuseki/pages/fuseki.css ---------------------------------------------------------------------- diff --git a/jena-fuseki/pages/fuseki.css b/jena-fuseki/pages/fuseki.css new file mode 100644 index 0000000..cb4aa20 --- /dev/null +++ b/jena-fuseki/pages/fuseki.css @@ -0,0 +1,148 @@ +/** + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ +body { + font-family: Verdana, Arial, Helvetica, sans-serif ; + font-size: 10pt ; + line-height: 18pt ; + color: black; + background: white ; + margin: 0 ; +} + +p { margin-left: 2% ; margin-right: 2% ; } + +.warning { color: #FF0000 ; } +.error { color: #FF0000 ; font-weight: bold; } + +/* Makes lists a little tighter +li { line-height: 14pt ; } +*/ + +textarea { background-color: #F0F0F0 ; } + +table { + font-family: Verdana, Arial, sans-serif ; + font-size: 10pt ; + border-collapse: collapse; + border: 1px solid black ; + cellspacing: 0 ; + cellpadding: 0 +} + +td { + border: 1px solid #808080 ; + empty-cells: show; + padding: 5 ; + spacing: 0 ; + vertical-align:top; + text-align:center +} + + +th { + border: 1px solid #808080 ; + empty-cells: show; + padding: 5 ; + vertical-align:top; + text-align:center +} + +.box +{ margin-left : 5% ; + margin-right : 5% ; + border: solid ; + border-width: thin; + background-color: #F0F0F0; + padding: 2mm; + page-break-inside: avoid ; +} + +.noindent { margin-left: -5% ; margin-right: -5%; } +.moreindent { margin-left: 5% ; margin-right: 5%; } + + +/* Use this for the document title as displayed on the page at the top. */ + + +h1 { + text-align:center ; + font-size: 14pt; + line-height: 24pt ; + font-weight: bold; + color:#000; + background:#CADFF4; + padding: 0 ; + margin: 0 ; + padding-left: 1ex; + padding-right: 1ex; + text-align:center; +} + +h2 { + font-size: 12pt; + line-height: 16pt ; + font-size: 110%; + font-weight: bold; + color: #003399; + background:#CADFF4; + margin-bottom:5px; + padding-left: 1ex; + padding-right: 1ex; +} + +h3, h4, h5 { + font-size: 100%; + font-weight: bold; + margin-bottom:3px; +} + +ul { list-style-type: disc } +dt { font-weight: bold } + +/* Change background/foreground colour on hover */ + +A:link { color: rgb(0, 0, 255) } /* for unvisited links */ +A:hover { color: rgb(255, 0, 0) } /* when mouse is over link */ + +/* No extra space between paragraphs : inherits from body */ +pre { + font-family: monospace; + font-size: 10pt ; + line-height: 14pt ; + margin-top: 1 ; + margin-bottom: 1 ; + margin-left: 5ex ; + } + +/* Some general utility definitions */ +.centered { + text-align: center; +} + +.caption { + text-align: center; + font-size: smaller; +} + +code { + font-size: 10pt; +} + +.footnote { + font-size: smaller; + border-top: thin solid gray; +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/jena/blob/36855e1b/jena-fuseki/pages/fuseki.html ---------------------------------------------------------------------- diff --git a/jena-fuseki/pages/fuseki.html b/jena-fuseki/pages/fuseki.html new file mode 100644 index 0000000..0ed9e8a --- /dev/null +++ b/jena-fuseki/pages/fuseki.html @@ -0,0 +1,55 @@ +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<html> + <head> + <title>Fuseki - A SPARQL 1.1 Server</title> + <link rel="stylesheet" type="text/css" href="fuseki.css" /> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + </head> + + <body> + <h1>Fuseki</h1> + + <h2>Server Management</h2> + <p><a href="control-panel.tpl">Control Panel</a></p> + + <h2>Documentation</h2> + <p><a href="http://jena.apache.org/documentation/serving_data/index.html">Fuseki documentation</a></p> + + <h2>Validators</h2> + <ul> + <li><a href="query-validator.html">SPARQL query validator</a></li> + <li><a href="update-validator.html">SPARQL update validator</a></li> + <li><a href="data-validator.html">RDF data validator</a></li> + <li><a href="iri-validator.html">IRI validator</a></li> + </ul> + + <h2>General SPARQL Service</h2> + <ul> + <li><a href="sparql.html">SPARQL query form</a></li> + </ul> + + <h2>Standards</h2> + <ul> + <li> <a href="http://www.w3.org/TR/sparql11-query/">SPARQL 1.1 Query</a></li> + <li> <a href="http://www.w3.org/TR/sparql11-update/">SPARQL 1.1 Update</a></li> + <li> <a href="http://www.w3.org/TR/sparql11-protocol/">SPARQL 1.1 Protocol</a></li> + <li> <a href="http://www.w3.org/TR/sparql11-http-rdf-update/">SPARQL 1.1 Uniform HTTP Protocol for Managing RDF Graphs</a> + </ul> + </body> +</html> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/jena/blob/36855e1b/jena-fuseki/pages/iri-validator.html ---------------------------------------------------------------------- diff --git a/jena-fuseki/pages/iri-validator.html b/jena-fuseki/pages/iri-validator.html new file mode 100644 index 0000000..2c8f7cc --- /dev/null +++ b/jena-fuseki/pages/iri-validator.html @@ -0,0 +1,38 @@ +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<html xmlns="http://www.w3.org/1999/xhtml"> + <head><title>SPARQLer IRI Validator</title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <link rel="stylesheet" type="text/css" href="fuseki.css" /> + </head> + <body> + <h1>SPARQLer IRI Validator</h1> + + <div class="moreindent"> + + <form action="validate/iri" accept-charset="UTF-8"> + <p> + <textarea name="iri" cols="70" rows="2"></textarea> + + <input type="submit" value="Validate IRI" /> + </p> + </form> + <hr/> + </div> + </body> +</html> http://git-wip-us.apache.org/repos/asf/jena/blob/36855e1b/jena-fuseki/pages/ping.txt ---------------------------------------------------------------------- diff --git a/jena-fuseki/pages/ping.txt b/jena-fuseki/pages/ping.txt new file mode 100644 index 0000000..1323ba7 --- /dev/null +++ b/jena-fuseki/pages/ping.txt @@ -0,0 +1 @@ +Ping! http://git-wip-us.apache.org/repos/asf/jena/blob/36855e1b/jena-fuseki/pages/query-validator.html ---------------------------------------------------------------------- diff --git a/jena-fuseki/pages/query-validator.html b/jena-fuseki/pages/query-validator.html new file mode 100644 index 0000000..85b9119 --- /dev/null +++ b/jena-fuseki/pages/query-validator.html @@ -0,0 +1,71 @@ +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<html xmlns="http://www.w3.org/1999/xhtml"> + <head><title>SPARQLer Query Validator</title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <link rel="stylesheet" type="text/css" href="fuseki.css" /> + + </head> + <body> + <h1>SPARQLer Query Validator</h1> + + <div class="moreindent"> + + <form action="validate/query" method="post" accept-charset="UTF-8"> + <p> + <textarea name="query" cols="70" rows="30"> +PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> +PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> +PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> +PREFIX owl: <http://www.w3.org/2002/07/owl#> +PREFIX fn: <http://www.w3.org/2005/xpath-functions#> +PREFIX apf: <http://jena.hpl.hp.com/ARQ/property#> +PREFIX dc: <http://purl.org/dc/elements/1.1/> + +SELECT ?book ?title +WHERE + { ?book dc:title ?title }</textarea> +<br/> + Input syntax:<br/> + <input type="radio" name="languageSyntax" value="SPARQL" checked="checked"/>SPARQL + <input type="radio" name="languageSyntax" value="ARQ"/>SPARQL extended syntax + <br/> + <br/> +Output:<br/> + <input type="checkbox" name="outputFormat" value="sparql" checked="checked"/>SPARQL<br/> + <input type="checkbox" name="outputFormat" value="algebra"/>SPARQL algebra<br/> + <input type="checkbox" name="outputFormat" value="quads"/>SPARQL algebra (quads)<br/> + <input type="checkbox" name="outputFormat" value="opt"/>SPARQL algebra +(general optimizations)<br/> + <input type="checkbox" name="outputFormat" value="optquads"/>SPARQL algebra +(quads, general optimizations)<br/> + <br/> + Line numbers: + <input type="radio" name="linenumbers" value="true" checked="checked"/>Yes + <input type="radio" name="linenumbers" value="false"/>No + <br/> + + + <input type="submit" value="Validate SPARQL Query" /> + </p> + </form> + + <hr/> + </div> + </body> +</html> http://git-wip-us.apache.org/repos/asf/jena/blob/36855e1b/jena-fuseki/pages/robots.txt ---------------------------------------------------------------------- diff --git a/jena-fuseki/pages/robots.txt b/jena-fuseki/pages/robots.txt new file mode 100644 index 0000000..1f53798 --- /dev/null +++ b/jena-fuseki/pages/robots.txt @@ -0,0 +1,2 @@ +User-agent: * +Disallow: / http://git-wip-us.apache.org/repos/asf/jena/blob/36855e1b/jena-fuseki/pages/sparql.html ---------------------------------------------------------------------- diff --git a/jena-fuseki/pages/sparql.html b/jena-fuseki/pages/sparql.html new file mode 100644 index 0000000..e29b040 --- /dev/null +++ b/jena-fuseki/pages/sparql.html @@ -0,0 +1,68 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" +"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> + +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head><title>SPARQLer</title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <link rel="stylesheet" type="text/css" href="fuseki.css" /> + </head> + + <body> + <h1>SPARQLer - General purpose processor</h1> + + <div class="moreindent"> + + <form action="sparql" method="get"> + <p>General SPARQL query : input query, set any options and press "Get Results"</p> + <p> + <textarea name="query" cols="70" rows="20"></textarea> + <br/> + Target graph URI (or use <code>FROM</code> in the query) + <input name="default-graph-uri" size="25" value="" /> + <br/> + + Output: <select name="output"> + <option value="json">JSON</option> + <option value="xml">XML</option> + <option value="text">Text</option> + <option value="csv">CSV</option> + <option value="tsv">TSV</option> + </select> + <br/> + If XML output, XSLT style sheet (blank for none): + <select name="stylesheet"> + <option value=""></option> + <option value="/xml-to-html.xsl">xml-to-html</option> + <option value="/xml-to-html-links.xsl">xml-to-html-links</option> + <option value="/xml-to-html-plain.xsl">xml-to-html-plain</option> + </select> + <br/> + <input type="checkbox" name="force-accept" value="text/plain"/> + Force the accept header to <tt>text/plain</tt> regardless + <br/> + <input type="submit" value="Get Results" /> + </p> + </form> + </div> + + <hr/> + + </body> +</html> http://git-wip-us.apache.org/repos/asf/jena/blob/36855e1b/jena-fuseki/pages/sparql.tpl ---------------------------------------------------------------------- diff --git a/jena-fuseki/pages/sparql.tpl b/jena-fuseki/pages/sparql.tpl new file mode 100644 index 0000000..2cd5241 --- /dev/null +++ b/jena-fuseki/pages/sparql.tpl @@ -0,0 +1,96 @@ +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<html> + <head> + <title>Fuseki</title> + <link rel="stylesheet" type="text/css" href="fuseki.css" /> + </head> + <body> +#set( $ds = $mgt.dataset($request, "") ) +#set( $srvQuery = $mgt.serviceQuery($ds) ) +#set( $srvUpdate = $mgt.serviceUpdate($ds) ) +#set( $srvUpload= $mgt.serviceUpload($ds) ) +#set( $srvGraphR = $mgt.serviceGraphRead($ds) ) +#set( $srvGraphRW = $mgt.serviceGraphReadWrite($ds) ) + +<!-- error case ... --> +<!-- Debug +<ul> + <li>${ds}</li> + <li>$srvQuery</li> + <li>$srvUpdate</li> + <li>$srvUpload</li> + <li>$srvGraphR</li> + <li>$srvGraphRW</li> +</ul> +--> + + <h1>Fuseki Query</h1> + Dataset: ${ds} + <hr/> + + <p><b>SPARQL Query</b></p> + <div class="moreindent"> + <form action="${ds}/${srvQuery}" method="GET" accept-charset="UTF-8"> + <textarea name="query" cols="70" rows="10"></textarea> + <br/> + + Output: <select name="output"> + <option value="text">Text</option> + <option value="json">JSON</option> + <option value="xml">XML</option> + <option value="csv">CSV</option> + <option value="tsv">TSV</option> + </select> + <br/> + If XML output, add XSLT style sheet (blank for none): + <select name="stylesheet"> + <option value=""></option> + <option value="/xml-to-html.xsl">xml-to-html</option> + <option value="/xml-to-html-links.xsl">xml-to-html-links</option> + <option value="/xml-to-html-plain.xsl">xml-to-html-plain</option> + </select> + <br/> + <input type="checkbox" name="force-accept" value="text/plain"/> + Force the accept header to <tt>text/plain</tt> regardless. + <br/> + <input type="submit" value="Get Results" /> + </form> + </div> + <hr/> + + <p><b>SPARQL Update</b></p> + <div class="moreindent"> + <form action="${ds}/${srvUpdate}" method="post" accept-charset="UTF-8"> + <textarea name="update" cols="70" rows="10"></textarea> + <br/> + <input type="submit" value="Perform update" /> + </form> + </div> + <hr/> + <p><b>File upload</b></p> + <div class="moreindent"> + <form action="${ds}/${srvUpload}" enctype="multipart/form-data" method="post"> + File: <input type="file" name="UNSET FILE NAME" size="40" multiple=""><br/> + Graph: <input name="graph" size="20" value="default"/><br/> + <input type="submit" value="Upload"> + </form> + </div> + <hr/> + </body> +</html> http://git-wip-us.apache.org/repos/asf/jena/blob/36855e1b/jena-fuseki/pages/update-validator.html ---------------------------------------------------------------------- diff --git a/jena-fuseki/pages/update-validator.html b/jena-fuseki/pages/update-validator.html new file mode 100644 index 0000000..92f21bc --- /dev/null +++ b/jena-fuseki/pages/update-validator.html @@ -0,0 +1,62 @@ +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head><title>SPARQLer Update Validator</title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <link rel="stylesheet" type="text/css" href="fuseki.css" /> + + </head> + <body> + <h1>SPARQLer Update Validator</h1> + + <div class="moreindent"> + + + <form action="validate/update" method="post" accept-charset="UTF-8"> + <textarea name="update" cols="70" rows="30"> +PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> +PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> +PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> +PREFIX owl: <http://www.w3.org/2002/07/owl#> +PREFIX fn: <http://www.w3.org/2005/xpath-functions#> +PREFIX apf: <http://jena.hpl.hp.com/ARQ/property#> + +</textarea> +<br/> + Input syntax: + <input type="radio" name="languageSyntax" value="SPARQL" checked="checked"/>SPARQL + <input type="radio" name="languageSyntax" value="ARQ"/>SPARQL extended syntax + <br/> +<!-- +Output syntax: + <input type="checkbox" name="outputFormat" value="sparql" checked="checked"/>SPARQL + <input type="checkbox" name="outputFormat" value="algebra"/>SPARQL algebra + <input type="checkbox" name="outputFormat" value="quads"/>SPARQL algebra (quads) + <br/> +--> + Line numbers: + <input type="radio" name="linenumbers" value="true" checked="checked"/>Yes + <input type="radio" name="linenumbers" value="false"/>No + <br/> + + <input type="submit" value="Validate SPARQL Update" /> + </form> + + <hr/> + </div> + </body> +</html> http://git-wip-us.apache.org/repos/asf/jena/blob/36855e1b/jena-fuseki/pages/xml-to-html-links.xsl ---------------------------------------------------------------------- diff --git a/jena-fuseki/pages/xml-to-html-links.xsl b/jena-fuseki/pages/xml-to-html-links.xsl new file mode 100644 index 0000000..7b41a3d --- /dev/null +++ b/jena-fuseki/pages/xml-to-html-links.xsl @@ -0,0 +1,190 @@ +<?xml version="1.0"?> + +<!-- + +XSLT script to format SPARQL Query Results XML Format into xhtml + +Copyright é 2004, 2005 World Wide Web Consortium, (Massachusetts +Institute of Technology, European Research Consortium for +Informatics and Mathematics, Keio University). All Rights +Reserved. This work is distributed under the W3Cî Software +License [1] in the hope that it will be useful, but WITHOUT ANY +WARRANTY; without even the implied warranty of MERCHANTABILITY or +FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 + +Version 1 : Dave Beckett (DAWG) +Version 2 : Jeen Broekstra (DAWG) +Customization for SPARQler: Andy Seaborne +URIs as hrefs in results : Bob DuCharme & Andy Seaborne + +> - <xsl:for-each select="//res:head/res:variable"> +> + <xsl:for-each select="/res:sparql/res:head/res:variable"> + +--> + +<xsl:stylesheet version="1.0" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns="http://www.w3.org/1999/xhtml" + xmlns:res="http://www.w3.org/2005/sparql-results#" + xmlns:fn="http://www.w3.org/2005/xpath-functions" + exclude-result-prefixes="res xsl"> + + <!-- + <xsl:output + method="html" + media-type="text/html" + doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN" + indent="yes" + encoding="UTF-8"/> + --> + + <!-- or this? --> + + <xsl:output + method="xml" + indent="yes" + encoding="UTF-8" + doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" + doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" + omit-xml-declaration="no" /> + + <xsl:template match="res:link"> + <p>Link to <xsl:value-of select="@href"/></p> + </xsl:template> + + <xsl:template name="header"> + <div> + <h2>Header</h2> + <xsl:apply-templates select="res:head/res:link"/> + </div> + </xsl:template> + + <xsl:template name="boolean-result"> + <div> + <p>ASK => <xsl:value-of select="res:boolean"/></p> + </div> + </xsl:template> + + + <xsl:template name="vb-result"> + <div> + <table> + <xsl:text> + </xsl:text> + <tr> + <xsl:for-each select="res:head/res:variable"> + <th><xsl:value-of select="@name"/></th> + </xsl:for-each> + </tr> + <xsl:text> + </xsl:text> + <xsl:for-each select="res:results/res:result"> + <tr> + <xsl:apply-templates select="."/> + </tr> + </xsl:for-each> + </table> + </div> + </xsl:template> + + <xsl:template match="res:result"> + <xsl:variable name="current" select="."/> + <xsl:for-each select="/res:sparql/res:head/res:variable"> + <xsl:variable name="name" select="@name"/> + <td> + <xsl:choose> + <xsl:when test="$current/res:binding[@name=$name]"> + <!-- apply template for the correct value type (bnode, uri, literal) --> + <xsl:apply-templates select="$current/res:binding[@name=$name]"/> + </xsl:when> + <xsl:otherwise> + <!-- no binding available for this variable in this solution --> + </xsl:otherwise> + </xsl:choose> + </td> + </xsl:for-each> + </xsl:template> + + <xsl:template match="res:bnode"> + <xsl:text>_:</xsl:text> + <xsl:value-of select="text()"/> + </xsl:template> + + <xsl:template match="res:uri"> + <!-- Roughly: SELECT ($uri AS ?subject) ?predicate ?object { $uri ?predicate ?object } --> + <!-- XSLT 2.0 + <xsl:variable name="x"><xsl:value-of select="fn:encode-for-uri(.)"/></xsl:variable> + --> + <xsl:variable name="x"><xsl:value-of select="."/></xsl:variable> + <!-- + <xsl:variable name="query">SELECT%20%28%3C<xsl:value-of select="."/>%3E%20AS%20%3Fsubject%29%20%3Fpredicate%20%3Fobject%20%7B%3C<xsl:value-of select="."/>%3E%20%3Fpredicate%20%3Fobject%20%7D</xsl:variable> + --> + <xsl:variable name="query">SELECT%20%28%3C<xsl:value-of select="$x"/>%3E%20AS%20%3Fsubject%29%20%3Fpredicate%20%3Fobject%20%7B%3C<xsl:value-of select="$x"/>%3E%20%3Fpredicate%20%3Fobject%20%7D</xsl:variable> + <xsl:text><</xsl:text> + <a href="?query={$query}&output=xml&stylesheet=%2Fxml-to-html-links.xsl"> + <xsl:value-of select="."/> + </a> + <xsl:text>></xsl:text> + </xsl:template> + + <xsl:template match="res:literal"> + <xsl:text>"</xsl:text> + <xsl:value-of select="text()"/> + <xsl:text>"</xsl:text> + + <xsl:choose> + <xsl:when test="@datatype"> + <!-- datatyped literal value --> + ^^<<xsl:value-of select="@datatype"/>> + </xsl:when> + <xsl:when test="@xml:lang"> + <!-- lang-string --> + @<xsl:value-of select="@xml:lang"/> + </xsl:when> + </xsl:choose> + </xsl:template> + + <xsl:template match="res:sparql"> + <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> + <head> + <title>SPARQLer Query Results</title> + <style> + <![CDATA[ + h1 { font-size: 150% ; } + h2 { font-size: 125% ; } + table { border-collapse: collapse ; border: 1px solid black ; } + td, th + { border: 1px solid black ; + padding-left:0.5em; padding-right: 0.5em; + padding-top:0.2ex ; padding-bottom:0.2ex + } + ]]> + </style> + </head> + <body> + + + <h1>SPARQLer Query Results</h1> + + <xsl:if test="res:head/res:link"> + <xsl:call-template name="header"/> + </xsl:if> + + <xsl:choose> + <xsl:when test="res:boolean"> + <xsl:call-template name="boolean-result" /> + </xsl:when> + + <xsl:when test="res:results"> + <xsl:call-template name="vb-result" /> + </xsl:when> + + </xsl:choose> + + + </body> + </html> + </xsl:template> +</xsl:stylesheet> http://git-wip-us.apache.org/repos/asf/jena/blob/36855e1b/jena-fuseki/pages/xml-to-html-plain.xsl ---------------------------------------------------------------------- diff --git a/jena-fuseki/pages/xml-to-html-plain.xsl b/jena-fuseki/pages/xml-to-html-plain.xsl new file mode 100644 index 0000000..1878ab0 --- /dev/null +++ b/jena-fuseki/pages/xml-to-html-plain.xsl @@ -0,0 +1,187 @@ +<?xml version="1.0"?> + +<!-- + +XSLT script to format SPARQL Query Results XML Format into xhtml + +Copyright © 2004, 2005 World Wide Web Consortium, (Massachusetts +Institute of Technology, European Research Consortium for +Informatics and Mathematics, Keio University). All Rights +Reserved. This work is distributed under the W3C® Software +License [1] in the hope that it will be useful, but WITHOUT ANY +WARRANTY; without even the implied warranty of MERCHANTABILITY or +FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 + +Version 1 : Dave Beckett (DAWG) +Version 2 : Jeen Broekstra (DAWG) +Customization for SPARQler: Andy Seaborne +Fix: + +> - <xsl:for-each select="//res:head/res:variable"> +> + <xsl:for-each select="/res:sparql/res:head/res:variable"> + +--> + +<xsl:stylesheet version="1.0" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns="http://www.w3.org/1999/xhtml" + xmlns:res="http://www.w3.org/2005/sparql-results#" + exclude-result-prefixes="res xsl"> + + <!-- + <xsl:output + method="html" + media-type="text/html" + doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN" + indent="yes" + encoding="UTF-8"/> + --> + + <!-- or this? --> + + <xsl:output + method="xml" + indent="yes" + encoding="UTF-8" + doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" + doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" + omit-xml-declaration="no" /> + + + <xsl:template name="header"> + <div> + <h2>Header</h2> + <xsl:for-each select="res:head/res:link"> + <p>Link to <xsl:value-of select="@href"/></p> + </xsl:for-each> + </div> + </xsl:template> + + <xsl:template name="boolean-result"> + <div> + <!-- + <h2>Boolean Result</h2> + --> + <p>ASK => <xsl:value-of select="res:boolean"/></p> + </div> + </xsl:template> + + + <xsl:template name="vb-result"> + <div> + <!-- + <h2>Variable Bindings Result</h2> + <p>Ordered: <xsl:value-of select="res:results/@ordered"/></p> + <p>Distinct: <xsl:value-of select="res:results/@distinct"/></p> + --> + + <table> + <xsl:text> + </xsl:text> + <tr> + <xsl:for-each select="res:head/res:variable"> + <th><xsl:value-of select="@name"/></th> + </xsl:for-each> + </tr> + <xsl:text> + </xsl:text> + <xsl:for-each select="res:results/res:result"> + <tr> + <xsl:apply-templates select="."/> + </tr> + </xsl:for-each> + </table> + </div> + </xsl:template> + + <xsl:template match="res:result"> + <xsl:variable name="current" select="."/> + <xsl:for-each select="/res:sparql/res:head/res:variable"> + <xsl:variable name="name" select="@name"/> + <td> + <xsl:choose> + <xsl:when test="$current/res:binding[@name=$name]"> + <!-- apply template for the correct value type (bnode, uri, literal) --> + <xsl:apply-templates select="$current/res:binding[@name=$name]"/> + </xsl:when> + <xsl:otherwise> + <!-- no binding available for this variable in this solution --> + </xsl:otherwise> + </xsl:choose> + </td> + </xsl:for-each> + </xsl:template> + + <xsl:template match="res:bnode"> + <xsl:text>_:</xsl:text> + <xsl:value-of select="text()"/> + </xsl:template> + + <xsl:template match="res:uri"> + <xsl:variable name="uri" select="text()"/> + <xsl:text><</xsl:text> + <xsl:value-of select="$uri"/> + <xsl:text>></xsl:text> + </xsl:template> + + <xsl:template match="res:literal"> + <xsl:text>"</xsl:text> + <xsl:value-of select="text()"/> + <xsl:text>"</xsl:text> + + <xsl:choose> + <xsl:when test="@datatype"> + <!-- datatyped literal value --> + ^^<<xsl:value-of select="@datatype"/>> + </xsl:when> + <xsl:when test="@xml:lang"> + <!-- lang-string --> + @<xsl:value-of select="@xml:lang"/> + </xsl:when> + </xsl:choose> + </xsl:template> + + <xsl:template match="res:sparql"> + <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> + <head> + <title>SPARQLer Query Results</title> + <style> + <![CDATA[ + h1 { font-size: 150% ; } + h2 { font-size: 125% ; } + table { border-collapse: collapse ; border: 1px solid black ; } + td, th + { border: 1px solid black ; + padding-left:0.5em; padding-right: 0.5em; + padding-top:0.2ex ; padding-bottom:0.2ex + } + ]]> + </style> + </head> + <body> + + + <h1>SPARQLer Query Results</h1> + + <xsl:if test="res:head/res:link"> + <xsl:call-template name="header"/> + </xsl:if> + + <xsl:choose> + <xsl:when test="res:boolean"> + <xsl:call-template name="boolean-result" /> + </xsl:when> + + <xsl:when test="res:results"> + <xsl:call-template name="vb-result" /> + </xsl:when> + + </xsl:choose> + + + </body> + </html> + </xsl:template> +</xsl:stylesheet> http://git-wip-us.apache.org/repos/asf/jena/blob/36855e1b/jena-fuseki/pages/xml-to-html.xsl ---------------------------------------------------------------------- diff --git a/jena-fuseki/pages/xml-to-html.xsl b/jena-fuseki/pages/xml-to-html.xsl new file mode 100644 index 0000000..1878ab0 --- /dev/null +++ b/jena-fuseki/pages/xml-to-html.xsl @@ -0,0 +1,187 @@ +<?xml version="1.0"?> + +<!-- + +XSLT script to format SPARQL Query Results XML Format into xhtml + +Copyright © 2004, 2005 World Wide Web Consortium, (Massachusetts +Institute of Technology, European Research Consortium for +Informatics and Mathematics, Keio University). All Rights +Reserved. This work is distributed under the W3C® Software +License [1] in the hope that it will be useful, but WITHOUT ANY +WARRANTY; without even the implied warranty of MERCHANTABILITY or +FITNESS FOR A PARTICULAR PURPOSE. + +[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 + +Version 1 : Dave Beckett (DAWG) +Version 2 : Jeen Broekstra (DAWG) +Customization for SPARQler: Andy Seaborne +Fix: + +> - <xsl:for-each select="//res:head/res:variable"> +> + <xsl:for-each select="/res:sparql/res:head/res:variable"> + +--> + +<xsl:stylesheet version="1.0" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns="http://www.w3.org/1999/xhtml" + xmlns:res="http://www.w3.org/2005/sparql-results#" + exclude-result-prefixes="res xsl"> + + <!-- + <xsl:output + method="html" + media-type="text/html" + doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN" + indent="yes" + encoding="UTF-8"/> + --> + + <!-- or this? --> + + <xsl:output + method="xml" + indent="yes" + encoding="UTF-8" + doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" + doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" + omit-xml-declaration="no" /> + + + <xsl:template name="header"> + <div> + <h2>Header</h2> + <xsl:for-each select="res:head/res:link"> + <p>Link to <xsl:value-of select="@href"/></p> + </xsl:for-each> + </div> + </xsl:template> + + <xsl:template name="boolean-result"> + <div> + <!-- + <h2>Boolean Result</h2> + --> + <p>ASK => <xsl:value-of select="res:boolean"/></p> + </div> + </xsl:template> + + + <xsl:template name="vb-result"> + <div> + <!-- + <h2>Variable Bindings Result</h2> + <p>Ordered: <xsl:value-of select="res:results/@ordered"/></p> + <p>Distinct: <xsl:value-of select="res:results/@distinct"/></p> + --> + + <table> + <xsl:text> + </xsl:text> + <tr> + <xsl:for-each select="res:head/res:variable"> + <th><xsl:value-of select="@name"/></th> + </xsl:for-each> + </tr> + <xsl:text> + </xsl:text> + <xsl:for-each select="res:results/res:result"> + <tr> + <xsl:apply-templates select="."/> + </tr> + </xsl:for-each> + </table> + </div> + </xsl:template> + + <xsl:template match="res:result"> + <xsl:variable name="current" select="."/> + <xsl:for-each select="/res:sparql/res:head/res:variable"> + <xsl:variable name="name" select="@name"/> + <td> + <xsl:choose> + <xsl:when test="$current/res:binding[@name=$name]"> + <!-- apply template for the correct value type (bnode, uri, literal) --> + <xsl:apply-templates select="$current/res:binding[@name=$name]"/> + </xsl:when> + <xsl:otherwise> + <!-- no binding available for this variable in this solution --> + </xsl:otherwise> + </xsl:choose> + </td> + </xsl:for-each> + </xsl:template> + + <xsl:template match="res:bnode"> + <xsl:text>_:</xsl:text> + <xsl:value-of select="text()"/> + </xsl:template> + + <xsl:template match="res:uri"> + <xsl:variable name="uri" select="text()"/> + <xsl:text><</xsl:text> + <xsl:value-of select="$uri"/> + <xsl:text>></xsl:text> + </xsl:template> + + <xsl:template match="res:literal"> + <xsl:text>"</xsl:text> + <xsl:value-of select="text()"/> + <xsl:text>"</xsl:text> + + <xsl:choose> + <xsl:when test="@datatype"> + <!-- datatyped literal value --> + ^^<<xsl:value-of select="@datatype"/>> + </xsl:when> + <xsl:when test="@xml:lang"> + <!-- lang-string --> + @<xsl:value-of select="@xml:lang"/> + </xsl:when> + </xsl:choose> + </xsl:template> + + <xsl:template match="res:sparql"> + <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> + <head> + <title>SPARQLer Query Results</title> + <style> + <![CDATA[ + h1 { font-size: 150% ; } + h2 { font-size: 125% ; } + table { border-collapse: collapse ; border: 1px solid black ; } + td, th + { border: 1px solid black ; + padding-left:0.5em; padding-right: 0.5em; + padding-top:0.2ex ; padding-bottom:0.2ex + } + ]]> + </style> + </head> + <body> + + + <h1>SPARQLer Query Results</h1> + + <xsl:if test="res:head/res:link"> + <xsl:call-template name="header"/> + </xsl:if> + + <xsl:choose> + <xsl:when test="res:boolean"> + <xsl:call-template name="boolean-result" /> + </xsl:when> + + <xsl:when test="res:results"> + <xsl:call-template name="vb-result" /> + </xsl:when> + + </xsl:choose> + + + </body> + </html> + </xsl:template> +</xsl:stylesheet> http://git-wip-us.apache.org/repos/asf/jena/blob/36855e1b/jena-fuseki/pom.xml ---------------------------------------------------------------------- diff --git a/jena-fuseki/pom.xml b/jena-fuseki/pom.xml new file mode 100644 index 0000000..c8d5013 --- /dev/null +++ b/jena-fuseki/pom.xml @@ -0,0 +1,374 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + <modelVersion>4.0.0</modelVersion> + <artifactId>jena-fuseki</artifactId> + <packaging>jar</packaging> + <name>Apache Jena - Fuseki (SPARQL 1.1 Server)</name> + <version>1.1.2-SNAPSHOT</version> + <description>Fuseki is a SPARQL 1.1 Server which provides query, update and graph store protocol endpoints that can be used to expose triple store(s) over HTTP</description> + <url>http://jena.apache.org/</url> + + <parent> + <groupId>org.apache.jena</groupId> + <artifactId>jena-parent</artifactId> + <version>12-SNAPSHOT</version> + <relativePath>../jena-parent</relativePath> + </parent> + + <!-- Need if the parent is a snapshot --> + <repositories> + <repository> + <id>apache.snapshots</id> + <name>Apache Snapshot Repository</name> + <url>http://repository.apache.org/snapshots</url> + <releases> + <enabled>false</enabled> + </releases> + </repository> + </repositories> + + <organization> + <name>Apache Jena</name> + <url>http://jena.apache.org/</url> + </organization> + + <licenses> + <license> + <name>Apache 2.0 License</name> + <url>http://www.apache.org/licenses/LICENSE-2.0</url> + </license> + </licenses> + + <properties> + <this.root>${project.artifactId}-${project.version}</this.root> + <server.jar.name>${this.root}-server</server.jar.name> + + <!-- + <assembly.soh.name>${this.root}</assembly.soh.name> + --> + + <ver.jetty>8.1.14.v20131031</ver.jetty> + <ver.velocity>1.7</ver.velocity> + + <maven.build.timestamp.format>yyyy-MM-dd'T'HH:mm:ssZ</maven.build.timestamp.format> + <build.time.xsd>${maven.build.timestamp}</build.time.xsd> + + </properties> + + <dependencies> + + <dependency> + <groupId>org.apache.jena</groupId> + <artifactId>jena-arq</artifactId> + <version>2.12.2-SNAPSHOT</version> + </dependency> + + <dependency> + <groupId>org.apache.jena</groupId> + <artifactId>jena-arq</artifactId> + <version>2.12.2-SNAPSHOT</version> + <classifier>tests</classifier> + <scope>test</scope> + </dependency> + + <dependency> + <groupId>org.apache.jena</groupId> + <artifactId>jena-core</artifactId> + <version>2.12.2-SNAPSHOT</version> + </dependency> + + <dependency> + <groupId>org.apache.jena</groupId> + <artifactId>jena-tdb</artifactId> + <version>1.1.2-SNAPSHOT</version> + </dependency> + + <!-- + <dependency> + <groupId>org.apache.jena</groupId> + <artifactId>sdb</artifactId> + <version>${ver.sdb}</version> + <optional>true</optional> + </dependency> + --> + + <dependency> + <groupId>org.apache.jena</groupId> + <artifactId>jena-text</artifactId> + <version>1.1.2-SNAPSHOT</version> + <exclusions> + <!-- + Get this via commons-fileupload and also via jena-text/sol4j + Choose the commons-fileupload route + --> + <exclusion> + <groupId>commons-io</groupId> + <artifactId>commons-io</artifactId> + </exclusion> + </exclusions> + + </dependency> + + <dependency> + <groupId>org.apache.jena</groupId> + <artifactId>jena-spatial</artifactId> + <version>1.1.2-SNAPSHOT</version> + </dependency> + + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <scope>test</scope> + </dependency> + + <dependency> + <groupId>org.apache.httpcomponents</groupId> + <artifactId>httpclient</artifactId> + <exclusions> + <!-- Replace with slf4j adapter --> + <exclusion> + <groupId>commons-logging</groupId> + <artifactId>commons-logging</artifactId> + </exclusion> + </exclusions> + </dependency> + + <dependency> + <groupId>commons-fileupload</groupId> + <artifactId>commons-fileupload</artifactId> + </dependency> + + <!-- ?? Use one of the combined artifacts for Jetty --> + <!-- jetty-webapp + jetty-util --> + + <dependency> + <groupId>org.eclipse.jetty</groupId> + <artifactId>jetty-server</artifactId> + <version>${ver.jetty}</version> + </dependency> + + <dependency> + <groupId>org.eclipse.jetty</groupId> + <artifactId>jetty-servlet</artifactId> + <version>${ver.jetty}</version> + </dependency> + + <!-- used ? - -> + <dependency> + <groupId>org.eclipse.jetty</groupId> + <artifactId>jetty-webapp</artifactId> + <version>${ver.jetty}</version> + </dependency> + --> + + <dependency> + <groupId>org.eclipse.jetty</groupId> + <artifactId>jetty-servlets</artifactId> + <version>${ver.jetty}</version> + </dependency> + + <dependency> + <groupId>org.eclipse.jetty</groupId> + <artifactId>jetty-xml</artifactId> + <version>${ver.jetty}</version> + </dependency> + + <dependency> + <groupId>org.eclipse.jetty</groupId> + <artifactId>jetty-security</artifactId> + <version>${ver.jetty}</version> + </dependency> + + <dependency> + <groupId>org.eclipse.jetty</groupId> + <artifactId>jetty-util</artifactId> + <version>${ver.jetty}</version> + </dependency> + + <dependency> + <groupId>org.apache.velocity</groupId> + <artifactId>velocity</artifactId> + <version>${ver.velocity}</version> + </dependency> + + <dependency> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-api</artifactId> + </dependency> + + <dependency> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-log4j12</artifactId> + </dependency> + + <dependency> + <groupId>org.slf4j</groupId> + <artifactId>jcl-over-slf4j</artifactId> + </dependency> + + <!-- Needed because the Fuseki test suite resets logging levels --> + <dependency> + <groupId>log4j</groupId> + <artifactId>log4j</artifactId> + </dependency> + </dependencies> + + <build> + <resources> + <resource> + <filtering>false</filtering> + <directory>src/main/resources</directory> + <excludes> + <exclude>org/apache/jena/fuseki/fuseki-properties.xml</exclude> + </excludes> + </resource> + <resource> + <filtering>true</filtering> + <directory>src/main/resources</directory> + <includes> + <include>org/apache/jena/fuseki/fuseki-properties.xml</include> + </includes> + </resource> + </resources> + + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-javadoc-plugin</artifactId> + <configuration> + <version>true</version> + <show>public</show> + <quiet>true</quiet> + <encoding>UTF-8</encoding> + <windowtitle>Apache Jena Fuseki</windowtitle> + <doctitle>Apache Jena Fuseki ${project.version}</doctitle> + <bottom>Licenced under the Apache License, Version 2.0</bottom> + </configuration> + </plugin> + + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-jar-plugin</artifactId> + <executions> + <execution> + <goals> + <goal>test-jar</goal> + </goals> + </execution> + </executions> + </plugin> + + + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-surefire-plugin</artifactId> + <configuration> + <includes> + <include>**/TS_*.java</include> + </includes> + </configuration> + </plugin> + + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-shade-plugin</artifactId> + <version>2.1</version> + <configuration> + <shadedArtifactAttached>true</shadedArtifactAttached> + <shadedClassifierName>server</shadedClassifierName> + <transformers> + <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> + <mainClass>org.apache.jena.fuseki.FusekiCmd</mainClass> + </transformer> + <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer" /> + <transformer implementation="org.apache.maven.plugins.shade.resource.ApacheLicenseResourceTransformer" /> + <transformer implementation="org.apache.maven.plugins.shade.resource.ApacheNoticeResourceTransformer"> + <addHeader>false</addHeader> + </transformer> + </transformers> + <filters> + <filter> + <artifact>*:*</artifact> + <excludes> + <!-- Some jars are signed but shading breaks that. + Don't include signing files. + --> + <exclude>META-INF/*.SF</exclude> + <exclude>META-INF/*.DSA</exclude> + <exclude>META-INF/*.RSA</exclude> + </excludes> + </filter> + </filters> + </configuration> + <executions> + <execution> + <phase>package</phase> + <goals> + <goal>shade</goal> + </goals> + </execution> + </executions> + </plugin> + + <plugin> + <artifactId>maven-assembly-plugin</artifactId> + <!-- After shared jar - same phase --> + <executions> + <!-- + <execution> + <id>create-soh-assembly</id> + <phase>package</phase> + <goals><goal>single</goal></goals> + <configuration> + <finalName>${assembly.soh.name}</finalName> + <!- -<appendAssemblyId>false</appendAssemblyId> - -> + <descriptors> + <descriptor>assembly-soh.xml</descriptor> + </descriptors> + </configuration> + </execution> + --> + + <execution> + <id>create-zip-assembly</id> + <phase>package</phase> + <goals><goal>single</goal></goals> + <configuration> + <descriptors> + <descriptor>assembly-dist.xml</descriptor> + </descriptors> + </configuration> + </execution> + </executions> + </plugin> + + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-resources-plugin</artifactId> + <configuration> + <encoding>UTF-8</encoding> + </configuration> + </plugin> + + </plugins> + + </build> + +</project> http://git-wip-us.apache.org/repos/asf/jena/blob/36855e1b/jena-fuseki/run-fuseki ---------------------------------------------------------------------- diff --git a/jena-fuseki/run-fuseki b/jena-fuseki/run-fuseki new file mode 100755 index 0000000..96a73d4 --- /dev/null +++ b/jena-fuseki/run-fuseki @@ -0,0 +1,62 @@ +#!/usr/bin/env bash + +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +## Run Fuseki, include development code if it looks like it's available. +## Or --pages= + +export FUSEKI_HOME=${FUSEKI_HOME:-$HOME/Jena/jena-fuseki} +if [ ! -e $FUSEKI_HOME ] +then + echo "$FUSEKI_HOME does not exist" 1>&2 + exit 1 + fi +if [ ! -d $FUSEKI_HOME ] +then + echo "$FUSEKI_HOME exists but is not a directory" 1>&2 + exit 1 + fi + +CP="$(. $FUSEKI_HOME/run_cp)" + +if [ -e "$FUSEKI_HOME/classes" ] +then + CP="$FUSEKI_HOME/classes:$CP" +elif [ -e "$FUSEKI_HOME/target/classes" ] +then + CP="$FUSEKI_HOME/target/classes:$CP" +fi + +# Prepend any development directories here +DEVDIRS="jena-core jena-tdb jena-arq jena-text" +for X in $DEVDIRS +do + CPX="$FUSEKI_HOME/../$X/classes" + if [ -e "$CPX" ] + then + CP="$CPX:$CP" + fi +done + +FUSEKI_LOG=${FUSEKI_LOG:-} +JVM_ARGS="${JVM_ARGS:--Xmx1200M}" +#JVM_ARGS="$JVM_ARGS -XX:MaxDirectMemorySize=1G" + +# echo $CP + +exec java -cp "$CP" $JVM_ARGS $FUSEKI_LOG org.apache.jena.fuseki.FusekiCmd \ + --home="$FUSEKI_HOME" "$@" http://git-wip-us.apache.org/repos/asf/jena/blob/36855e1b/jena-fuseki/run_cp ---------------------------------------------------------------------- diff --git a/jena-fuseki/run_cp b/jena-fuseki/run_cp new file mode 100644 index 0000000..fd781f5 --- /dev/null +++ b/jena-fuseki/run_cp @@ -0,0 +1,10 @@ +#!/bin/bash + +XCP="/home/afs/.m2/repo/org/apache/jena/jena-arq/2.12.2-SNAPSHOT/jena-arq-2.12.2-SNAPSHOT.jar:/home/afs/.m2/repo/com/github/jsonld-java/jsonld-java/0.5.0/jsonld-java-0.5.0.jar:/home/afs/.m2/repo/com/fasterxml/jackson/core/jackson-core/2.3.3/jackson-core-2.3.3.jar:/home/afs/.m2/repo/com/fasterxml/jackson/core/jackson-databind/2.3.3/jackson-databind-2.3.3.jar:/home/afs/.m2/repo/com/fasterxml/jackson/core/jackson-annotations/2.3.0/jackson-annotations-2.3.0.jar:/home/afs/.m2/repo/org/apache/httpcomponents/httpclient-cache/4.2.6/httpclient-cache-4.2.6.jar:/home/afs/.m2/repo/org/apache/thrift/libthrift/0.9.1/libthrift-0.9.1.jar:/home/afs/.m2/repo/org/apache/commons/commons-lang3/3.1/commons-lang3-3.1.jar:/home/afs/.m2/repo/org/apache/commons/commons-csv/1.0/commons-csv-1.0.jar:/home/afs/.m2/repo/org/apache/jena/jena-arq/2.12.2-SNAPSHOT/jena-arq-2.12.2-SNAPSHOT-tests.jar:/home/afs/.m2/repo/org/apache/jena/jena-core/2.12.2-SNAPSHOT/jena-core-2.12.2-SNAPSHOT.jar:/home/afs/.m2/repo/org/apache /jena/jena-iri/1.1.2-SNAPSHOT/jena-iri-1.1.2-SNAPSHOT.jar:/home/afs/.m2/repo/xerces/xercesImpl/2.11.0/xercesImpl-2.11.0.jar:/home/afs/.m2/repo/xml-apis/xml-apis/1.4.01/xml-apis-1.4.01.jar:/home/afs/.m2/repo/org/apache/jena/jena-tdb/1.1.2-SNAPSHOT/jena-tdb-1.1.2-SNAPSHOT.jar:/home/afs/.m2/repo/org/apache/jena/jena-text/1.1.2-SNAPSHOT/jena-text-1.1.2-SNAPSHOT.jar:/home/afs/.m2/repo/org/apache/jena/apache-jena-libs/2.12.2-SNAPSHOT/apache-jena-libs-2.12.2-SNAPSHOT.pom:/home/afs/.m2/repo/org/apache/lucene/lucene-core/4.6.1/lucene-core-4.6.1.jar:/home/afs/.m2/repo/org/apache/lucene/lucene-analyzers-common/4.6.1/lucene-analyzers-common-4.6.1.jar:/home/afs/.m2/repo/org/apache/lucene/lucene-queryparser/4.6.1/lucene-queryparser-4.6.1.jar:/home/afs/.m2/repo/org/apache/lucene/lucene-queries/4.6.1/lucene-queries-4.6.1.jar:/home/afs/.m2/repo/org/apache/lucene/lucene-sandbox/4.6.1/lucene-sandbox-4.6.1.jar:/home/afs/.m2/repo/jakarta-regexp/jakarta-regexp/1.4/jakarta-regexp-1.4.jar:/home/afs/.m2/rep o/org/apache/solr/solr-solrj/4.6.1/solr-solrj-4.6.1.jar:/home/afs/.m2/repo/org/apache/zookeeper/zookeeper/3.4.5/zookeeper-3.4.5.jar:/home/afs/.m2/repo/org/noggit/noggit/0.5/noggit-0.5.jar:/home/afs/.m2/repo/org/apache/httpcomponents/httpmime/4.2.6/httpmime-4.2.6.jar:/home/afs/.m2/repo/org/codehaus/woodstox/wstx-asl/3.2.7/wstx-asl-3.2.7.jar:/home/afs/.m2/repo/org/apache/jena/jena-spatial/1.1.2-SNAPSHOT/jena-spatial-1.1.2-SNAPSHOT.jar:/home/afs/.m2/repo/org/apache/lucene/lucene-spatial/4.6.1/lucene-spatial-4.6.1.jar:/home/afs/.m2/repo/com/spatial4j/spatial4j/0.4/spatial4j-0.4.jar:/home/afs/.m2/repo/junit/junit/4.11/junit-4.11.jar:/home/afs/.m2/repo/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar:/home/afs/.m2/repo/org/apache/httpcomponents/httpclient/4.2.6/httpclient-4.2.6.jar:/home/afs/.m2/repo/org/apache/httpcomponents/httpcore/4.2.5/httpcore-4.2.5.jar:/home/afs/.m2/repo/commons-codec/commons-codec/1.6/commons-codec-1.6.jar:/home/afs/.m2/repo/commons-fileupload/commons-fileuplo ad/1.3.1/commons-fileupload-1.3.1.jar:/home/afs/.m2/repo/commons-io/commons-io/2.2/commons-io-2.2.jar:/home/afs/.m2/repo/org/eclipse/jetty/jetty-server/8.1.14.v20131031/jetty-server-8.1.14.v20131031.jar:/home/afs/.m2/repo/org/eclipse/jetty/orbit/javax.servlet/3.0.0.v201112011016/javax.servlet-3.0.0.v201112011016.jar:/home/afs/.m2/repo/org/eclipse/jetty/jetty-continuation/8.1.14.v20131031/jetty-continuation-8.1.14.v20131031.jar:/home/afs/.m2/repo/org/eclipse/jetty/jetty-http/8.1.14.v20131031/jetty-http-8.1.14.v20131031.jar:/home/afs/.m2/repo/org/eclipse/jetty/jetty-io/8.1.14.v20131031/jetty-io-8.1.14.v20131031.jar:/home/afs/.m2/repo/org/eclipse/jetty/jetty-servlet/8.1.14.v20131031/jetty-servlet-8.1.14.v20131031.jar:/home/afs/.m2/repo/org/eclipse/jetty/jetty-servlets/8.1.14.v20131031/jetty-servlets-8.1.14.v20131031.jar:/home/afs/.m2/repo/org/eclipse/jetty/jetty-client/8.1.14.v20131031/jetty-client-8.1.14.v20131031.jar:/home/afs/.m2/repo/org/eclipse/jetty/jetty-xml/8.1.14.v20131031/jet ty-xml-8.1.14.v20131031.jar:/home/afs/.m2/repo/org/eclipse/jetty/jetty-security/8.1.14.v20131031/jetty-security-8.1.14.v20131031.jar:/home/afs/.m2/repo/org/eclipse/jetty/jetty-util/8.1.14.v20131031/jetty-util-8.1.14.v20131031.jar:/home/afs/.m2/repo/org/apache/velocity/velocity/1.7/velocity-1.7.jar:/home/afs/.m2/repo/commons-collections/commons-collections/3.2.1/commons-collections-3.2.1.jar:/home/afs/.m2/repo/commons-lang/commons-lang/2.4/commons-lang-2.4.jar:/home/afs/.m2/repo/org/slf4j/slf4j-api/1.7.6/slf4j-api-1.7.6.jar:/home/afs/.m2/repo/org/slf4j/slf4j-log4j12/1.7.6/slf4j-log4j12-1.7.6.jar:/home/afs/.m2/repo/org/slf4j/jcl-over-slf4j/1.7.6/jcl-over-slf4j-1.7.6.jar:/home/afs/.m2/repo/log4j/log4j/1.2.17/log4j-1.2.17.jar" + +if [ "$CP" != '' ] +then + XCP="$CP:$XCP" +fi + +echo "$XCP"
