1. ArchitectureΒΆ

xGT follows a typical client/server model.

Diagram of xGT client/server model: Python-based client on a laptop connects to a C++ server on a large-memory SMP via SSH tunnel. Illustrates data and query flow between client and server.

This allows for the flexibility of running the xGT client/server in various configurations such as using a smaller client machine with a larger server machine.

Users write scripts with the xGT Python client to communicate information to the server. This information tells the server to create, build, and query graphs. Upon receiving the information, the xGT server compiles a query and executes it, ingests some data, or performs whatever actions the script requested. This is where the heavy lifting occurs.

Queries are expressed in a Cypher based language called Trovares Query Language (TQL).

Smaller answer sets returned from queries can be brought into the client Python environment for additional analysis, easily integrating with other data science tools.