## ----setup,message=FALSE------------------------------------------------------
library(ontoProc2)
library(DBI)
library(dplyr)
ubss <- semsql_connect(ontology = "uberon")
report(ubss)
ubcon <- ubss@con
head(dbListTables(ubcon))
tbl(ubcon, "statements")

## ----doconv, cache=FALSE------------------------------------------------------
uboi <- semsql_to_oi(ubcon)
uboi
uboi$name[10364:10370]

## ----lktags-------------------------------------------------------------------
prefs <- gsub(":.*", "", names(uboi$name))
table(prefs)

## ----doplot, fig.width=10-----------------------------------------------------
onto_plot2(
  uboi,
  unlist(uboi$ancestors[c(
    "UBERON:0002189",
    "UBERON:0002113", "UBERON:0000948"
  )])
)

## ----lkmondo------------------------------------------------------------------
mon = semsql_connect(ontology="mondo")
tbl(mon@con, "entailed_edge") |> 
   filter(object == "UBERON:0000948") |> 
   filter(subject %like% "MONDO%") |> 
   inner_join( tbl(mon@con, "rdfs_label_statement"), by="subject") |> 
   as.data.frame() |> select(subject, value) |> distinct() |> DT::datatable()

## ----docross------------------------------------------------------------------
cl = semsql_connect(ontology="cl")
tbl(ubcon, "entailed_edge") |> 
   filter(object == "UBERON:0000948") |> 
   filter(subject %like% "CL:%") |> 
   inner_join( tbl(cl@con, "rdfs_label_statement"), by="subject", copy="temp-table") |> 
   as.data.frame() |> select(subject, value) |> distinct() |> DT::datatable()

## ----lksess-------------------------------------------------------------------
sessionInfo()

