{"id":16388652,"url":"https://github.com/phact/graph-customer-match","last_synced_at":"2025-11-13T08:00:58.951Z","repository":{"id":71205796,"uuid":"74787579","full_name":"phact/graph-customer-match","owner":"phact","description":null,"archived":false,"fork":false,"pushed_at":"2017-09-14T18:24:54.000Z","size":28,"stargazers_count":1,"open_issues_count":0,"forks_count":3,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-01-03T10:24:11.219Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/phact.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-11-25T20:54:27.000Z","updated_at":"2018-03-07T01:43:25.000Z","dependencies_parsed_at":null,"dependency_job_id":"dafda2fc-6b80-442b-8182-57b5bcc523c4","html_url":"https://github.com/phact/graph-customer-match","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phact%2Fgraph-customer-match","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phact%2Fgraph-customer-match/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phact%2Fgraph-customer-match/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phact%2Fgraph-customer-match/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/phact","download_url":"https://codeload.github.com/phact/graph-customer-match/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240199172,"owners_count":19763820,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-11T04:29:36.435Z","updated_at":"2025-11-13T08:00:53.910Z","avatar_url":"https://github.com/phact.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"### Create graph schema:\n\nIn DSE Studio execute the following schema creation (this will prevent duplicate records in the graph since we use custom ID's for `source_customer_record`s (the default graph is cma_dev):\n\n```\nschema.propertyKey(\"firstname\").Text().single().create()\nschema.propertyKey(\"address\").Text().single().create()\nschema.propertyKey(\"CODS\").Text().single().create()\nschema.propertyKey(\"gender\").Text().single().create()\nschema.propertyKey(\"phone\").Text().single().create()\nschema.propertyKey(\"confidence\").Text().single().create()\nschema.propertyKey(\"system_name\").Text().single().create()\nschema.propertyKey(\"source_id\").Text().single().create()\nschema.propertyKey(\"lastname\").Text().single().create()\nschema.propertyKey(\"ssn\").Text().single().create()\nschema.propertyKey(\"dob\").Int().single().create()\nschema.edgeLabel(\"is\").single().properties(\"confidence\").create()\nschema.vertexLabel(\"source_customer_record\").partitionKey(\"source_id\").properties(\"system_name\", \"firstname\", \"address\", \"gender\", \"phone\", \"lastname\", \"ssn\",\"dob\").create()\nschema.vertexLabel(\"global_customer_record\").properties(\"firstname\", \"address\", \"gender\", \"phone\", \"lastname\", \"ssn\",\"dob\").create()\nschema.edgeLabel(\"is\").connection(\"source_customer_record\", \"global_customer_record\").add()\n\n\n//add some indexes, search for high cardinality and partial match\nschema.vertexLabel(\"source_customer_record\").index(\"search\").search().by(\"firstname\").asString().by(\"lastname\").asString().by(\"address\").asString().by(\"ssn\").asString().by(\"dob\").add()\nschema.vertexLabel(\"global_customer_record\").index(\"search\").search().by(\"firstname\").asString().by(\"lastname\").asString().by(\"address\").asString().by(\"ssn\").asString().by(\"dob\").add()\n//secondary index for low cardinality\nschema.vertexLabel(\"source_customer_record\").index(\"by_gender\").secondary().by(\"gender\").add()\nschema.vertexLabel(\"global_customer_record\").index(\"by_gender\").secondary().by(\"gender\").add()\n```\n\n\n### Download and Run:\n\n    java -jar cma-1.0-SNAPSHOT.jar server conf/cma.yaml\n\n### Run from Source:\n\n    mvn package exec:java \"-Dexec.args=server conf/cma.yaml\"\n\n### Build and run:\n\n    mvn package\n\n    java -jar cma-1.0-SNAPSHOT.jar server conf/cma.yaml\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphact%2Fgraph-customer-match","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fphact%2Fgraph-customer-match","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphact%2Fgraph-customer-match/lists"}