-
Notifications
You must be signed in to change notification settings - Fork 2
ARAGORN
A Translator ARA to query Knowledge Providers (KPs) and synthesize highly ranked answers relevant to user-specified questions.
- Operates in a federated knowledge environment.
- Bridges the precision mismatch between data specificity in KPs and more abstract levels of user queries.
- Generalizes answer ranking.
- Normalizes data to use preferred and equivalent identifiers.
Patrick Wang ( patrick@covar.com )
TODO: Disclose more team members?
ARAGORN provides unified access to multiple operations (see glossary and the Operations repo) including fill/bind/complete (Strider), Merge Answers (Answer Coalescence), Edge Weighting, and Result Scoring (Aragorn Ranker). Currently, ARAGORN composes these operations into a fixed workflow, but the individual components are available as their own TRAPI endpoints.
The current ARAGORN workflow consists of:
- Strider takes a TRAPI query graph, and calls distributed KPs to construct a TRAPI KG and results.
- AnswerCoalescence finds and adds to the TRAPI message new answers by combining similar or related answers from Strider.
- AragornRanker adds literature co-occurrence edges to the graph, adds a weight to each edge binding, and scores each result based on these weights.
- TRAPI interface is found at: https://aragorn.renci.org/query
- SmartAPI Registration: http://smart-api.info/registry?q=ddd4fdce05c3e1b7b4499c80b8e3fb00
ARAGORN is meant to handle arbitrary TRAPI queries, including queries with multiple identified nodes, and arbitrary query topology.
As an example, here is a simple one-hop TRAPI query:
{
"message": {
"query_graph": {
"nodes": {
"n0": {
"id": "NCBIGene:6611",
"category": "biolink:Gene"
},
"n1": {
"category": "biolink:ChemicalSubstance"
}
},
"edges": {
"e01": {
"subject": "n0",
"object": "n1"
}
}
}
}
}
This query looks for chemicals that are directly connected to a single particular gene.
The query can be placed in a text file (query.json) and sent to ARAGORN using e.g. curl:
curl -X POST https://aragorn.renci.org/query -d @query.json
A usage guide examining the results of this query can be found here.
To declare an issue with this software:
- Please browse to: https://github.com/ranking-agent/aragorn/issues.
- Create a new issue by selecting the "New issue" button.
- Populate the form displayed. Please enter a concise description of the issue. Include test data if available.
The Smart-API open API specification and registration can be found here
TODO: Include preface here.
TODO: How is it installed? Provide a link to the ARAGORN code readme? if so, it needs updating to include the actual installation procedures.
TODO: Include preface here.
- TODO: How is this different from the "Steps to create your own query" above? Is it just more examples of interesting things?
- TODO: Is this to showcase different approaches for discovering interesting things?
- TODO: Is this to showcase a jupiter notebook or two?
Below you will find the external web services that are used within the ARAGORN tool.
Below is a list of knowledge providers accessed by ARAGORN and supporting web services.
TODO: Is this is a comprehensive list? is more needed?
- Genetic Knowledge Provider
- Molecular Data Provider
- Service Provider
- Exposure Provider
- Automat
- Data normalization services
Below you will find references that detail the standards, web services and supporting tools that are part of ARAGORN.
- Answer Coalescence
- ARAGORN
- KP Registry
- Node normalization
- ARAGORN ranker
- [Reasoner](TRAPI->cypher transpiler)](https://github.com/ranking-agent/reasoner)
- ReasonerAPI
- ReasonerStdAPI Message Jupyter Notebook visualizer
- Strider
TODO: Need more links here? Should the other wiki pages be referenced here?