Patent Intelligence
Patent-based competitive intelligence reveals critical insights into competitors' R&D pipelines, therapeutic strategies, and potential market moves by analysing what genes, disease targets, drug mechanisms, and treatment approaches are being claimed in patent filings. By tracking which companies are patenting specific molecular targets, combination therapies, or indications for particular diseases, organizations can identify emerging competitive threats, potential collaboration opportunities, and white space for their own innovation efforts. This intelligence becomes particularly valuable in pharma and biotech, where patent filings often signal strategic intent years before clinical data or product launches, allowing companies to anticipate competitive dynamics in specific therapeutic areas and adjust their development priorities accordingly.
Scenario
Consider a pharma company’s competitive intelligence team trying to understand the competitive landscape for Alzheimer’s disease treatments—they need to connect fragmented information across thousands of patents to identify which competitors are targeting specific genes (like APOE or TREM2), what mechanisms of action are being explored, and which companies might have overlapping or complementary approaches. Traditional relational databases struggle with this because the relationships between patents, genes, diseases, drug mechanisms, companies, and inventors create a complex, interconnected web that’s difficult to query efficiently.
Solution
Neo4j’s graph database excels here by naturally modeling these relationships—patents connect to genes they mention, genes link to diseases they’re associated with, diseases connect to treatments and drug classes, and companies relate to both their own patents and their competitors' through shared targets or mechanisms. A competitive analyst can write a single Cypher query to ask questions like "show me all companies patenting BACE inhibitors for Alzheimer’s that also mention inflammation-related genes" or "find all patents targeting the same protein as our lead compound and reveal the competitive network around that target." This enables the team to rapidly visualize competitive clusters, identify potential acquisition targets working on complementary mechanisms, spot emerging therapeutic trends before they become mainstream, and make informed decisions about where to focus their own R&D investments based on a comprehensive view of the competitive patent landscape.
Demo Data
This dataset includes:
-
4 pharmaceutical companies (Pfizer, Novartis, Roche, Biogen) with overlapping competitive interests
-
6 patents covering various therapeutic areas
-
Drug targets (BACE1, TREM2, TNF-alpha, IL-6, APOE, MAPT/tau)
-
4 diseases (Alzheimer’s, Parkinson’s, Rheumatoid Arthritis, Crohn’s)
-
Mechanism types and inventor networks
Key Insights from the Data:
The dataset reveals that Pfizer and Roche have direct competitive overlap on BACE1 inhibitors for Alzheimer’s, while Pfizer and Biogen both explore TREM2-related neuroinflammation approaches. This type of analysis helps identify potential acquisition targets, patent challenges, or collaboration opportunities.
The following Cypher statement will MERGE the example graph in the Neo4j database:
// MERGE Companies (Owners/Applicants)
MERGE (pfizer:Owner {name: 'Pfizer Inc.', country: 'US'})
MERGE (novartis:Owner {name: 'Novartis AG', country: 'CH'})
MERGE (roche:Owner {name: 'Roche Holdings', country: 'CH'})
MERGE (biogen:Owner {name: 'Biogen Inc.', country: 'US'})
// MERGE Drug Targets (Genes/Proteins)
MERGE (bace1:Target {name: 'BACE1', type: 'Protein', function: 'Beta-secretase enzyme'})
MERGE (apoe:Target {name: 'APOE', type: 'Gene', function: 'Apolipoprotein E'})
MERGE (trem2:Target {name: 'TREM2', type: 'Gene', function: 'Immune receptor'})
MERGE (tau:Target {name: 'MAPT', type: 'Gene', function: 'Tau protein'})
MERGE (tnf:Target {name: 'TNF-alpha', type: 'Protein', function: 'Inflammatory cytokine'})
MERGE (il6:Target {name: 'IL-6', type: 'Protein', function: 'Interleukin-6'})
// MERGE Diseases
MERGE (alzheimers:Disease {name: "Alzheimer's Disease", icd10: 'G30'})
MERGE (parkinsons:Disease {name: "Parkinson's Disease", icd10: 'G20'})
MERGE (ra:Disease {name: 'Rheumatoid Arthritis', icd10: 'M05'})
MERGE (crohns:Disease {name: "Crohn's Disease", icd10: 'K50'})
// MERGE Drug Mechanisms
MERGE (baceInhibitor:Mechanism {name: 'BACE Inhibition', class: 'Small molecule'})
MERGE (antiInflammatory:Mechanism {name: 'Anti-inflammatory', class: 'Biologic'})
MERGE (immunomodulator:Mechanism {name: 'Immune modulation', class: 'Antibody'})
MERGE (tauAggregation:Mechanism {name: 'Tau aggregation inhibitor', class: 'Small molecule'})
// MERGE Inventors
MERGE (smith:Inventor {name: 'Dr. Sarah Smith', expertise: 'Neuroscience'})
MERGE (zhang:Inventor {name: 'Dr. Wei Zhang', expertise: 'Medicinal Chemistry'})
MERGE (mueller:Inventor {name: 'Dr. Klaus Mueller', expertise: 'Immunology'})
MERGE (patel:Inventor {name: 'Dr. Raj Patel', expertise: 'Structural Biology'})
// ============================================
// PFIZER PATENTS - Alzheimer's Focus
// ============================================
// Patent 1: Pfizer BACE inhibitor for Alzheimer's
MERGE (p1:Patent {
id: 'US10123456',
title: 'Novel BACE1 inhibitors for treatment of neurodegenerative diseases',
filing_date: '2022-03-15',
status: 'Active'
})
MERGE (p1_claim1:Claim {number: 1, text: 'A compound that inhibits BACE1 activity', independent: true})
MERGE (p1_claim2:Claim {number: 2, text: 'The compound of claim 1 for treating Alzheimers', independent: false})
MERGE (p1_desc:Description {text: 'Small molecule inhibitors targeting BACE1 with improved brain penetration'})
MERGE (p1)-[:HAS_OWNER]->(pfizer)
MERGE (p1)-[:HAS_INVENTOR]->(smith)
MERGE (p1)-[:HAS_INVENTOR]->(zhang)
MERGE (p1)-[:HAS_CLAIM]->(p1_claim1)
MERGE (p1)-[:HAS_CLAIM]->(p1_claim2)
MERGE (p1_claim2)-[:HAS_SUBCLAIM]->(p1_claim1)
MERGE (p1)-[:HAS_DESCRIPTION]->(p1_desc)
MERGE (p1)-[:TARGETS]->(bace1)
MERGE (p1)-[:MENTIONS_TARGET]->(apoe)
MERGE (p1)-[:TREATS]->(alzheimers)
MERGE (p1)-[:USES_MECHANISM]->(baceInhibitor)
// Patent 2: Pfizer inflammation-related AD patent
MERGE (p2:Patent {
id: 'US10234567',
title: 'Anti-inflammatory compounds for cognitive disorders',
filing_date: '2023-01-20',
status: 'Active'
})
MERGE (p2)-[:HAS_OWNER]->(pfizer)
MERGE (p2)-[:HAS_INVENTOR]->(smith)
MERGE (p2)-[:TARGETS]->(trem2)
MERGE (p2)-[:TARGETS]->(tnf)
MERGE (p2)-[:TREATS]->(alzheimers)
MERGE (p2)-[:USES_MECHANISM]->(immunomodulator)
// ============================================
// NOVARTIS PATENTS - Multi-disease approach
// ============================================
// Patent 3: Novartis tau-targeting therapy
MERGE (p3:Patent {
id: 'EP3456789',
title: 'Tau protein aggregation inhibitors',
filing_date: '2022-08-10',
status: 'Active'
})
MERGE (p3)-[:HAS_OWNER]->(novartis)
MERGE (p3)-[:HAS_INVENTOR]->(mueller)
MERGE (p3)-[:TARGETS]->(tau)
MERGE (p3)-[:TREATS]->(alzheimers)
MERGE (p3)-[:TREATS]->(parkinsons)
MERGE (p3)-[:USES_MECHANISM]->(tauAggregation)
// Patent 4: Novartis anti-inflammatory
MERGE (p4:Patent {
id: 'EP3567890',
title: 'IL-6 antagonists for autoimmune diseases',
filing_date: '2023-02-15',
status: 'Active'
})
MERGE (p4)-[:HAS_OWNER]->(novartis)
MERGE (p4)-[:HAS_INVENTOR]->(mueller)
MERGE (p4)-[:TARGETS]->(il6)
MERGE (p4)-[:TREATS]->(ra)
MERGE (p4)-[:TREATS]->(crohns)
MERGE (p4)-[:USES_MECHANISM]->(antiInflammatory)
// ============================================
// ROCHE PATENTS - Competitive overlap
// ============================================
// Patent 5: Roche BACE inhibitor (competitive with Pfizer)
MERGE (p5:Patent {
id: 'WO2022123456',
title: 'Beta-secretase inhibitors with enhanced selectivity',
filing_date: '2022-06-01',
status: 'Active'
})
MERGE (p5)-[:HAS_OWNER]->(roche)
MERGE (p5)-[:HAS_INVENTOR]->(patel)
MERGE (p5)-[:TARGETS]->(bace1)
MERGE (p5)-[:MENTIONS_TARGET]->(trem2)
MERGE (p5)-[:TREATS]->(alzheimers)
MERGE (p5)-[:USES_MECHANISM]->(baceInhibitor)
// ============================================
// BIOGEN PATENTS - Neuroinflammation focus
// ============================================
// Patent 6: Biogen neuroinflammation
MERGE (p6:Patent {
id: 'US10345678',
title: 'Immune checkpoint modulation in neurodegenerative diseases',
filing_date: '2023-03-10',
status: 'Active'
})
MERGE (p6)-[:HAS_OWNER]->(biogen)
MERGE (p6)-[:HAS_INVENTOR]->(patel)
MERGE (p6)-[:TARGETS]->(trem2)
MERGE (p6)-[:TARGETS]->(tnf)
MERGE (p6)-[:TREATS]->(alzheimers)
MERGE (p6)-[:TREATS]->(parkinsons)
MERGE (p6)-[:USES_MECHANISM]->(immunomodulator)
// ============================================
// PATENT CITATIONS (showing prior art connections)
// ============================================
MERGE (pub1:Publication {id: 'PMID12345678', title: 'BACE1 structure and function'})
MERGE (pub2:Publication {id: 'PMID23456789', title: 'TREM2 role in Alzheimers'})
MERGE (p1)-[:CITES]->(pub1)
MERGE (p5)-[:CITES]->(pub1)
MERGE (p2)-[:CITES]->(pub2)
MERGE (p6)-[:CITES]->(pub2)
// ============================================
// PATENT FAMILIES
// ============================================
MERGE (fam1:Family {id: 'FAM001', priority_date: '2022-03-15'})
MERGE (fam2:Family {id: 'FAM002', priority_date: '2022-06-01'})
MERGE (p1)-[:BELONGS_TO]->(fam1)
MERGE (p5)-[:BELONGS_TO]->(fam2)
Cypher Queries
The queries that follow demonstrate how to extract competitive intelligence insights from the patent graph data model.
What diseases is a company working on based on their patents?
This is the very base level query to understand a company’s therapeutic focus areas. It could be used to narrow down competitors in a specific disease area.
WITH "Pfizer Inc." AS companyName
MATCH (company:Owner {name: companyName})<-[:HAS_OWNER]-(patent:Patent)-[:TREATS]->(disease:Disease)
RETURN company.name, collect(DISTINCT disease.name) AS diseases
Which companies are targeting the same gene/protein for the same disease?
Given a particular company and disease, identify competitors working on the same targets.
This could be used to highlight direct competitive threats, potential collaboration opportunities, or patent challenge targets.
WITH
"Pfizer Inc." AS companyName,
"Alzheimer's Disease" AS targetDisease
MATCH
(pfizer:Owner {name: companyName})<-[:HAS_OWNER]-(pfizerPatent:Patent)-[:TREATS]->(ad:Disease {name: targetDisease}),
(pfizerPatent)-[:TARGETS]->(target:Target),
(competitorPatent:Patent)-[:TARGETS]->(target),
(competitorPatent)-[:TREATS]->(ad),
(competitorPatent)-[:HAS_OWNER]->(competitor:Owner)
WHERE competitor <> pfizer
RETURN
target.name AS SharedTarget,
collect(DISTINCT competitor.name) AS Competitors,
count(DISTINCT competitorPatent) AS CompetingPatents
3. Find all companies working on the same target and what diseases they target
With a specific target in mind, we can identify companies that have patents against that target and the diseases they are addressing with those patents.
This could be useful for understanding the competitive landscape around a specific biological target, and identifying potential opportunities or threats.
WITH 'BACE1' AS targetName
MATCH
(patent:Patent)-[:TARGETS]->(target:Target {name: targetName}),
(patent)-[:HAS_OWNER]->(company:Owner),
(patent)-[:TREATS]->(disease:Disease)
RETURN
company.name AS Company,
collect(DISTINCT disease.name) AS Diseases,
count(patent) AS PatentCount
4. Competitive landscape - which companies have overlapping targets and diseases?
The goal here is to find pairs of companies that are working on the same targets for the same diseases, indicating direct competition.
This could indicate a crowded competitive space, potential patent disputes, or areas where differentiation is needed.
MATCH
(p1:Patent)-[:HAS_OWNER]->(c1:Owner),
(p1)-[:TARGETS]->(target:Target),
(p1)-[:TREATS]->(disease:Disease),
(p2:Patent)-[:HAS_OWNER]->(c2:Owner),
(p2)-[:TARGETS]->(target),
(p2)-[:TREATS]->(disease)
WHERE c1.name < c2.name
RETURN
c1.name AS Company1,
c2.name AS Company2,
target.name AS SharedTarget,
disease.name AS SharedDisease,
count(*) AS OverlapScore
ORDER BY OverlapScore DESC
5. Find patents that mention inflammation-related targets for Alzheimer’s
This sort of query is useful to identify potential targets that have no patents directly claiming them, and so might be good avenues for innovation or acquisition.
WITH
"Alzheimer's Disease" AS diseaseName,
['TREM2', 'TNF-alpha', 'IL-6'] AS inflammatoryTargets
MATCH
(patent:Patent)-[:TREATS]->(ad:Disease {name: diseaseName}),
(patent)-[:TARGETS|MENTIONS_TARGET]->(target:Target)
WHERE target.name IN inflammatoryTargets
MATCH (patent)-[:HAS_OWNER]->(company:Owner)
RETURN
company.name AS Company,
patent.id AS PatentID,
collect(target.name) AS InflammatoryTargets
6. Inventor collaboration networks
This query could be used to identify key inventors working across multiple companies, indicating potential knowledge transfer, collaboration opportunities, or even conflicts of interest.
MATCH
(inv1:Inventor)<-[:HAS_INVENTOR]-(patent:Patent)-[:HAS_INVENTOR]->(inv2:Inventor)
WHERE inv1.name < inv2.name
MATCH
(patent)-[:HAS_OWNER]->(company:Owner),
(patent)-[:TREATS]->(disease:Disease)
RETURN
inv1.name AS Inventor1,
inv2.name AS Inventor2,
company.name AS Company,
collect(DISTINCT disease.name) AS DiseasesWorkedOn