|
From: <tob...@us...> - 2014-03-11 05:23:20
|
Revision: 7923
http://sourceforge.net/p/bigdata/code/7923
Author: tobycraig
Date: 2014-03-11 05:23:16 +0000 (Tue, 11 Mar 2014)
Log Message:
-----------
#829 - Added JSON export
Modified Paths:
--------------
branches/RDR/bigdata-war/src/html/js/workbench.js
Modified: branches/RDR/bigdata-war/src/html/js/workbench.js
===================================================================
--- branches/RDR/bigdata-war/src/html/js/workbench.js 2014-03-11 05:20:26 UTC (rev 7922)
+++ branches/RDR/bigdata-war/src/html/js/workbench.js 2014-03-11 05:23:16 UTC (rev 7923)
@@ -45,7 +45,7 @@
/* Namespaces */
function getNamespaces() {
- $.get('/namespace', function(data) {
+ $.get('/bigdata/namespace', function(data) {
$('#namespaces-list').empty();
var rdf = 'http://www.w3.org/1999/02/22-rdf-syntax-ns#';
var namespaces = namespaces = data.getElementsByTagNameNS(rdf, 'Description')
@@ -109,7 +109,7 @@
$('#namespace-create').submit(createNamespace);
function getDefaultNamespace() {
- $.get('/sparql', function(data) {
+ $.get('/bigdata/sparql', function(data) {
// Chrome does not work with rdf\:Description, so look for Description too
var defaultDataset = $(data).find('rdf\\:Description[rdf\\:nodeID=defaultDataset], Description[rdf\\:nodeID=defaultDataset]');
DEFAULT_NAMESPACE = defaultDataset.find('title')[0].textContent;
@@ -393,6 +393,7 @@
});
$('#query-export-csv').click(exportCSV);
+$('#query-export-json').click(exportJSON);
$('#query-export-xml').click(exportXML);
function exportXML() {
@@ -430,6 +431,44 @@
downloadFile(xml, 'application/sparql-results+xml', 'export.xml');
}
+function exportJSON() {
+ var json = {}
+ if($('#query-response table').hasClass('boolean')) {
+ json.head = {};
+ json['boolean'] = $('#query-response td').text();
+ } else {
+ json.head = {vars: []};
+ $('#query-response thead tr td').each(function(i, td) {
+ json.head.vars.push(td.textContent);
+ });
+ json.bindings = [];
+ $('#query-response tbody tr').each(function(i, tr) {
+ var binding = {};
+ $(tr).find('td').each(function(j, td) {
+ var bindingFields = {}
+ var bindingType = td.className;
+ if(bindingType == 'unbound') {
+ return;
+ }
+ bindingFields.type = bindingType;
+ var dataType = $(td).data('datatype');
+ if(dataType) {
+ bindingFields.type = dataType;
+ }
+ var lang = $(td).data('lang');
+ if(lang) {
+ bindingFields.lang = lang;
+ }
+ bindingFields.value = td.textContent;
+ binding[json.head.vars[j]] = bindingFields;
+ });
+ json.bindings.push(binding);
+ });
+ }
+ json = JSON.stringify(json);
+ downloadFile(json, 'application/sparql-results+json', 'export.json');
+}
+
function exportCSV() {
// FIXME: escape commas
var csv = '';
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|