This is a demo app which showcases
-
connecting JanusGraph setup to DataStax AstraDB as the backend
-
Setting up the Schema and Loading test data into JanusGraph
-
Sample queries via gremlin-console
-
The demo app uses simulates the Identity Resolution use case which is the process of matching identifiers across devices and touchpoints to a single profile which helps build a cohesive, omnichannel view of a consumer, enabling brands to deliver relevant messaging throughout the customer journey
-
The underlying data source for IDR is generally an Identity Graph (IDG) which is a profile database housing all known identifiers correlated to individuals. The IDG also stores the metadata about the identifiers
-
An IDG as below for a single user who is represented via multiple identifiers all connected to each other directly or transitively
-
Update conf directory files
-
resources/executorConf.json
- Sample values from
resources
folder are added
- Sample values from
-
resources/janusgraph-cql.properties
storage.cql.keyspace=\keyspace-name\ storage.cql.internal.file-configuration=/path/to/astra.conf
- resources/astra.conf
secure-connect-bundle = "/path/to/secure/bundle/zip/file" username = "clientId" password = "clientSecret"
-
-
Build the codebase
./gradlew shadow
-
Run the Loader
- The loader sets up graph schema and then loads the data
java -jar build/libs/astradb-janusgraph-demo-app-1.0-SNAPSHOT-all.jar <path-to-executorConf.json>
- The loader sets up graph schema and then loads the data
-
Interacting with the graph
- We have collated queries in
resources/queries.txt
for playing with the demo data loaded via gremlin-console
- We have collated queries in
Copyright 2021 DataStax Inc
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.