1
0
mirror of https://github.com/balkian/hook.io-sparql.git synced 2024-11-21 21:22:28 +00:00

First commit

This commit is contained in:
J.Fernando Sánchez 2012-03-15 05:34:22 +01:00
commit a75a16dee0
3 changed files with 60 additions and 0 deletions

15
README.md Normal file
View File

@ -0,0 +1,15 @@
![GSI Logo](http://gsi.dit.upm.es/templates/jgsi/images/logo.png)
[Web 4.0](http://gsi.dit.upm.es)
==================================
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.
Dependencies
--------------------
coffee-script
sparql
hook.io

4
bin/index.js Normal file
View File

@ -0,0 +1,4 @@
require('coffee-script')
var Hook = require('../lib/hook.io-dbpedia').DBPediaHook
var SparHook = new Hook()
SparHook.start()

View File

@ -0,0 +1,41 @@
# 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