0.2.2 • Published 10 years ago
vsbl2sparql v0.2.2
vsbl2sparql
This package allows to parse JSONs created by the Visual SPARQL Builder and translate them to SPARQL. It is available as angular module via bower and as node module/standalone via npm.
Example
{
"CONFIG": "DBPEDIA_CONFIG",
"START": {
"type": "LIST_ALL",
"linkTo": "person"
},
"SUBJECTS": [
{
"uri": "http://dbpedia.org/ontology/Person",
"view": true,
"alias": "person",
"properties": []
}
]
}
translates to
Select Distinct ?person {?person <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://dbpedia.org/ontology/Person>}
standalone usage
npm install -g vsbl2sparql
cat example.json | vsbl2sparql # Read from stdin, write to stdout
cat example.json | vsbl2sparql -o example.sparql # Read from stdin, write to example.sparql
vsbl2sparql example.json # Read from file, write to stdout
vsbl2sparql example.json -o example.sparql # Read from file, write to example.sparql
#Alternative reading from file:
vsbl2sparql < example.json > example.sparql
npm usage
npm install vsbl2sparql
var vsbl2sparql = require('vsbl2sparql');
var json = JSON.parse('{"CONFIG":"foo","START":{"type":"LIST_ALL","linkTo":"person"},"SUBJECTS":[{"uri":"http://dbpedia.org/ontology/Person","view":true,"alias":"person","properties":[]}]}');
console.log(
vsbl2sparql.translateJSONToSPARQL(json).toString()
);
angular usage
bower install vsbl2sparql
<html ng-app="app">
<head>
<style>textarea {width: 450px;height:200px}</style>
</head>
<body ng-controller="appController">
<textarea ng-model="json"></textarea>
<textarea ng-model="sparql" disabled></textarea>
<script src="bower_components/bluebird/js/browser/bluebird.js"></script>
<script src="bower_components/jassa/jassa.js"></script>
<script src="bower_components/angular/angular.js"></script>
<script src="bower_components/vsbl2sparql/vsbl2sparql-angular.js"></script>
<script>
angular.module('app',['VSBL2SPARQL'])
.controller('appController',function($scope, VSBL2SPARQL){
$scope.json = '{"CONFIG":"foo","START":{"type":"LIST_ALL","linkTo":"person"},"SUBJECTS":[{"uri":"http://dbpedia.org/ontology/Person","view":true,"alias":"person","properties":[]}]}'
$scope.sparql = VSBL2SPARQL.translateJSONToSPARQL($scope.json).toString()
$scope.$watch($scope.json,function(json){
$scope.sparql = VSBL2SPARQL.translateJSONToSPARQL(json).toString()
});
})
</script>
</body>
</html>