org.eaglei.search.provider.rdf
Class AbstractRDFProvider

java.lang.Object
  extended by org.eaglei.search.provider.rdf.AbstractRDFProvider
All Implemented Interfaces:
org.eaglei.search.provider.SearchProvider
Direct Known Subclasses:
RDFModelProvider, RepositoryHarvester, SPARQLProtocolProvider

public abstract class AbstractRDFProvider
extends java.lang.Object
implements org.eaglei.search.provider.SearchProvider

SearchProvider implementation for a repository containing RDF data. Contains logic to:

Author:
frost

Field Summary
protected  org.eaglei.model.EIOntModel eagleiOntModel
          Reference to in-memory copy of the eagle-i ontology model
protected  org.eaglei.model.EIEntity institution
          Institution against which this provider is executing.
protected  java.util.List<org.eaglei.model.EIURI> prefLabelProperties
          Cache of preferred name property URIs
 
Constructor Summary
AbstractRDFProvider(org.eaglei.model.EIOntModel eagleiOntModel, org.eaglei.model.EIEntity institution)
          Creates a new SearchProvider that executes SPARQL queries against an underlying RDF repository.
 
Method Summary
 org.eaglei.search.provider.SearchCounts count(org.eaglei.search.provider.SearchCountRequest request)
           
protected  org.eaglei.search.provider.SearchResult createSearchResultFromModel(java.lang.String uri, com.hp.hpl.jena.rdf.model.Model model)
          Creates a SearchResult from an Model holding only RDF triples associated with that subject URI
protected  org.eaglei.search.provider.SearchResultSet createSearchResultSet(java.util.List<org.eaglei.search.provider.SearchResult> results, org.eaglei.search.provider.SearchRequest request)
           
static java.lang.String createSPARQLString(org.eaglei.search.provider.SearchRequest request)
          Create a SPARQL SELECT query against the repository as an ARQ Query.
protected abstract  com.hp.hpl.jena.query.QueryExecution getQueryExecution(com.hp.hpl.jena.query.Query query)
          Gets an ARQ QueryExecution for the Query.
protected  java.util.List<org.eaglei.search.provider.SearchResult> getSearchResultsFromSPARQLResults(java.util.List<com.hp.hpl.jena.query.QuerySolution> solns, org.eaglei.search.provider.SearchRequest request)
          Converts the SPARQL ResultSet into SearchResults
 void init()
           
 org.eaglei.search.provider.SearchResultSet query(org.eaglei.search.provider.SearchRequest request)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

eagleiOntModel

protected final org.eaglei.model.EIOntModel eagleiOntModel
Reference to in-memory copy of the eagle-i ontology model


prefLabelProperties

protected java.util.List<org.eaglei.model.EIURI> prefLabelProperties
Cache of preferred name property URIs


institution

protected final org.eaglei.model.EIEntity institution
Institution against which this provider is executing. Not null

Constructor Detail

AbstractRDFProvider

public AbstractRDFProvider(org.eaglei.model.EIOntModel eagleiOntModel,
                           org.eaglei.model.EIEntity institution)
Creates a new SearchProvider that executes SPARQL queries against an underlying RDF repository.

Method Detail

init

public void init()
          throws java.io.IOException
Specified by:
init in interface org.eaglei.search.provider.SearchProvider
Throws:
java.io.IOException

query

public org.eaglei.search.provider.SearchResultSet query(org.eaglei.search.provider.SearchRequest request)
                                                 throws java.io.IOException
Specified by:
query in interface org.eaglei.search.provider.SearchProvider
Throws:
java.io.IOException

count

public org.eaglei.search.provider.SearchCounts count(org.eaglei.search.provider.SearchCountRequest request)
                                              throws java.io.IOException
Specified by:
count in interface org.eaglei.search.provider.SearchProvider
Throws:
java.io.IOException

createSPARQLString

public static java.lang.String createSPARQLString(org.eaglei.search.provider.SearchRequest request)
Create a SPARQL SELECT query against the repository as an ARQ Query.

Parameters:
request - The SearchRequest
Returns:
SPARQL Query String.

getQueryExecution

protected abstract com.hp.hpl.jena.query.QueryExecution getQueryExecution(com.hp.hpl.jena.query.Query query)
Gets an ARQ QueryExecution for the Query.

Parameters:
query - Query
Returns:
QueryExecution

getSearchResultsFromSPARQLResults

protected java.util.List<org.eaglei.search.provider.SearchResult> getSearchResultsFromSPARQLResults(java.util.List<com.hp.hpl.jena.query.QuerySolution> solns,
                                                                                                    org.eaglei.search.provider.SearchRequest request)
Converts the SPARQL ResultSet into SearchResults


createSearchResultFromModel

protected org.eaglei.search.provider.SearchResult createSearchResultFromModel(java.lang.String uri,
                                                                              com.hp.hpl.jena.rdf.model.Model model)
Creates a SearchResult from an Model holding only RDF triples associated with that subject URI

Returns:
SearchResult or null if it could not be created.

createSearchResultSet

protected org.eaglei.search.provider.SearchResultSet createSearchResultSet(java.util.List<org.eaglei.search.provider.SearchResult> results,
                                                                           org.eaglei.search.provider.SearchRequest request)


Copyright © 2009-2010 Eagle-I. All Rights Reserved.