Connecting to external components and services

The GraphDB Connectors enable connections with external components and services. These let you use the features of those components and services with the data stored in your GraphDB repositories, providing new possibilities for what your applications can do with that data. Connectors offer the additional benefit of staying automatically up to date with the GraphDB repository data.

Full-text search tools perform single or multiple word linguistic searches against a unit of searching called a “document”. In the context of GraphDB, a “document” is defined as an entity with a unique identifier (URI) and a set of property names and values. In an RDF context, this corresponds to a set of triples that have the same subject — typically, an instance of some type. Documentation for these text search tools describe how they index and search these “documents”.

When you use a full-text search connector with GraphDB, you can embed queries from that tool in a SPARQL query. These queries can take advantage of that tool’s own specialized text search and aggregation operators to perform very fast searches for patterns that standard SPARQL cannot find. The connected tool makes this possible by creating an index that it keeps updated as the data in the GraphDB repository evolves.

The Connectors also support property chains — sequences of triples where each triple’s object is the subject of the subsequent triple, which enables easier navigation through a knowledge graph to retrieve data values. Property chains are specified on the dialog box that you use to configure a new connector. A property chain is useful, for example, if you want to synchronize a department head name field in the external system with a chain of RDF triples leading from a department URI to a department manager URI to the manager’s name property.

Full-text search and aggregation connectors

GraphDB comes with the following full-text search (FTS) connector implementations:

Features Comparison Table: FTS and Aggregation Connectors

Feature

Lucene

Solr

Elasticsearch

OpenSearch

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

❌

❌

✅

✅

ChatGPT Retrieval connector

The ChatGPT Retrieval GraphDB Connector lets you convert an RDF model to a text representation and synchronize it to the ChatGPT Retrieval Plugin, which converts the text document to embedded vectors and index it into its configured vector database. This is an experimental feature that is mostly meant to be used together with the Talk to Your Graph feature but can also be used independently to query the vector database.

MongoDB integration

The MongoDB integration lets you use SPARQL to query MongoDB databases with heterogeneous joins of that data to RDF data. A document-based database with a huge community of developers and users, 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 an RDF model.

Kafka connector

Note

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

The Kafka GraphDB Connector lets you synchronize changes in 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 you need a reliable synchronization mechanism.

Using the Kafka connector requires a GraphDB Enterprise license.