Skip to content

Ubergraph filters #28

@dosumis

Description

@dosumis

STATUS: DRAFT

Problem

The results of direct queries of ubergraph redundant and non-redundant graphs often give suboptimal results for biologist-facing use cases. The redundant

Case 1: Most precise object term needed.

Query of object graph => object terms that are too abstract. Query of non-redundant graph fails to => any object term in cases where redundancy stripping assumes users will be able to infer from the properties of a more general class.

Examples:

cell_ontology GO
sensory epithelial cell biological_process
interneuron biological_process
motor neuron biological_process
sensory neuron biological_process
polymodal neuron biological_process
  • Querying the non-redundant graph gives too little, e.g.,GABAergic only links to GO BP on the most general grouping class.

https://api.triplydb.com/s/166HwhWEo

cell_ontology GO
GABAergic neuron gamma-aminobutyric acid secretion, neurotransmission

The redundant graph => 67 cell types

cell_ontology GO
basket cell gamma-aminobutyric acid secretion, neurotransmission
cerebellar Golgi cell gamma-aminobutyric acid secretion, neurotransmission
GABAergic neuron gamma-aminobutyric acid secretion, neurotransmission
Kolmer-Agduhr neuron gamma-aminobutyric acid secretion, neurotransmission
rosehip neuron gamma-aminobutyric acid secretion, neurotransmission
cerebral cortex GABAergic interneuron gamma-aminobutyric acid secretion, neurotransmission
GABAergic interneuron gamma-aminobutyric acid secretion, neurotransmission
...
  • What we want:
cell_ontololgy GO
fan Martinotti neuron biological_process
fan Martinotti neuron transmission of nerve impulse
fan Martinotti neuron secretion by cell
fan Martinotti neuron acid secretion
fan Martinotti neuron gamma-aminobutyric acid secretion, neurotransmission
fan Martinotti neuron secretion
fan Martinotti neuron transport
fan Martinotti neuron cellular process
fan Martinotti neuron biological regulation
fan Martinotti neuron regulation of neurotransmitter levels
fan Martinotti neuron system process
fan Martinotti neuron neurotransmitter transport
fan Martinotti neuron neurotransmitter secretion
fan Martinotti neuron signal release
fan Martinotti neuron multicellular organismal process
fan Martinotti neuron nervous system process
fan Martinotti neuron gamma-aminobutyric acid secretion
fan Martinotti neuron gamma-aminobutyric acid transport
fan Martinotti neuron localization
fan Martinotti neuron establishment of localization
fan Martinotti neuron regulation of biological quality
fan Martinotti neuron organic substance transport
fan Martinotti neuron export from cell
fan Martinotti neuron establishment of localization in cell
fan Martinotti neuron signal release from synapse

-->

cell_ontololgy GO
fan Martinotti neuron transmission of nerve impulse
f
fan Martinotti neuron gamma-aminobutyric acid secretion, neurotransmission
  • Proposed Solution
    For each subject: query for all subClassOf relationships between object terms. Filter out all triples from the original query where the term has subclasses according to this second query. However, this would require many secondary queries and so would be inefficient. Is there some clever way to do this in SPARQL with subqueries?

CASE2: Graph-view generation

Aim: simple redundancy stripping that does not assume users can deal with inheritance of properties down the class heirarchy.

{details and examples TBA}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions