Corpus Engine Towards a reproducible .science file.
← All .science files

pmid:40161641

PloverDB: A high-performance platform for serving biomedical knowledge graphs as standards-compliant web APIs.

Amy K Glen · Eric W Deutsch · Stephen A Ramsey

bioRxiv : the preprint server for biology · 2025 doi:10.1101/2025.03.09.642156

Paper

complete

Experiment

partial

Data

partial

Analysis

partial

Execution

absent

Execution evidence has not yet been added to this .science file. Explore its methods, data and open questions to plan the next step.
Record details sci_version · id · kind · revision · content_hash · schema · created_at · updated_at · generator
id
pmid:40161641
kind
science-record
content_hash
sha256:134ff7da7793f8765983f1731f583ec248383150a2245356642a2f704002dac0
schema
https://corpus.bntrg.co.uk/sci/1.0/sci.schema.json
created_at
2026-11-01T20:30:21Z
updated_at
2026-11-01T22:13:50Z
generator object · 2 fields
name
corpus-assay-engine
run_id
reading-sci-2026-11-01
paper object · 10 fields
state
complete
title
PloverDB: A high-performance platform for serving biomedical knowledge graphs as standards-compliant web APIs.
doi
10.1101/2025.03.09.642156
pmid
40161641
authors array · 3 items
[0]
Amy K Glen
[1]
Eric W Deutsch
[2]
Stephen A Ramsey
journal
bioRxiv : the preprint server for biology
year
2025
abstract
Knowledge graphs are increasingly being used to integrate heterogeneous biomedical knowledge and data. General-purpose graph database management systems such as Neo4j are often used to host and search knowledge graphs, but such tools come with overhead and leave biomedical-specific standards compliance and reasoning to the user. Interoperability across biomedical knowledge bases and reasoning systems necessitates the use of standards such as those adopted by the Biomedical Data Translator consortium. We present PloverDB, a comprehensive software platform for hosting and efficiently serving biomedical knowledge graphs as standards-compliant web application programming interfaces. In addition to fundamental back-end knowledge reasoning tasks, PloverDB automatically handles entity resolution, exposure of standardized metadata and test data, and multiplexing of knowledge graphs, all in a single platform designed specifically for efficient query answering and ease of deployment. PloverDB increases data accessibility and utility by allowing data providers to quickly serve their biomedical knowledge graphs as standards-compliant web services. Availability and Implementation: PloverDB's source code and technical documentation are publicly available under an MIT License at github:RTXteam/PloverDB, archived on Zenodo at doi:10.5281/zenodo.15454600.
claims array · 3 items
[0] object · 6 fields
id
claim-method
statement
A paired samples Wilcoxon signed-rank test showed a statistically significant difference in query durations between the two platforms (W = 169, p-value < 0.001).
kind
methodological
target
null
evidence array · 1 item
[0] object · 3 fields
asset
source:pmid:40161641
locator
sections[21] "Query speed results from controlled performance study" paragraph 2
quote
A paired samples Wilcoxon signed-rank test showed a statistically significant difference in query durations between the two platforms (W = 169, p-value < 0.001).
state
complete
[1] object · 6 fields
id
claim-data-access
statement
The final 93 queries are available on GitHub at github:amykglen/plater-plover/tree/main/test.
kind
methodological
target
null
evidence array · 1 item
[0] object · 3 fields
asset
source:pmid:40161641
locator
sections[17] "Selection of test queries for controlled performance study" paragraph 4
quote
The final 93 queries are available on GitHub at github:amykglen/plater-plover/tree/main/test.
state
complete
[2] object · 6 fields
id
claim-target-result
statement
PloverDB was 14-times faster than Plater on average across the 51 randomly-selected queries for which the two platforms returned identical answer sets.
kind
qualitative
target
null
evidence array · 1 item
[0] object · 3 fields
asset
source:pmid:40161641
locator
sections[7] "Performance" paragraph 5
quote
PloverDB was 14-times faster than Plater on average across the 51 randomly-selected queries for which the two platforms returned identical answer sets (Table B.1).
state
complete
gaps array · 0 items
experiment object · 8 fields
state
partial
objective
PloverDB was 14-times faster than Plater on average across the 51 randomly-selected queries for which the two platforms returned identical answer sets.
steps array · 3 items
[0] object · 13 fields
id
read_published_estimate
order
1
name
Read the published estimate from the source
kind
other
state
complete
blocked_on
null
description
The claim, method and evidence span published with the source article.
parameters object · 0 fields
inputs array · 1 item
[0]
source:pmid:40161641
outputs array · 1 item
[0]
the published estimate and its evidence
instruments array · 0 items
reagents array · 0 items
[1] object · 13 fields
id
obtain_source_data
order
2
name
Obtain the source data from the named repository
kind
data-preparation
state
blocked
blocked_on
data:accession_absent
description
The GEO series accession resolves and its sample accessions are listed. This lane did not download the dataset or read its licence.
parameters object · 0 fields
inputs array · 0 items
outputs array · 1 item
[0]
the source data with its repository provenance
instruments array · 0 items
reagents array · 0 items
[2] object · 13 fields
id
run_analysis
order
3
name
Run the published analysis
kind
analysis
state
blocked
blocked_on
method:group_comparison_wilcoxon
description
Apply the paper's statistical method to the resolved series and compare the result with the published target.
parameters object · 0 fields
inputs array · 0 items
outputs array · 1 item
[0]
the replicated result and its comparison
instruments array · 0 items
reagents array · 0 items
materials array · 0 items
instruments array · 0 items
reagents array · 0 items
conditions object · 0 fields
gaps array · 2 items
[0]
step:run_analysis blocked on method:group_comparison_wilcoxon
[1]
step:obtain_source_data blocked on data:accession_absent
data object · 3 fields
state
partial
assets array · 1 item
[0] object · 15 fields
id
source:pmid:40161641
role
manuscript
format
xml
media_type
application/xml
uri
https://doi.org/10.1101/2025.03.09.642156
sha256
sha256:3cf5fb3a04b733aff5153a02d7bbdc1470d90498f7873ba91cd5e25aab06ed23
bytes
62282
access
open
state
resolved
reader
null
reader_status
reader_required
identifier
10.1101/2025.03.09.642156
version
null
note
Full article fetched from PMC; the checksum covers the rendered section body, not the original XML bytes.
structure object · 4 fields
pmcid
PMC11952354
source
europe_pmc_fulltext
coverage
whole_body
text_hash_scope
rendered_section_body
gaps array · 0 items
analysis object · 4 fields
state
partial
methods array · 1 item
[0] object · 10 fields
id
method-1
family
group_comparison
specific
wilcoxon
label
Group comparison
dsl_operations array · 0 items
missing_operations array · 1 item
[0]
group_comparison_wilcoxon
expressible
false
parameters object · 0 fields
data_shapes array · 1 item
[0]
two_or_more_groups_continuous
evidence object · 3 fields
score
1
band
verbatim
quote
A paired samples Wilcoxon signed-rank test showed a statistically significant difference in query durations between the two platforms (W = 169, p-value < 0.001).
targets array · 0 items
gaps array · 1 item
[0]
method.group_comparison_wilcoxon
capability object · 3 fields
state
complete
requirements array · 1 item
[0] object · 6 fields
capability_id
capability:computational_analysis
label
Computational analysis platform
assay_families array · 9 items
[0]
meta_analysis
[1]
machine_learning
[2]
survival_analysis
[3]
statistical_regression
[4]
pca
[5]
molecular_docking
[6]
network_analysis
[7]
differential_expression
[8]
gwas
candidate
Automated Assays Laravel application and simulated adapters
gaps array · 0 items
readiness object · 8 fields
state
blocked
tier
R4
blocked_on
data:accession_absent
axes object · 3 fields
method object · 5 fields
tier
R1
expressible
false
required_operations array · 0 items
missing_operations array · 1 item
[0]
group_comparison_wilcoxon
basis
The paper names the method it used and the corpus's method extractor maps it onto the DSL catalogue: wilcoxon.
capability object · 4 fields
tier
R1
capability_id
capability:computational_analysis
availability_state
owned
basis
The computational analysis is owned. The physical bench the paper used is not, so a physical validation cannot be run here.
data object · 6 fields
tier
R4
reachable
false
accessions array · 0 items
resolved_accessions array · 0 items
statements array · 1 item
[0]
The final 93 queries are available on GitHub at github:amykglen/plater-plover/tree/main/test.
basis
The paper names no accession to its source data, so the data has to come from the authors.
can_run object · 3 fields
dsl_operations array · 0 items
assets array · 1 item
[0]
source:pmid:40161641
steps array · 0 items
must_build object · 5 fields
dsl_operations array · 1 item
[0] object · 3 fields
operation
group_comparison_wilcoxon
priority
null
converters array · 0 items
readers array · 0 items
capabilities array · 0 items
data_gaps array · 1 item
[0]
data:geo:None
gaps array · 1 item
[0]
data:accession_absent
review object · 5 fields
state
partial
machine_critique object · 5 fields
kind
extraction_review
reader object · 5 fields
model
MiniMax-M3.1-Flash
provider
minimax
provider_family
minimax
read_at
2026-11-01T19:49:25Z
independence
single_reader
evidence_check object · 2 fields
method
verbatim
availability
null
calls
5
usage object · 3 fields
prompt_tokens
16464
completion_tokens
953
cached_tokens
264
stages array · 1 item
[0] object · 4 fields
id
extraction
state
complete
reader
MiniMax-M3.1-Flash
provider
minimax
gaps array · 3 items
[0]
review.independent_reader
[1]
review.machine_critique
[2]
review.human_critique
execution object · 5 fields
state
absent
status
not_run
mode
null
runs array · 0 items
gaps array · 1 item
[0]
execution.not_run
provenance object · 7 fields
entities array · 3 items
[0] object · 3 fields
id
pmid:40161641
type
paper
label
pmid:40161641
[1] object · 3 fields
id
source:pmid:40161641
type
manuscript
label
PMID 40161641 full text
[2] object · 3 fields
id
data:geo:None
type
dataset
label
GEO None
activities array · 3 items
[0] object · 4 fields
id
activity-reading-sci-2026-11-01
type
classification
used array · 3 items
[0] object · 3 fields
id
pmid:40161641
type
paper
label
pmid:40161641
[1] object · 3 fields
id
source:pmid:40161641
type
manuscript
label
PMID 40161641 full text
[2] object · 3 fields
id
data:geo:None
type
dataset
label
GEO None
agent
agent:corpus-assay-engine
[1] object · 4 fields
id
activity-read-40161641
type
extraction
used array · 1 item
[0]
source:pmid:40161641
agent
agent:minimax-reader
[2] object · 4 fields
id
activity-resolve-None
type
accession_resolution
used array · 1 item
[0]
data:geo:None
agent
agent:corpus-assay-engine
agents array · 2 items
[0] object · 3 fields
id
agent:corpus-assay-engine
type
software
label
Corpus assay engine
[1] object · 3 fields
id
agent:minimax-reader
type
software
label
MiniMax literature reader
source_run_id
reading-sci-2026-11-01
dsl_catalogue_fingerprint
343fb30756ba6ec3
capability_table_fingerprint
2cb3e42f047d2ecf
snapshot_id
ba34b49490d9bfaf
lineage object · 4 fields
parent_id
pmid:40161641
parent_hash
sha256:712155f9447c09493c4fd241ca51f4c37b425f0d493cd05969ad4e339cf84c13
fork_of
null
gaps array · 7 items
[0]
execution.not_run
[1]
method.group_comparison_wilcoxon
[2]
review.human_critique
[3]
review.independent_reader
[4]
review.machine_critique
[5]
step:obtain_source_data blocked on data:accession_absent
[6]
step:run_analysis blocked on method:group_comparison_wilcoxon
assays array · 1 item
[0] object · 11 fields
role
analysis
definition_id
group_comparison
definition_version
f2132e96ae6c7a4e
required_operations array · 0 items
support_state
partial
source_hashes object · 1 field
dsl_catalogue
f2132e96ae6c7a4e
evidence array · 1 item
[0]
A paired samples Wilcoxon signed-rank test showed a statistically significant difference in query durations between the two platforms (W = 169, p-value < 0.001).
order_basis
analysis_only
id
assay:1
Complete file
{"sci_version": "1.2", "schema": "https://corpus.bntrg.co.uk/sci/1.0/sci.schema.json", "id": "pmid:40161641", "kind": "science-record", "revision": 3, "content_hash": "sha256:134ff7da7793f8765983f1731f583ec248383150a2245356642a2f704002dac0", "created_at": "2026-11-01T20:30:21Z", "updated_at": "2026-11-01T22:13:50Z", "generator": {"name": "corpus-assay-engine", "run_id": "reading-sci-2026-11-01"}, "paper": {"state": "complete", "title": "PloverDB: A high-performance platform for serving biomedical knowledge graphs as standards-compliant web APIs.", "doi": "10.1101/2025.03.09.642156", "pmid": "40161641", "authors": ["Amy K Glen", "Eric W Deutsch", "Stephen A Ramsey"], "journal": "bioRxiv : the preprint server for biology", "year": 2025, "abstract": "Knowledge graphs are increasingly being used to integrate heterogeneous biomedical knowledge and data. General-purpose graph database management systems such as Neo4j are often used to host and search knowledge graphs, but such tools come with overhead and leave biomedical-specific standards compliance and reasoning to the user. Interoperability across biomedical knowledge bases and reasoning systems necessitates the use of standards such as those adopted by the Biomedical Data Translator consortium. We present PloverDB, a comprehensive software platform for hosting and efficiently serving biomedical knowledge graphs as standards-compliant web application programming interfaces. In addition to fundamental back-end knowledge reasoning tasks, PloverDB automatically handles entity resolution, exposure of standardized metadata and test data, and multiplexing of knowledge graphs, all in a single platform designed specifically for efficient query answering and ease of deployment. PloverDB increases data accessibility and utility by allowing data providers to quickly serve their biomedical knowledge graphs as standards-compliant web services.\nAvailability and Implementation: PloverDB's source code and technical documentation are publicly available under an MIT License at github:RTXteam/PloverDB, archived on Zenodo at doi:10.5281/zenodo.15454600.", "claims": [{"id": "claim-method", "statement": "A paired samples Wilcoxon signed-rank test showed a statistically significant difference in query durations between the two platforms (W = 169, p-value < 0.001).", "kind": "methodological", "target": null, "evidence": [{"asset": "source:pmid:40161641", "locator": "sections[21] \"Query speed results from controlled performance study\" paragraph 2", "quote": "A paired samples Wilcoxon signed-rank test showed a statistically significant difference in query durations between the two platforms (W = 169, p-value < 0.001)."}], "state": "complete"}, {"id": "claim-data-access", "statement": "The final 93 queries are available on GitHub at github:amykglen/plater-plover/tree/main/test.", "kind": "methodological", "target": null, "evidence": [{"asset": "source:pmid:40161641", "locator": "sections[17] \"Selection of test queries for controlled performance study\" paragraph 4", "quote": "The final 93 queries are available on GitHub at github:amykglen/plater-plover/tree/main/test."}], "state": "complete"}, {"id": "claim-target-result", "statement": "PloverDB was 14-times faster than Plater on average across the 51 randomly-selected queries for which the two platforms returned identical answer sets.", "kind": "qualitative", "target": null, "evidence": [{"asset": "source:pmid:40161641", "locator": "sections[7] \"Performance\" paragraph 5", "quote": "PloverDB was 14-times faster than Plater on average across the 51 randomly-selected queries for which the two platforms returned identical answer sets (Table B.1)."}], "state": "complete"}], "gaps": []}, "experiment": {"state": "partial", "objective": "PloverDB was 14-times faster than Plater on average across the 51 randomly-selected queries for which the two platforms returned identical answer sets.", "steps": [{"id": "read_published_estimate", "order": 1, "name": "Read the published estimate from the source", "kind": "other", "state": "complete", "blocked_on": null, "description": "The claim, method and evidence span published with the source article.", "duration_hours": null, "parameters": {}, "inputs": ["source:pmid:40161641"], "outputs": ["the published estimate and its evidence"], "instruments": [], "reagents": []}, {"id": "obtain_source_data", "order": 2, "name": "Obtain the source data from the named repository", "kind": "data-preparation", "state": "blocked", "blocked_on": "data:accession_absent", "description": "The GEO series accession resolves and its sample accessions are listed. This lane did not download the dataset or read its licence.", "duration_hours": null, "parameters": {}, "inputs": [], "outputs": ["the source data with its repository provenance"], "instruments": [], "reagents": []}, {"id": "run_analysis", "order": 3, "name": "Run the published analysis", "kind": "analysis", "state": "blocked", "blocked_on": "method:group_comparison_wilcoxon", "description": "Apply the paper's statistical method to the resolved series and compare the result with the published target.", "duration_hours": null, "parameters": {}, "inputs": [], "outputs": ["the replicated result and its comparison"], "instruments": [], "reagents": []}], "materials": [], "instruments": [], "reagents": [], "conditions": {}, "gaps": ["step:run_analysis blocked on method:group_comparison_wilcoxon", "step:obtain_source_data blocked on data:accession_absent"]}, "data": {"state": "partial", "assets": [{"id": "source:pmid:40161641", "role": "manuscript", "format": "xml", "media_type": "application/xml", "uri": "https://doi.org/10.1101/2025.03.09.642156", "sha256": "sha256:3cf5fb3a04b733aff5153a02d7bbdc1470d90498f7873ba91cd5e25aab06ed23", "bytes": 62282, "access": "open", "state": "resolved", "reader": null, "reader_status": "reader_required", "identifier": "10.1101/2025.03.09.642156", "version": null, "note": "Full article fetched from PMC; the checksum covers the rendered section body, not the original XML bytes.", "structure": {"pmcid": "PMC11952354", "source": "europe_pmc_fulltext", "coverage": "whole_body", "text_hash_scope": "rendered_section_body"}}], "gaps": []}, "analysis": {"state": "partial", "methods": [{"id": "method-1", "family": "group_comparison", "specific": "wilcoxon", "label": "Group comparison", "dsl_operations": [], "missing_operations": ["group_comparison_wilcoxon"], "expressible": false, "parameters": {}, "data_shapes": ["two_or_more_groups_continuous"], "evidence": {"score": 1.0, "band": "verbatim", "quote": "A paired samples Wilcoxon signed-rank test showed a statistically significant difference in query durations between the two platforms (W = 169, p-value < 0.001)."}}], "targets": [], "gaps": ["method.group_comparison_wilcoxon"]}, "capability": {"state": "complete", "requirements": [{"capability_id": "capability:computational_analysis", "label": "Computational analysis platform", "assay_families": ["meta_analysis", "machine_learning", "survival_analysis", "statistical_regression", "pca", "molecular_docking", "network_analysis", "differential_expression", "gwas"], "availability_state": "owned", "tier_unlocked": "R1", "candidate": "Automated Assays Laravel application and simulated adapters"}], "gaps": []}, "readiness": {"state": "blocked", "tier": "R4", "blocking_axis": "data", "blocked_on": "data:accession_absent", "axes": {"method": {"tier": "R1", "expressible": false, "required_operations": [], "missing_operations": ["group_comparison_wilcoxon"], "basis": "The paper names the method it used and the corpus's method extractor maps it onto the DSL catalogue: wilcoxon."}, "capability": {"tier": "R1", "capability_id": "capability:computational_analysis", "availability_state": "owned", "basis": "The computational analysis is owned. The physical bench the paper used is not, so a physical validation cannot be run here."}, "data": {"tier": "R4", "reachable": false, "accessions": [], "resolved_accessions": [], "statements": ["The final 93 queries are available on GitHub at github:amykglen/plater-plover/tree/main/test."], "basis": "The paper names no accession to its source data, so the data has to come from the authors."}}, "can_run": {"dsl_operations": [], "assets": ["source:pmid:40161641"], "steps": []}, "must_build": {"dsl_operations": [{"operation": "group_comparison_wilcoxon", "unlocks_papers": null, "priority": null}], "converters": [], "readers": [], "capabilities": [], "data_gaps": ["data:geo:None"]}, "gaps": ["data:accession_absent"]}, "review": {"state": "partial", "machine_critique": {"kind": "extraction_review", "reader": {"model": "MiniMax-M3.1-Flash", "provider": "minimax", "provider_family": "minimax", "read_at": "2026-11-01T19:49:25Z", "independence": "single_reader"}, "evidence_check": {"method": "verbatim", "availability": null}, "calls": 5, "usage": {"prompt_tokens": 16464, "completion_tokens": 953, "cached_tokens": 264}}, "human_critique": null, "stages": [{"id": "extraction", "state": "complete", "reader": "MiniMax-M3.1-Flash", "provider": "minimax"}], "gaps": ["review.independent_reader", "review.machine_critique", "review.human_critique"]}, "execution": {"state": "absent", "status": "not_run", "mode": null, "runs": [], "gaps": ["execution.not_run"]}, "provenance": {"entities": [{"id": "pmid:40161641", "type": "paper", "label": "pmid:40161641"}, {"id": "source:pmid:40161641", "type": "manuscript", "label": "PMID 40161641 full text"}, {"id": "data:geo:None", "type": "dataset", "label": "GEO None"}], "activities": [{"id": "activity-reading-sci-2026-11-01", "type": "classification", "used": [{"id": "pmid:40161641", "type": "paper", "label": "pmid:40161641"}, {"id": "source:pmid:40161641", "type": "manuscript", "label": "PMID 40161641 full text"}, {"id": "data:geo:None", "type": "dataset", "label": "GEO None"}], "agent": "agent:corpus-assay-engine"}, {"id": "activity-read-40161641", "type": "extraction", "used": ["source:pmid:40161641"], "agent": "agent:minimax-reader"}, {"id": "activity-resolve-None", "type": "accession_resolution", "used": ["data:geo:None"], "agent": "agent:corpus-assay-engine"}], "agents": [{"id": "agent:corpus-assay-engine", "type": "software", "label": "Corpus assay engine"}, {"id": "agent:minimax-reader", "type": "software", "label": "MiniMax literature reader"}], "source_run_id": "reading-sci-2026-11-01", "dsl_catalogue_fingerprint": "343fb30756ba6ec3", "capability_table_fingerprint": "2cb3e42f047d2ecf", "snapshot_id": "ba34b49490d9bfaf"}, "lineage": {"parent_id": "pmid:40161641", "parent_hash": "sha256:712155f9447c09493c4fd241ca51f4c37b425f0d493cd05969ad4e339cf84c13", "fork_of": null, "generation": 2}, "gaps": ["execution.not_run", "method.group_comparison_wilcoxon", "review.human_critique", "review.independent_reader", "review.machine_critique", "step:obtain_source_data blocked on data:accession_absent", "step:run_analysis blocked on method:group_comparison_wilcoxon"], "assays": [{"role": "analysis", "definition_id": "group_comparison", "definition_version": "f2132e96ae6c7a4e", "definition_digest": null, "required_operations": [], "support_state": "partial", "source_hashes": {"dsl_catalogue": "f2132e96ae6c7a4e"}, "confidence": 1.0, "evidence": ["A paired samples Wilcoxon signed-rank test showed a statistically significant difference in query durations between the two platforms (W = 169, p-value < 0.001)."], "order_basis": "analysis_only", "id": "assay:1"}]}