Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

KP / ARA Using (biolink 2.0) canonical predicate directions -- July 1 #49

Open
vgardner-renci opened this issue Jun 22, 2021 · 1 comment

Comments

@vgardner-renci
Copy link

No description provided.

@vgardner-renci vgardner-renci changed the title KP / ARA Using (biolink 2.0) canonical predicate directions KP / ARA Using (biolink 2.0) canonical predicate directions -- July 1 Jun 22, 2021
@cbizon
Copy link
Collaborator

cbizon commented Jun 22, 2021

The primary direction of predicates has been tagged with ‘biolink:canonical_predicate’.

For instance, the treats predicate has the canonical predicate tag:

treats:
    aliases: ['is substance that treats']
    is_a: ameliorates
    description: >-
      holds between a therapeutic procedure or chemical entity
      and a disease or phenotypic feature that it is used to treat
    domain: chemical or drug or treatment
    range: disease or phenotypic feature
    annotations:
      tag: biolink:canonical_predicate
      value: true

and its inverse does not:

treated by:
    is_a: related to
    description: >-
      holds between a disease or phenotypic feature and a therapeutic
      process or chemical entity that is used to treat the condition
    domain: disease or phenotypic feature
    range: chemical or drug or treatment
    # range: chemical or drug or treatement
    in_subset:
      - translator_minimal
    inverse: treats
    exact_mappings:
      - WIKIDATA_PROPERTY:P2176
      # RTX contributed term tagged as inverse of 'biolink:treats'
      - MONDO:disease_responds_to
    narrow_mappings:
      # "is treated by substance" constrains statements to
      # subset of the universe of all possible treatments
      - RO:0002302

By July 1, KPs can expect that in this case they will only receive queries containing treats predicates, and never treated_by predicates. Furthermore, to return an edge of this type, KPs should return a treats predicate.

In principle the ARS should also only pass canonically directed edges to the ARAs, but this is not guaranteed, so ARAs may need to do some preprocessing to protect themselves.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants