Converted the dbpedia example to a generic lib

master
J.Fernando Sánchez 12 years ago
parent 55925f7272
commit 38bd4b859f

@ -6,7 +6,7 @@ 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.
You can use it to query any sparql endpoint. So far, dbpedia and sindice.com have been tested.
Dependencies
--------------------

@ -0,0 +1,2 @@
require('coffee-script')
require('./lib/hook.io-sparql')

@ -0,0 +1,39 @@
# 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 SPARQLHook extends Hook
constructor: (options) ->
self = this
Hook.call(self, options)
@client = new sparql.Client options.url
self.on 'hook::ready', ->
self.on '*::query', (data,fn) ->
@queryDBPedia data , (res) ->
console.log res
fn res
console.log "Created"
query: (query, cb) ->
console.log ">>Going to query"
@client.rows query, (err, res) ->
cb res
addPreffix: (key,url) ->
@client.prefix_map[key] = url
exports.SPARQLHook = SPARQLHook
Loading…
Cancel
Save