Connectors

The GraphDB Connectors enable the connection to an external component or service, providing full-text search and aggregation (Lucene, Solr, Elasticsearch), or querying a database using SPARQL and executing heterogeneous joins (MongoDB). They also offer the additional benefit of staying automatically up-to-date with the GraphDB repository data.

Full-text search and aggregation connectors

The Lucene, Solr, and Elasticsearch Connectors provide synchronization at entity level, where an entity is defined as having a unique identifier (URI) and a set of properties and property values. In RDF context, this corresponds to a set of triples that have the same subject. In addition to simple properties (defined by a single triple), the Connectors support property chains. A property chain is a sequence of triples where each triple’s object is the subject of the subsequent triple.

GraphDB EE comes with the following FTS connector implementations:

Features Comparison Table: FTS and Aggregation Connectors

Feature

Lucene

Solr

Elasticsearch

FTS search

Simple facets

Sorting

Snippet extraction

Limit and offset

Fixed range facets

Variable range facets

Nested facets

Aggregations

  • terms

  • histogram

  • range

  • min/max

  • sum

  • average

  • count

  • standard deviation

  • variance

  • sum of squares

Sub-aggregations

MongoDB integration

The MongoDB integration allows you to query MongoDB databases using SPARQL and to execute heterogeneous joins. A document-based database with the biggest developer/user community, MongoDB is part of the MEAN technology stack and guarantees scalability and performance well beyond the throughput supported in GraphDB. The integration between GraphDB and MongoDB is done by a plugin that sends a request to MongoDB and then transforms the result to RDF model.

Kafka connector

The Kafka GraphDB connector provides a means to synchronize changes to the RDF model to any downstream system via the Kafka framework. This enables easy processing of RDF updates in any external system and covers a variety of use cases where a reliable synchronization mechanism is needed.

Note

Despite having a similar name, the Kafka Sink connector is not a GraphDB connector.