Skip to content
kltm edited this page Jul 15, 2017 · 5 revisions

API Overview

Current standing from bbopx.minerva.manager describing the request calls used against Minerva’s wire protocol.

Items that are struck out have been deprecated.

Items that are italicized have been recently added.

Key

thing abbr
model id m
instance id i
subject instance id s
object instance id o
relation id r
arbitrary key/value pair (values) KV
nested class expression CLS_EXP (JSON, or class id in manager)
“specify” (special) SPEC (special argument)
not yet implemented at request level *

Core operations (likely stable)

op/ent meta model individual edge
get () m
add () & SPEC 1 m & CLS_EXP m & s,o,r
remove m* m & i m & s,o,r
add-type m & i & CLS_EXP
remove-type m & i & CLS_EXP
add-annotation m & KV m & i & KV m & s,o,r & KV
remove-annotation m & KV m & i & KV m & s,o,r & KV

Peripheral operations

op/ent model/other
get-undo-redo m
undo m
redo m
export m*
export-legacy m* & SPEC 2*
import SPEC 3*
store m
export-all n/a 4*

Possible future operations (BlazeGraph)

These are operations that are direct

op model/other
query (m) & SPEC 5*

Response Expectations

This is a discussion of the types of responses expected for the various queries. Specifically, the differences between “rebuild” and “merge”.

Returned graph information is always “complete”, meaning that an edit to an edge will return both connected individuals as well, no dangling edges are possible, and that all model metadata is always returned.

“merge”

The idea behind the merge is that a “complete” (no dangling edges) subgraph will be be received that can be used to “update” the display rather than completely rebuilding it on every action.

Model annotations will always be returned.

A “merge” **cannot** occur when:

  • there has been a deletion of an individual
  • there has been a deletion of an edge with evidence (as the evidence is an individual and will be deleted in the delete cascade)
  • the reasoner is on

A “merge” can occur when:

  • model, individual, or edge annotations are added or deleted
  • an individual is added
  • an edge is added
  • an edge without evidence is deleted

“rebuild”

A rebuild contains **all** information.

“rebuild” occurs when:

  • a new graph is instantiated
  • any deletion on a top-level entity (beside an edge without evidence)
  • pretty much any other time
  • the reasoner is on

Footnotes

1 “taxon-id”:id & “class-id”:cls_id

2 “format”:”gaf”|”gpad”|”inferredrelations”

3 “import-model”:string

4 Possibly temporary, possibly expand to be able to export/store individual models