Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/lblod/person-reconciliation-service
Microservice reconciliating duplicate person data based on a unique person identifier.
https://github.com/lblod/person-reconciliation-service
mu-service
Last synced: 21 days ago
JSON representation
Microservice reconciliating duplicate person data based on a unique person identifier.
- Host: GitHub
- URL: https://github.com/lblod/person-reconciliation-service
- Owner: lblod
- License: mit
- Created: 2019-12-04T07:55:25.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2020-11-23T06:53:12.000Z (about 4 years ago)
- Last Synced: 2024-04-16T06:37:06.540Z (8 months ago)
- Topics: mu-service
- Language: JavaScript
- Homepage:
- Size: 20.5 KB
- Stars: 0
- Watchers: 20
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# person-reconciliation-service
Microservice reconciliating duplicate person data based on a unique person identifier.
The service ensures there is a unique person, identifier and birthdate related to one RRN
across graphs. In the end each graph contains a copy of the 'master' record. The master record
is constructed out of the duplicate data. It is as complete as possible because it combines
all properties of the several slaves.If a property has different values across slaves, the first one found is selected as value
for the master record. Note, this strategy may not be consistent across several runs on the same dataset.A reference from the slave to the master record is kept using owl:sameAs.
## Installation
Add the following snippet in your `docker-compose.yml`:
```
version: '3.4'
services:
person-reconciliation:
image: lblod/person-reconciliation-service
links:
- database:database
```## API
### POST /delta
Reconciliate the duplicates of a RRN brought by the deltas.
The service is triggered by the insertion of a triple having for preficate `http://www.w3.org/ns/adms#identifier`.
### POST /reconciliate
Reconciliate all duplicate RRNs in the database.
Optional query params:
* `dry-run` [boolean]: whether to run the execution in test mode, only calculating the master record, but not executing INSERT/DELETE queries### POST /reconciliate/:rrn
Reconciliate the duplicates of a given RRN in the database.
Optional query params:
* `dry-run` [boolean]: whether to run the execution in test mode, only calculating the master record, but not executing INSERT/DELETE queries