# Duplicate checking

**URL:** <https://community.neo4j.com/t/duplicate-checking/61554>\
**Category:** Cypher\
**Tags:** cypher\
**Created:** [March 20, 2023, 9:29pm UTC](https://community.neo4j.com/t/duplicate-checking/61554 "2023-03-20T21:29:33Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![dibakar.paul](https://avatars.discourse-cdn.com/v4/letter/d/ee7513/32.png) [@dibakar.paul](https://community.neo4j.com/u/dibakar.paul)\
**Post date:** [March 20, 2023, 9:29pm UTC](https://community.neo4j.com/t/duplicate-checking/61554/1 "2023-03-20T21:29:33Z")

</div>

I have a dataset in Neo4j dataset . Based on some key properties I need to do DeDup check to find the duplicate records . Please help how to find duplicates . I am using Auro DB

---

<div class="post-metadata">

**Author:** ![lyonwj](https://sea1.discourse-cdn.com/flex021/user_avatar/community.neo4j.com/lyonwj/32/27358_2.png) [@lyonwj](https://community.neo4j.com/u/lyonwj)\
**Post date:** [March 21, 2023, 1:20pm UTC](https://community.neo4j.com/t/duplicate-checking/61554/2 "2023-03-21T13:20:00Z")

</div>

Can you share some more information? Is uniqueness defined based on the value of a single property (like an ID field)? Or multiple properties (like name + address, etc)? Are you wanting to do more complex identity resolution, like fuzzy name matching, etc?

What have you tried so far?

As a starting point, let's say you have nodes with the label `Person` and the property `name` and you want to find nodes with the same name:

```auto
MATCH (p:Person)
WITH p.name AS name, COUNT(p) AS num_duplicates
RETURN name, num_duplicates ORDER BY num_duplicates DESC LIMIT 100

```

---

<div class="post-metadata">

**Author:** ![dibakar.paul](https://avatars.discourse-cdn.com/v4/letter/d/ee7513/32.png) [@dibakar.paul](https://community.neo4j.com/u/dibakar.paul)\
**Post date:** [March 21, 2023, 3:45pm UTC](https://community.neo4j.com/t/duplicate-checking/61554/3 "2023-03-21T15:45:48Z")

</div>

Thank you so much @ [William Lyon]

I already tried the single attribute one . Let me tell you what exactly i am looking . I am trying to do a POC for Customer DEDUP check , it will be based on multiple attributes . example Name ( First +last) , address , DOB , SSN etc . Intention is apply the rule on set of data and find the matching .  
Please suggest.

---

<div class="post-metadata">

**Author:** ![jules.gaydonat](https://sea1.discourse-cdn.com/flex021/user_avatar/community.neo4j.com/jules.gaydonat/32/33964_2.png) [@jules.gaydonat](https://community.neo4j.com/u/jules.gaydonat)\
**Post date:** [August 10, 2026, 11:56am UTC](https://community.neo4j.com/t/duplicate-checking/61554/4 "2026-08-10T11:56:32Z")

</div>

You can use a python library that I made, you could try use it I think it would suit your needs: [GitHub - jules-gd-dev/autograft-lib: AutoGraft is a lightweight Python middleware for GraphRAG Entity Resolution. It intercepts entities before they hit Neo4j to eliminate duplicates using a 3-layer hybrid approach (Deterministic + Vector + LLM), reducing API costs by up to 100% compared to LangChain. · GitHub](https://github.com/jules-gd-dev/autograft-lib)
