v3

latestOpenAPI 3.1.02026-08-03124249.6 KB
Matching

Query by example matcher

Match entities based on a complex set of criteria, like name, date of birth and nationality of a person. This works by submitting a batch of entities, each formatted like those returned by the API.

Tutorials:

For example, the following would be valid query examples:

"queries": {
    "entity1": {
        "schema": "Person",
        "properties": {
            "name": ["John Doe"],
            "birthDate": ["1975-04-21"],
            "nationality": ["us"]
        }
    },
    "entity2": {
        "schema": "Company",
        "properties": {
            "name": ["Brilliant Amazing Limited"],
            "jurisdiction": ["hk"],
            "registrationNumber": ["84BA99810"]
        }
    }
}

The values for entity1, entity2 can be chosen freely to correlate results on the client side when the request is returned. The responses will be given for each submitted example like this:

"responses": {
    "entity1": {
        "query": {},
        "results": [...]
    },
    "entity2": {
        "query": {},
        "results": [...]
    }
}

The precision of the results will be dependent on the amount of detail submitted with each example. The following properties are most helpful for particular types:

  • Person: name, birthDate, nationality, idNumber, address
  • Organization: name, country, registrationNumber, address
  • Company: name, jurisdiction, registrationNumber, address, incorporationDate
post/match/{dataset}

Path parameters

datasetstring required

Data source or collection name to scope the query to.

Example:default

Data source or collection name to scope the query to.

Query parameters

limitinteger
thresholdnumber
cutoffnumber
algorithmstring
include_datasetstring[]
exclude_schemastring[]
exclude_datasetstring[]
topicsstring[]
changed_sincestring nullable
exclude_entity_idsstring[]

The entity IDs supplied here do not have to be canonical. Supplying any of the referents of a merged entity will exclude that entity. This parameter may be useful for example to exclude false-positive matches that have been decided upon by a human.

The entity IDs supplied here do not have to be canonical. Supplying any of the referents of a merged entity will exclude that entity. This parameter may be useful for example to exclude false-positive matches that have been decided upon by a human.

Request body

weightsobject
configobject

Algorithm-specific configuration parameters.

queriesobject required

Example request

{
  "weights": {
    "name_literal": 0.8
  },
  "config": {
    "nm_number_mismatch": 0.4
  }
}

Response

Successful Response

responsesobject required
limitinteger required

Example response

{
  "limit": 5
}
All 12 operations