GraphSearch Configuration

This section provides a detailed guide on how to configure the GraphSearch search application.

GraphSearch is a facetted search application supporting both: unstructured document search index powered by Solr or Elasticsearch and general purpose RDF dataset powered by RDF database.

To make use of GraphSearch, you have to configure the index, dataset and facet definitions accordingly after the installation of PoolParty. The setup will be illustrated in the following chapters.

GraphSearch Property File

When GraphSearch is initialized after starting PoolParty for the first time, it will create a property file graphsearch.properties under {POOLPARTY_HOME}/config/graphsearch where {POOLPARTY_HOME} is the installation directory of PoolParty which may vary.

By default, PoolParty is installed at /opt/poolparty in Linux and C:\Users\Public\PoolParty in Windows.

The default properties are as follows:

## Remark: equal sign (=) in the value must be escaped with a leading backslash (\)
 
## project: project id | customscheme url
graphsearch.facet=1234-1234-1234-1234
## language: default language
graphsearch.language=en
## Mode: CONFLUENCE | DRUPAL | CUSTOM
graphsearch.mode=CUSTOM
 
## PoolParty URL
ppt.url=http://localhost/PoolParty
 
## Connection to remote store
## Graph URI (leave empty to use default graph)
# store.context=
## Remote store type: RDF4J | VIRTUOSO | GRAPHDB | STARDOG | MARKLOGIC | ALLEGROGRAPH
# store.type=RDF4J
## Connection URL
# store.url=http://localhost:8080/rdf4j-server/repositories/graphsearch
## Credentials
# store.username=admin
# store.password=admin
# store.authentication=BASIC

## Setting to connect Confluence
# confluence.url=http://localhost/confluence
# confluence.user=admin
# confluence.password=admin

## Setting to connect UnifiedViews
# unifiedviews.url=http://localhost/unifiedviews
# unifiedviews.user=admin
# unifiedviews.password=admin
# unifiedviews.externalId=admin

## If true the label of uri filters will be added to the search
# search.include.facet.text=false
## Enable / Disable search interface
# search.include.ui=true
## Synchronization of content based on changes in the thesaurus alias extraction model
# search.sync.enabled=false

## Display
# results.init.horizontal:0-1
# results.init.vertical:0-1

GraphSearch on Solr / Elasticsearch

By default, GraphSearch is configured to connect to a PoolParty project, where thesaurus data is used as configuration of search facets, and search indexes are managed by the index server configured for PoolParty, which can be either Solr or Elasticsearch. In such case nothing needs to be configured in the property file, since one can specify all configuration options at the admin panel in the GraphSearch Web UI.

GraphSearch on RDF Dataset

In the case that the search index is an RDF dataset stored in a remote RDF database, the connection properties to the database must be specified after uncommenting Line 15, 17, 19, 21, 22 of the property file. GraphSearch supports all the mainstream opensource and commercial RDF databases, including RDF4J, Virtuoso, GraphDB, Stardog, MarkLogic and Allegrograph. The format of connection URL will vary according to the database type, for example:

# Virtuoso
store.type=VIRTUOSO
store.url=jdbc:virtuoso://localhost:1111/charset\=UTF-8/log_enable\=0
 
# Stardog
store.type=STARDOG
store.url=http://localhost:5820/graphsearch
 
# Allegrograph
store.type=RDF4J
store.url=http://localhost:10035/repositories/graphsearch
 
# GraphDB
store.type=GRAPHDB
store.url=http://localhost:7200/repositories/graphsearch

When the RDF dataset is stored in a named graph, the graph URI must be specified. Otherwise GraphSearch will query the default graph. The credentials for a user which has read permission on the configured repository and graph must be specified.

Last but not the least, Line 11 must be commented out if GraphSearch should connect to the remote RDF database. Then facet configurations and other configuration options can be specified at the admin panel in the GraphSearch Web UI, which will be explained in detail in GraphSearch on RDF Dataset.

Note

Please note that PoolParty (or GraphSearch Web application only) must be restarted after updating any property in the property file.