SPARQL support is an SPARQL client / SPARQL query editor works on web browser.
Auto-Completion : "Ctrl+Space" or "Tab", Submit : "Ctrl+Enter"

Set endpoint

## endpoint http://example.org/                                                   * 1st line only

Or sparql-doc format (refer to the following 'Beta' section)

Auto-Completion

Complement indents, variable names and prefixes with the "Ctrl+Space" or "Tab" key.

e.g.)	
?h|             -->   ?hoge|
r|              -->   rdf:|                                                       * lower case
F|              -->   FILTER (|)                                                  * upper case
PREFIX obo:|    -->   PREFIX obo: <http://purl.obolibrary.org/obo/>|              * 1
<id>|           -->   <http://identifiers.org/>|                                  * 2

*1 Prefix URIs will be taken from prefix.cc.
*2 Private abridgement of URIs. Default has only this example. User is able to add in the comment line.(format : # id:<http://identifiers.org/>)

Copy code and prefixes in other query.

e.g.) copy the 2nd query prefixes
PREFIX #2|    -->   PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>     * 3
                    PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
                    PREFIX dct: <http://purl.org/dc/terms/>
		    |
e.g.) copy the 1st query
COPY #1|      -->   omit

*3 run in the 1st line of textarea.

Other completion

##|  ->   ## endpoint http://example.org/endpoint|                                 * 1st line only (recently used endpoints)
Def|  ->   DEFINE sql:select-option "order"|                                       * (for Virtuoso)

Tabbed Interface

Available multiple queries management by the '+' and the '-' button in the upper right corner. Queries are retained when the browser is restarted.
"Ctrl+Shift" : move to neighbor tab ("Ctrl+Alt+Shift", "Ctrl+[1-9]")
"Ctrl+[+/-]" : add/remove tab(w/o Shift)

innerMode

Change the mode to click the 'i' button in the upper right corner.
Output results in new element in the current window.
Complement variable names start with '$'.(by the tab key)

e.g.)
$p|             -->   rdf:type
                -->   rdfs:subClassOf
                -->   piero:inRpairInSideA
                -->   piero:inRpairInSideB

Command

Submit with "Ctrl+Enter"

- SPANG like shortcut.

e.g.) 
# spang -S tax:9606 -L 100;|    -->   # spang -S tax:9606 -L 100;                 *4, 5
                                      SELECT *
                                      WHERE {
				        tax:9606 ?p ?o .
				      }
		                      LIMIT 100|

*4 supported options: -S (subject), -P (predicate), -O (object), -L (limit), -N (count), -G (graph list), -F (from a graph)
*5 rewrite under the command line.

- Font

# font-size: 20px;
# font-family: Courier;

- Clear all queries

# clear_sparql_queries;                                 * 1st line only

- Proxy SSL mixed content (permanent)

# mixed-content-proxy: true;                            * true (default), false

Access to endpoints which are not https via 'sparql-support.dbcls.jp' server from SPARQL support on https.

Beta

Multi-line comments for debug
- skip through from '=begin' to '=end' (available '=b' and '=e', support in the innerMode only)

=begin
     multi
     line
     comments
=end
   
=b multi-line
   comments =e

sparql-doc format

# @title example
# @endpoint http://dbpedia.org/sparql
# @param city=Tokyo
# @param hoge=fuga

PREFIX dbpedia: <http://dbpedia.org/resource/>
PREFIX dbo: <http://dbpedia.org/ontology/>
SELECT *
WHERE {
  dbpedia:{{city}} ?p ?o .
}

Proxy SSL mixed content and CORS blocking (temporary)
- via 'sparql-support.dbcls.jp'. sparql-doc format in comment.

# @temp-proxy true

Predicate search
- show predicates and sample of objects: "?subject ??" (reverse search: "?subject ^??", support in the innerMode only)

