Documentation

Knowledge Graph Integration

A research paper is a terrible database. The knowledge it contains - this gene associates with that disease, this compound inhibits that pathway, is locked in prose, findable only by someone who already knows to read that particular paper. The knowledge graph is where the platform puts that information once BioAgents has extracted it, so a question like "what else touches this pathway?" becomes a query instead of a literature review.

INPUT & PROCESSINGKNOWLEDGE GRAPH COREINTEGRATION & ACCESSResearch Paperssource documentsBioAgents Processingmetadata extractionRDF Triple Storesubject · predicate · objectKnowledge GraphProtein · Gene · DiseaseJSON-LD Documentslinked metadataentities & relationshipsSPARQL Endpointquery accessDecentralized StorageIPFS / DKGUCAN Authorizationcapability access
Knowledge Graph Integration

What it's built from

RDF triples

The foundation is a Resource Description Framework (RDF) triple store. Every fact is a subject-predicate-object triple:

turtle
# Example triple representation
<http://example.org/gene/BRCA1> <http://example.org/relation/associatedWith> <http://example.org/disease/BreastCancer> .

JSON-LD

The same knowledge is also available as JSON-LD, which matters for anyone integrating from the web side - it's plain JSON to a client that doesn't care about semantics, and linked data to one that does:

json
{
  "@context": {
    "bio": "http://example.org/biology/",
    "schema": "http://schema.org/"
  },
  "@id": "bio:gene/BRCA1",
  "@type": "bio:Gene",
  "bio:name": "BRCA1",
  "bio:associatedWith": {
    "@id": "bio:disease/BreastCancer",
    "@type": "bio:Disease",
    "bio:name": "Breast Cancer"
  }
}

SPARQL

Queries run through a SPARQL endpoint. If you've not written SPARQL before: it reads like SQL over graph patterns, and the variables bind to anything matching the pattern:

sparql
PREFIX bio: <http://example.org/biology/>

SELECT ?gene ?disease WHERE {
  ?gene bio:associatedWith ?disease .
  ?disease a bio:Disease .
  ?disease bio:relatedTo bio:CancerPathway .
}

Where it plugs in

SOURCEAI EXTRACTIONGRAPHACCESSResearch PaperBioAgentsprocessingEntity RecognitionRelationship DetectionDID AssociationKnowledge GraphRDF triplesSPARQL QueriesDecentralized StorageUCAN Authorization
Integration Points

How knowledge gets in

Papers don't arrive as triples. The extraction pipeline is described in detail in BioAgents Architecture; the short version is PDF -> sectioned text -> recognized entities and relationships -> RDF. Each extracted fact keeps a link back to the paper (and DID) it came from, so a query result is always traceable to its source.

BioAgents ProcessorKnowledge ExtractorKnowledge GraphDecentralized StorageProcess DocumentExtract EntitiesIdentify RelationshipsGenerate RDF TriplesStore KnowledgeReturn Storage CIDReturn Knowledge Graph Metadata
Knowledge Graph Integration

Querying

SPARQL directly

sparql
PREFIX bio: <http://bio-ontology.org/>

SELECT ?gene ?diseaseName WHERE {
  ?gene bio:associatedWith ?disease .
  ?disease a bio:Disease ;
           bio:name ?diseaseName .
  FILTER(CONTAINS(?diseaseName, "Alzheimer"))
}

In plain English

You can also skip SPARQL entirely: BioAgents translates natural language questions into graph queries. "What genes are associated with Alzheimer's disease that also interact with the APOE pathway?" becomes the pattern match above, without you writing it.

What this is actually for

regulatesproducesinteracts withinhibitsactivatesinfluencesassociated withhas side effectincreases risk ofGene AGene BGene CProtein XDrug MPathway YSymptom QEnv. FactorDisease ZGeneProteinPathwayDrugSymptomEnvironmentDisease
Knowledge Discovery

The discovery case is obvious - find related work you didn't know existed. The more interesting one is hypothesis generation: because the graph makes gaps visible (two entities heavily connected to a third but never studied together), BioAgents can propose connections worth testing, rank them by plausibility, and cite the evidence that suggested them. Whether a proposed connection is real is still the researcher's job - the graph just makes the candidates enumerable.

Finally, the graph is a junction point. Papers, experimental results, external databases, clinical data, and genomic information all land in the same triple space, which is what lets a single query span sources that were never designed to talk to each other.