Skip to content

RKB Data Model (and Proposed Changes)

Richard Bruskiewich edited this page Apr 11, 2018 · 6 revisions

Back

Objective

This page will document two facets of the Prototype TKG derived from the Reference Beacon

  1. Existing RKB Neo4j Data Model
  2. Proposed list of changes to the RKB model to align with the TKG design

Existing RKB Neo4j Data Model

Since the RKB was developed with a different purpose in mind, there are many diverse nodes (and edges are mostly reified) that are perhaps irrelevant to the mission of the TKG. Initial iterations will blissful ignore these and we'll only provide some descriptions about relevant parts of the model: primary labels and properties.

Some of the design of the RKB Neo4j model reflects the manner in which data elements are manipulated in an "Object Oriented" manner within the Java implementation of the Reference Beacon. That is, there are some Neo4j @NodeEntity designated labels of superclasses used to write polymorphic code. Most of these node entity types (and their associated property labels) are described under the category of "General Model" below. Whether or not the complexity of such generic aspects and their labels need to be retained in the future, has not yet been reviewed.

General Model

DatabaseEntity

Is the superclass of all node data elements which are persisted in the database.

Property Fields

Field Type Description

IdentifiedEntity

Is a DatabaseEntity

Represents the superclass of all globally identified data entities.

Property Fields

Field Type Description

AnnotatedEntity

Is an IdentifiedEntity

Represents the superclass of all generally annotated data entities.

Property Fields

Field Type Description

Concept Model

Concept

Is an AnnotatedEntity

Represents the superclass of all generally annotated data entities.

Property Fields

Field Type Description

Statement Model

Statement

Is an AnnotatedEntity

Represents the reified edge (Predicate") relationship between a "subject" and "object" Concept.

Property Fields

Field Type Description

Predicate

Is an IdentifiedEntity

Represents the reified edge labeling of a Statement with its supporting research citations constituting evidence.

Property Fields

Field Type Description

Evidence

Is an IdentifiedEntity

Represents the reified edge labeling of a Statement with its supporting research citations constituting evidence.

Property Fields

Field Type Description

Annotation

Is an IdentifiedEntity

Represents research citations constituting the evidence of a given statement.

Property Fields

Field Type Description

Proposed Changes

A general Neo4j model is being developed and documented in a draft specification here. The RKB model node and edge properties will be recoded according. The salient features of the shared data model are:

Nodes

Core node properties:

  • id [required]: MUST be a CURIE, MUST use translator-mandated prefix
  • uri [optional]: Equivalent to expansion of CURIE
  • name [required]: Human readable name. Equivalent to rdfs:label
  • category [required]: A semantic type from the biolink model
  • description [optional]: Narrative text

Recommendations for detailed typing:

  • Include a node for the relevance ontology class
  • Add an edge with predicate=’type’ between the node to be typed and the ontology class

Edges

Core edge properties:

  • predicate[required]: MUST be from minimal list
  • relation[optional]: SHOULD be from maximal list, but reasoner-specific extensions allow
  • isDefinedBy[required]: A CURIE/URI for the translator group that made the KG
  • providedBy[required]: A CURIE prefix, e.g. Pharos, MGI, Monarch. The group that curated/asserted the edge

Additional edge properties:

  • Id [optional]: for hypergraphs