Core Relationship Patterns
Corporate & Ownership
SOCIO_DE - Partnership
SOCIO_DE - Partnership
(Partner|Person)-[:SOCIO_DE]->(Company)Represents ownership or partnership in a company.Properties:qualificacao(string): Partner role (Administrador, Sócio, etc.)percentual_capital(float): Ownership percentage (0-100)data_entrada(date): Date became partner
- Find all companies owned by a person
- Detect hidden ownership through family members
- Calculate ultimate beneficial owners
SOCIO_DE_SNAPSHOT - Historical Partnership
SOCIO_DE_SNAPSHOT - Historical Partnership
(Partner|Person)-[:SOCIO_DE_SNAPSHOT]->(Company)Time-stamped ownership records for temporal analysis.Properties:snapshot_date(date): Date of ownership recordmembership_id(string): Unique ID for this ownership instancequalificacao(string): Role at that timepercentual_capital(float): Ownership percentage
membership_id, snapshot_dateExample Cypher:HOLDING - Corporate Structure
HOLDING - Corporate Structure
(Company)-[:HOLDING]->(Company)Parent-subsidiary relationships.Properties:holding_id(string): Unique holding relationship IDrelationship_type(string): Nature of controlownership_percentage(float): Equity stake
Contracts & Procurement
VENCEU - Contract Winner
VENCEU - Contract Winner
(Company)-[:VENCEU]->(Contract)Company won a public contract.Properties: Usually none (contract details in Contract node)Example Use Cases:- Calculate total contracts by company
- Detect contract concentration patterns
- Track sanctioned companies still receiving contracts
MUNICIPAL_VENCEU - Municipal Contract Winner
MUNICIPAL_VENCEU - Municipal Contract Winner
(Company)-[:MUNICIPAL_VENCEU]->(MunicipalContract)Company won a municipal-level contract.REFERENTE_A - Contract-Bid Link
REFERENTE_A - Contract-Bid Link
(Contract)-[:REFERENTE_A]->(Bid)Links a contract to its originating bid process.FORNECEU - Supplier Relationship
FORNECEU - Supplier Relationship
(Company)-[:FORNECEU]->(Expense|GovCardExpense)Company supplied goods/services for an expense.MUNICIPAL_LICITOU - Municipal Bidder
MUNICIPAL_LICITOU - Municipal Bidder
(Company)-[:MUNICIPAL_LICITOU]->(MunicipalBid)Company participated in a municipal bid.Political Relationships
CANDIDATO_EM - Electoral Candidacy
CANDIDATO_EM - Electoral Candidacy
(Person)-[:CANDIDATO_EM]->(Election)Person was a candidate in an election.Properties:party(string): Political partynumero(int): Ballot numberresultado(string): Result (ELEITO, SUPLENTE, NÃO ELEITO)
DOOU - Campaign Donation
DOOU - Campaign Donation
(Company|Person)-[:DOOU]->(Person)Entity donated to a political campaign.Properties:valor(float): Donation amount in BRLyear(int): Election yeartype(string): Donation type
AUTOR_EMENDA - Amendment Author
AUTOR_EMENDA - Amendment Author
BENEFICIOU - Amendment Beneficiary
BENEFICIOU - Amendment Beneficiary
(Amendment)-[:BENEFICIOU]->(Company|Municipality)Amendment directed funds to an entity.GASTOU - Expense Made By
GASTOU - Expense Made By
(Person)-[:GASTOU]->(Expense)Politician made an expense (Cota Parlamentar).Compliance & Risk
SANCIONADA - Sanctioned
SANCIONADA - Sanctioned
(Company|Person)-[:SANCIONADA]->(Sanction)Entity received an administrative sanction.Example Use Cases:- Check if a company is currently sanctioned
- Find companies sanctioned but still winning contracts
- Calculate sanction history
EMBARGADA - Embargo
EMBARGADA - Embargo
(Company)-[:EMBARGADA]->(Embargo)Company received an environmental embargo.DEVE - Debt/Fine
DEVE - Debt/Fine
(Company|Person)-[:DEVE]->(Debt)Entity owes money to government (taxes, fines, etc.).CVM_SANCIONADA - CVM Sanction
CVM_SANCIONADA - CVM Sanction
(Company|Person)-[:CVM_SANCIONADA]->(CVMProceeding)Entity sanctioned by securities regulator.Infrastructure & Services
OPERA_UNIDADE - Operates Facility
OPERA_UNIDADE - Operates Facility
(Company)-[:OPERA_UNIDADE]->(Health|Education)Company operates a healthcare or educational facility.Example Cypher:MANTEDORA_DE - Maintainer
MANTEDORA_DE - Maintainer
(Company)-[:MANTEDORA_DE]->(Education)Company maintains an educational institution.Financial Relationships
RECEBEU_EMPRESTIMO - Loan Received
RECEBEU_EMPRESTIMO - Loan Received
(Company)-[:RECEBEU_EMPRESTIMO]->(Finance)Company received a loan (e.g., from BNDES).GEROU_CONVENIO - Agreement Generated
GEROU_CONVENIO - Agreement Generated
(Company|Municipality)-[:GEROU_CONVENIO]->(Convenio)Entity received a federal grant/agreement.International & Offshore
OFFICER_OF - Offshore Officer
OFFICER_OF - Offshore Officer
(OffshoreOfficer|Person)-[:OFFICER_OF]->(OffshoreEntity)Person is an officer of an offshore entity.INTERMEDIARY_OF - Offshore Intermediary
INTERMEDIARY_OF - Offshore Intermediary
(Person|Company)-[:INTERMEDIARY_OF]->(OffshoreEntity)Entity acted as intermediary for offshore structure.GLOBAL_PEP_MATCH - International PEP Match
GLOBAL_PEP_MATCH - International PEP Match
(Person)-[:GLOBAL_PEP_MATCH]->(GlobalPEP)Person matches an international PEP record.Entity Resolution
SAME_AS - Confirmed Duplicate
SAME_AS - Confirmed Duplicate
(Entity)-[:SAME_AS]->(Entity)Two nodes represent the same real-world entity (high confidence).Properties:confidence(float): Match confidence (0.8-1.0)match_method(string): How match was determined
- Merge person records from different sources
- Link Partner nodes to Person nodes when CPF matches
- Resolve company name variations
POSSIBLE_SAME_AS - Probable Duplicate
POSSIBLE_SAME_AS - Probable Duplicate
(Entity)-[:POSSIBLE_SAME_AS]->(Entity)Two nodes might represent the same entity (requires review).Properties:confidence(float): Match confidence (0.5-0.8)match_method(string): Matching algorithm usedsimilarity_score(float): Name/attribute similarity
Family & Social
CONJUGE_DE - Spouse
CONJUGE_DE - Spouse
(Person)-[:CONJUGE_DE]->(Person)Marriage relationship.PARENTE_DE - Family Member
PARENTE_DE - Family Member
(Person)-[:PARENTE_DE]->(Person)Family relationship (parent, child, sibling).Properties:relationship_type(string): Specific relationship
PARTY_MEMBER - Political Party Membership
PARTY_MEMBER - Political Party Membership
(Person)-[:PARTY_MEMBER]->(PartyMembership)Person is affiliated with a political party.Public Office
HOLDS - Holds Office
HOLDS - Holds Office
(Person)-[:HOLDS]->(PublicOffice)Person currently holds a public office.RECEBEU_SALARIO - Salary Received
RECEBEU_SALARIO - Salary Received
(Person)-[:RECEBEU_SALARIO]->(PublicOffice)Person received salary from public office.Investigations & Legal
INVESTIGATED_IN - Subject of Investigation
INVESTIGATED_IN - Subject of Investigation
(Person|Company)-[:INVESTIGATED_IN]->(Investigation)Entity is subject of an investigation.PARTY_IN - Party to Case
PARTY_IN - Party to Case
(Person|Company)-[:PARTY_IN]->(LegalCase|JudicialCase)Entity is party to a legal case.Properties:role(string): Plaintiff, defendant, etc.
TESTIFIED_IN - Testified
TESTIFIED_IN - Testified
(Person)-[:TESTIFIED_IN]->(InquirySession)Person testified in a congressional inquiry hearing.SUMMONED_BY - Summoned
SUMMONED_BY - Summoned
(Person|Company)-[:SUMMONED_BY]->(InquiryRequirement)Entity summoned by congressional inquiry.Metadata & Provenance
SOURCED_FROM - Data Source
SOURCED_FROM - Data Source
(Entity)-[:SOURCED_FROM]->(SourceDocument)Entity was created from this source document.Properties:extraction_date(datetime): When data was extracted
CREATED_BY - Created By Pipeline
CREATED_BY - Created By Pipeline
(Entity)-[:CREATED_BY]->(IngestionRun)Entity was created by this ETL pipeline run.HAS_VIOLATION - Data Quality Issue
HAS_VIOLATION - Data Quality Issue
(Entity)-[:HAS_VIOLATION]->(TemporalViolation)Entity has a data quality issue (e.g., impossible dates).User & Investigation Workspace
TRACKS - Investigation Tracking
TRACKS - Investigation Tracking
(User)-[:TRACKS]->(Entity)User is tracking this entity in an investigation.ANNOTATED - User Annotation
ANNOTATED - User Annotation
(Entity)-[:ANNOTATED]->(Annotation)User added an annotation to this entity.TAGGED - User Tag
TAGGED - User Tag
(Entity)-[:TAGGED]->(Tag)User added a tag to this entity.Multi-Hop Path Queries
Many investigation patterns use multi-hop path queries:Self-Dealing Detection
Donation-Contract Loop
Sanctioned Network Exposure
Relationship Directionality
Most relationships have semantic direction:- Ownership flows “up”: Partner → Company
- Benefits flow “down”: Company → Contract, Amendment → Municipality
- Causality flows forward: Bid → Contract, Election → Candidacy
->for directional matching-for bidirectional matching (ignores direction)