castagna / EARQ

EARQ = ElasticSearch + ARQ (Free Text Indexing for SPARQL (via ARQ property functions) using a ElasticSearch (and Lucene))

Home Page:http://github.com/castagna/EARQ

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

EARQ = ElasticSearch + ARQ

EARQ is a combination of ARQ and ElasticSearch. It gives ARQ the ability to perform free text searches using an ElasticSearch cluster. ElasticSearch indexes are additional information for accessing the RDF graph, not storage for the graph itself.

This is experimental (and unsupported).

How to use it

This is how you build an index from a Jena Model:

ModelIndexerString indexer = new ModelIndexerString("earq_index");
indexer.indexStatements(model.listStatements());
indexer.close();

This is how you configure ARQ to use ElasticSearch:

IndexSearcher searcher = IndexSearcherFactory.create(Type.ELASTICSEARCH, "earq_index") ;
EARQ.setDefaultIndex(searcher) ;

This is an example of a SPARQL query using the sarq:search property function:

PREFIX earq: <http://openjena.org/EARQ/property#>
SELECT * WHERE {
    ?doc ?p ?lit .
    (?lit ?score ) earq:search "+text" .
}

Acknowledgement

The design and part of the code has been inspired from LARQ, see:

Todo

  • ... still broken
  • Remove LARQ reference from ModelIndexerSubject

About

EARQ = ElasticSearch + ARQ (Free Text Indexing for SPARQL (via ARQ property functions) using a ElasticSearch (and Lucene))

http://github.com/castagna/EARQ

License:Apache License 2.0


Languages

Language:Java 100.0%