Connection Analysis

Connection analysis

September 15, 2026 Published

DiscoveredEntityObject

Connection Analysis Todos -- Future

### Shared relatives / associates

• Fix the target address mismatch: ES maps addresses, while the model/search uses address;
reconcile indexing and existing data.

• Complete associate-phone support. EntityRelation currently has no phone field—we need
stored phones or resolution through linked Entity profiles.

• Add the relevant Mongo policy mappings.

• Ensure findings identify the actual source and target associates, rather than implying
the subjects themselves matched.

Test name/address/phone matches and unrelated associates.

### Shared public records

• Extract research-profile records from DiscoveryEntityObject.publicRecords.

• Retrieve matching stored PublicRecords and resolve their entityId into accessible Entity
candidates.

• Load those candidates’ records for matching.

• Define same-case matching: case number with court/jurisdiction, or an authoritative case
identifier. Same court/date alone must remain weaker evidence.

Important Point

(Data Details)

  • EntityObject

    • Entity ( type --> Person | Business | Group | Location) -- ( category --> interest (threat) , secon_int , entity(profile) {could be threat} )
      • name / dob / address / ssn / driving-- PII
      • other fields
        • Person : --> education , job , familyMembers , professionalLicense , vehicleDetails , maritalStatus, employee , appearance.....
    • ConnectionDetails -- not gonna use now
    • RelationshipDetails
  • Relationships

  • discoveredSignals --> Not included

  • publicRecords

  • voterRegistrations

  • propertyDetails

  • aircraftDetails

  • utilityConnections

  • pilotLicenses

  • tradeMarks

  • watchLists

  • watchListRecords

  • vessels

  • transactionDetails (socialnet payments api)

  • images

  • dobs
    —------------

    RuntimeInfo/ Metadata

  • detailsPointer (unique representation of the search)

  • childResponses (not that imp)

  • description (whatever that is)

  • Status

  • sources (list of sources to reverse map)

  • completeData (no more searches left the profile has complete information)

  • researchRelevancyDetails

  • confidence (provider led confidence)


Questions

What type of questions can be asked based on per attribute level ?

  1. Shared Address

    Temporal overlap at the same address (identify when two subjects resided at the same address during overlapping time periods, 
    where date information is available)
  2. Shared work history

    Temporal overlap at the same employer (identify when two subjects worked for the same employer during overlapping periods of employment, 
    where employment dates are available)
  3. Shared public records

    SAME_CASE : match stored public-record signals using a composite case identity

    MENTIONED_AS_CASE_PARTY : extract a party from the research record and resolve it against entities

    1. Entities involved in the same civil or criminal case (e.g., plaintiff/defendant, co-defendants, attorney
    2. Same court or jurisdiction, case date, or case number
  1. Shared relative / associate

    Entities with relatives or associates that match by name, address, or phone number
  2. Shared personally identifiable information (PII)

    Same name (including aliases), date of birth, or Social Security Number (SSN) may indicate a duplicate or previously identified entity

Connection analysis proposed plan

Component Responsibility
1. Extraction Understand the input and produce connection points with their context: ownership, source, grouping, dates, precision, etc.
2. Connection policy Define which facts can be compared against which candidate facts, and which conditions constitute a connection. Separate from ranking.
3. Candidate access / adapters Describe what each candidate resource supports searching, translate retrieval requests into storage-specific queries, and retrieve candidate data for comparison.
4. Analysis planner / executor Coordinate the run: turn facts and connection policies into retrieval/comparison work, batch and execute it, traverse results, and track completion or failures.
5. Matching and evidence assembly Evaluate the connection conditions against source and candidate facts. Produce findings that retain exactly what matched and its context.
6. Ranking Combine findings for each candidate and order candidates according to ranking policy, preserving the supporting evidence.

Connection Analysis fwk job

  • Connection points + context — what we know.
  • Connection policy — what comparisons establish connections.
  • Candidate adapters + search scope — where/how to find candidates.
  • Ranking policy — how to score/order results.
It handles planning → retrieval → matching → evidence assembly → ranking

Relevance

So there are different questions:

  • Connection strength: how specific, direct, and well-supported is the evidence?
  • Investigative relevance: how useful is that evidence for the analyst’s question?
  • Additional information: does this candidate reveal something different, or repeat what 30 other matches already show?

Broader problem statement

Help an analyst understand how Jane connects to information already held within Ontic: discover supported connections, explain their meaning and limitations, and surface the leads most useful to the investigation—including unexpected ones.

Ques.....

  1. Extraction points or connection points depends on source (Research profile) or the candidate on which it is going to be searched (asset -- entity / signal )
    • Before extraction, the planner determines which facts are needed for the requested comparisons against the selected candidates. It then requests those facts from the extractor.
    • Against Entities, the enabled comparisons require residences, employers, and employment periods.
    • Against Signals, the enabled comparisons require case identifiers and involved parties
    • The same research profile therefore produces different selected facts for these runs. But the extractor doesn’t contain branches like if candidate == ENTITY. It receives a request describing the facts and contexts needed.

Senzing : Entity Resolution in realtime (BigData)

Entity-Resolution by Senzing

Screenshot 2026-10-13 at 2.44.01 pm

This part is crazy :

  • What happens now ???

Screenshot 2026-10-13 at 2.52.04 pm

  • As we learn more about E1 entity we see after seeing record 8 that E1 and E6 are the same as they share same work email address --> bsmith@work.com , This is self correcting or re-resolve

Screenshot 2026-10-13 at 2.52.50 pm

What now??

Screenshot 2026-10-13 at 2.55.25 pm image image

What happens if you delete Record-8

image

image