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

Adding Edge Pattern and Relation Types #114

Open
callahantiff opened this issue Oct 9, 2021 · 3 comments · May be fixed by #122
Open

Adding Edge Pattern and Relation Types #114

callahantiff opened this issue Oct 9, 2021 · 3 comments · May be fixed by #122
Assignees

Comments

@callahantiff
Copy link
Owner

New Edge Metadata

I am hoping to add two types of relation-specific metadata to the statistics that are currently generated with each KG build: (i) relation types and (ii) relation patterns. A brief description of each is included below. The thing to keep in mind when considering how we might generate these stats is that we need strategies for generating them for our OWL builds and the OWL-NETS builds.

Relation Types

Resources: arXiv paper

I think it's most useful to think of these things in terms of tail and relation pairs versus a head node or head and relation pairs versus a tail node.

  1. 1:1: only one tail node points only one other type of tail node
  2. 1:N: one head node points to at least one tail node (e.g., one variant can contribute to multiple phenotypes)
  3. N:1: more than one head node points to the same tail node (e.g., many proteins have the same cellular location)
  4. N:N: more than one head node is connected to more than one tail node (e.g., many proteins interact with many other proteins)

I also attempted to draw the silly picture included below.
IMG_6216


Relation Patterns

Resources: Stanford Lecture; article, page 27

  1. Symmetric: r ∈ R is symmetric if ∀(h, r, t) ∈ G, (t, r, h) ∈ G (e.g., moleculary interacts)
  2. Antisymmetric: r ∈ R is anti-symmetric if ∀(h, r, t) ∈ G, (t, r, h) ∉ G
  3. Inversion: r ∈ R then the inverse R-1 = {∀(h, r, t) : (t, r, h) ∈ R}
  4. Transitive): r ∈ R is transitive if ∀ pairs of facts (h, r, x) ∈ G and (x, r, t) ∈ G, (h, r, t) ∈ G as well (for OWL KGs this is easily identified easily through owl:TransitiveProperty)
  5. Reflexive: r ∈ R is reflexive if ∀(h, r, t) ∈ G, (h, r, h) ∈ G
  6. Irreflexive: r ∈ R is irreflexive if ∀e ∈ ɛ(e, r, r) ∉ G

Notes

  • I think I have a good sense of how to find the first three in both OWL and OWL-NETS, but patterns 4-6 seem to be a bit tricker. Perhaps we might be able to discuss some heuristics for these?
  • We will have to make sure we have the math solid since some theorem state if a relation is one of these things it's also another.



Other relevant or Linked Issues: #99


@bill-baumgartner - Can you please confirm if you agree with this? Any help or insight you have would also be greatly appreciated! 😄

@sanyabt
Copy link
Collaborator

sanyabt commented Oct 14, 2021

Hi @callahantiff, dropping in for a quick comment that Scott Malec (@kingfish777) mapped relations in the Relation Ontology to the above relation patterns for our symmetric and transitive closure on literature-based knowledge and semantic relation extraction graph last year. Will be happy to share that if it is useful 😄

@callahantiff
Copy link
Owner Author

Hi @callahantiff, dropping in for a quick comment that Scott Malec (@kingfish777) mapped relations in the Relation Ontology to the above relation patterns for our symmetric and transitive closure on literature-based knowledge and semantic relation extraction graph last year. Will be happy to share that if it is useful 😄

Oh, yes, please! That would be awesome! Thank you so much for sharing!

@sanyabt
Copy link
Collaborator

sanyabt commented Oct 14, 2021

Of course! I am meeting him tomorrow and will make sure I have the latest version then share it with you.

@callahantiff callahantiff linked a pull request Dec 8, 2021 that will close this issue
@callahantiff callahantiff linked a pull request Dec 8, 2021 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants