mirror of
https://github.com/balkian/hook.io-sparql.git
synced 2024-11-21 13:12:29 +00:00
Converted the dbpedia example to a generic lib
This commit is contained in:
parent
55925f7272
commit
38bd4b859f
@ -6,7 +6,7 @@ Description
|
|||||||
---------------------
|
---------------------
|
||||||
This module is part of the Web4.0 project.
|
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
|
Dependencies
|
||||||
--------------------
|
--------------------
|
||||||
|
2
index.js
Normal file
2
index.js
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
require('coffee-script')
|
||||||
|
require('./lib/hook.io-sparql')
|
39
lib/hook.io-sparql.coffee
Normal file
39
lib/hook.io-sparql.coffee
Normal file
@ -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…
Reference in New Issue
Block a user