## endpoint http://dbpedia.org/sparql
PREFIX dbpedia: <http://dbpedia.org/resource/>
PREFIX dbo: <http://dbpedia.org/ontology/>
SELECT *
WHERE {
  dbpedia:Tokyo dbo:isPartOf ?parent .
  ?parent ??
}

----- results bindings -----
??	        sample
dbo:utcOffset	"+9"
owl:sameAs	http://rdf.freebase.com/ns/m.0g3bw
dbo:timeZone	dbpedia:Japan_Standard_Time
dbo:length	1.3e+06
rdfs:label	"Honshu"
dbo:country	dbpedia:Japan
...

How to Use

Online

Abailable in SPARQL support.

UserScript

Available in the textarea of any site such as virtuoso web interface, by using UserScript manager.

sparqlSupport.user.js
Set target URLs in "// @include" line
(or DL modified js)

require: userscript manager (web browser extension)

Embed

Available in user own site by embedding code.

require: CodeMirror

	root
	+---codemirror/
	|   +---lib/
 	|       +---codemirror.js
	|       +---codemirror.css
	|
	+---sparql-suppor.js
	+---sparql.js # colors mod. & fixed indent
	
	base.css
      

e.g.

<html>
  <head>
    <script type="text/javascript" src="./js/codemirror/lib/codemirror.js"></script>
    <script type="text/javascript" src="./js/codemirror/addon/edit/matchbrackets.js"></script>
    <script type="text/javascript" src="./js/codemirror/addon/edit/closebrackets.js"></script>
    <link rel="stylesheet" type="text/css" href="./js/codemirror/lib/codemirror.css">
    <script type="text/javascript" src="./js/sparql-support.js"></script>
    <script type="text/javascript" src="./js/sparql.js"></script>
    <link rel="stylesheet" type="text/css" href="./css/base.css">
  </head>
  <body>
    <div>
      <form action="http://endpoint" method="get">
	<textarea id="query" cols="100" rows="15">
      </textarea>
      <input type="submit" value="Run Query" id="submit_button">
      </form>
    </div>
   <script type="text/javascript">
    var id = "query";
    var editor = CodeMirror.fromTextArea(document.getElementsByName(id), {
       mode: "application/sparql-query",
       matchBrackets: true,
       autoCloseBrackets: true,
       lineNumbers: true,
       sparqlSupportAutoComp: true,      // Auto completion
       sparqlSupportQueries: true,       // Tabbed interface
       sparqlSupportInnerMode: true,     // Inner mode
       extraKeys: {"Tab": function(instance) { return false; },
                   "Ctrl-Space": function(instance) { return false; }}
     });
   </script>
  </body>
</html>
      

SPARQList support is a markdown editor for SPARQList. (SPARQList is a REST API server which executes a SPARQL query, transform the result into formatted data.)
SPARQList support provides the execution environment of SPARQL and JavaScript in a step-by-step.


Drop-down list of SPARQLet contents being edited.
    • new SPARQLet
Create a new SPARQLet content.
    • remove SPARQLet
Remove showing SPARQLet content.
    • read markdown
Read a SPARQLet markdown format used in SPARQList server. (Available SPARQLet URL (req. CORS headers in the SPARQList server))
    • add step
Add a step (such as Parameters, SPARQL, JavaScript) to the SPARQLet.
Drop-down list of the environment modes of the step. (Handlebars: output only)
Rename a sparqlet step
    • copy markdown
Copy the markdown of the showing SPARQLet to the clipboard.

Recommended browsers: Google Chrome (v67+), Firefox (v61+), Safari (v11+), Microsoft Edge(v42+)

Endpoint browser is a web service to search RDF data in the endpoint using visualised network graph. User can select nodes and execute SPARQL queries from the GUI.

Start browsing

endpoint: URL of the target endpoint
entry: URI of start node (or literal)

Mode

browsing: browse RDF data in the endpoint by click nodes
subgraph to SPARQL: construct SPARQL query from the network graph
remove node: remove graph nodes

Node

Version

SPARQL support

SPARQList support

Endpoint browser