Report Comparison

Report Not Found

Selected report could not be found or opened.

Next step: Select another report from history or regenerate the missing report.

Are you sure?

Graph Health Overview

Target Graph
neo4j
Database
Neo4j 5.26.28 community
Size
5,005 nodes · 5,870 relationships
Schema Inventory
3 labels · 4 relationship types
Labels: Account, Customer, Transaction
Relationship types: CONTROLS, OWNS, RECEIVED_BY, SENT
Capabilities
APOCUnavailableCount StoreAvailable
fraud-ring-conformance 2/2 checks run
SCORE: 100

Not Evaluated

None. All 2 selected checks were evaluated.

This report covers checks selected for this run. GraphCheck did not evaluate graph behavior outside those configured checks.

Suites: fraud-ring-conformance Tags: no tag filter

Account nodes are connected

fraud-ring-conformance::account-no-orphans
View details

Pattern: conformance

Expected: {"orphans": 0}

Measured: {"population": 2500, "violation_count": 0, "violations": 0}

Compiled Cypher

CALL {
  CALL db.labels() YIELD label
  RETURN collect(label) AS _gc_labels
}
CALL {
  CALL db.relationshipTypes() YIELD relationshipType
  RETURN collect(relationshipType) AS _gc_rel_types
}

        CALL {
          MATCH (n:`Account`)
          OPTIONAL MATCH (n)-[r]-(other)
          WITH n, count(r) AS degree
          RETURN count(n) AS population,
                 sum(CASE WHEN degree = 0 THEN 1 ELSE 0 END) AS violation_count
        }
        RETURN
all(name IN $required_labels WHERE name IN _gc_labels)
  AND all(name IN $required_relationship_types WHERE name IN _gc_rel_types) AS schema_ok,
[name IN $required_labels WHERE NOT name IN _gc_labels] AS missing_labels,
[name IN $required_relationship_types WHERE NOT name IN _gc_rel_types]
  AS missing_relationship_types
,
               population, violation_count, [] AS evidence

Account has exactly 1 OWNS relationship(s) to Customer

fraud-ring-conformance::account-owner-cardinality
View details

Pattern: conformance

Expected: {"exactly": 1}

Measured: {"population": 2500, "violation_count": 0, "violations": 0}

Compiled Cypher

CALL {
  CALL db.labels() YIELD label
  RETURN collect(label) AS _gc_labels
}
CALL {
  CALL db.relationshipTypes() YIELD relationshipType
  RETURN collect(relationshipType) AS _gc_rel_types
}

        CALL {
          MATCH (n:`Account`)
          OPTIONAL MATCH (n)<-[r:`OWNS`]-(other:`Customer`)
          WITH n, count(r) AS degree
          RETURN count(n) AS population,
                 sum(CASE WHEN degree <> $exactly THEN 1 ELSE 0 END) AS violation_count
        }
        RETURN
all(name IN $required_labels WHERE name IN _gc_labels)
  AND all(name IN $required_relationship_types WHERE name IN _gc_rel_types) AS schema_ok,
[name IN $required_labels WHERE NOT name IN _gc_labels] AS missing_labels,
[name IN $required_relationship_types WHERE NOT name IN _gc_rel_types]
  AS missing_relationship_types
,
               population, violation_count, [] AS evidence