diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1377554 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +*.swp diff --git a/README.md b/README.md index ecf03b8..b98cfb9 100644 --- a/README.md +++ b/README.md @@ -6,12 +6,10 @@ Description --------------------- This module is part of the Web4.0 project. -So far, it performs basic queries to dbpedia, but the same code could be use to query any other sparql endpoint. +So far, it performs basic queries to dbpedia, using the SPARQL Hook. Dependencies -------------------- To run this project, you will need to install the following dependencies through npm: -- coffee-script -- sparql -- hook.io +- hook.io-sparql diff --git a/bin/index.js b/bin/index.js deleted file mode 100644 index 0f4d4bb..0000000 --- a/bin/index.js +++ /dev/null @@ -1,4 +0,0 @@ -require('coffee-script') -var Hook = require('../lib/hook.io-dbpedia').DBPediaHook -var SparHook = new Hook() -SparHook.start() diff --git a/hook.io-dbpedia.coffee b/hook.io-dbpedia.coffee new file mode 100644 index 0000000..94a2fb0 --- /dev/null +++ b/hook.io-dbpedia.coffee @@ -0,0 +1,21 @@ +# Imports +Hook = require('hook.io-sparql').SPARQLHook + + +hook = new Hook({ 'url': 'http://dbpedia.org/sparql'}) + +hook.addPreffix 'dbprop','http://dbpedia.org/property/' +hook.addPreffix 'dbpedia','http://dbpedia.org/resource/' +hook.addPreffix 'rdf','http://www.w3.org/1999/02/22-rdf-syntax-ns#' +hook.addPreffix 'dbpedia-owl' , 'http://dbpedia.org/ontology/' + + +hook.on 'hook::ready', -> + hook.on '*::query', (data,fn) -> + hook.query data , (res) -> + console.log res + fn res + console.log "Created" + + +hook.start() diff --git a/index.js b/index.js new file mode 100644 index 0000000..954a525 --- /dev/null +++ b/index.js @@ -0,0 +1,2 @@ +require('coffee-script') +require('./hook.io-dbpedia') diff --git a/lib/hook.io-dbpedia.coffee b/lib/hook.io-dbpedia.coffee deleted file mode 100644 index ae07f90..0000000 --- a/lib/hook.io-dbpedia.coffee +++ /dev/null @@ -1,41 +0,0 @@ -# Imports -sparql = require 'sparql' -Hook = require('hook.io').Hook - -examplequery = " - SELECT DISTINCT ?label ?abstract ?population - WHERE { ?place rdf:type dbpedia-owl:PopulatedPlace. - ?place foaf:name ?label. - ?place dbpprop:population ?population. - OPTIONAL{ - ?place dbpedia-owl:abstract ?abstract. - FILTER langMatches( lang(?abstract), 'en') - } - } LIMIT 10" - - -class DBPediaHook extends Hook - constructor: (options) -> - self = this - Hook.call(self, options) - @client = new sparql.Client 'http://dbpedia.org/sparql' - #Set some initial namespaces - @client.prefix_map.dbprop = 'http://dbpedia.org/property/' - @client.prefix_map.dbpedia = 'http://dbpedia.org/resource/' - @client.prefix_map.rdf = 'http://www.w3.org/1999/02/22-rdf-syntax-ns#' - @client.prefix_map.dbpedia-owl = 'http://dbpedia.org/ontology/' - - self.on 'hook::ready', -> - self.on '*::query', (data,fn) -> - @queryDBPedia data , (res) -> - console.log res - fn res - console.log "Created" - - - queryDBPedia: (query, cb) -> - console.log ">>Going to query" - @client.rows query, (err, res) -> - cb res - -exports.DBPediaHook = DBPediaHook