Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/patzaw/TKCat
This R package provides tools to manage a catalog of knowledge data.
https://github.com/patzaw/TKCat
Last synced: 9 days ago
JSON representation
This R package provides tools to manage a catalog of knowledge data.
- Host: GitHub
- URL: https://github.com/patzaw/TKCat
- Owner: patzaw
- License: gpl-3.0
- Created: 2019-05-02T08:04:45.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2024-05-22T14:03:57.000Z (7 months ago)
- Last Synced: 2024-05-22T15:29:48.745Z (7 months ago)
- Language: R
- Homepage: https://patzaw.github.io/TKCat/
- Size: 31.6 MB
- Stars: 5
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.Rmd
- License: LICENSE
Awesome Lists containing this project
- jimsghstars - patzaw/TKCat - This R package provides tools to manage a catalog of knowledge data. (R)
README
---
title: "README"
output:
rmarkdown::github_document:
number_sections: false
toc: false
toc_depth: 2
editor_options:
chunk_output_type: console
---```{r setup, include = FALSE}
library(knitr)
library(TKCat)
cranRef <- function(x){
sprintf(
"[%s](https://CRAN.R-project.org/package=%s): %s",
x, x, packageDescription(x)$Title
)
}
```# Tailored Knowledge Catalog
[![CRAN_Status_Badge](https://www.r-pkg.org/badges/version/TKCat)](https://cran.r-project.org/package=TKCat)
[![](https://cranlogs.r-pkg.org/badges/TKCat)](https://cran.r-project.org/package=TKCat)The aim of [TKCat](https://patzaw.github.io/TKCat/) (Tailored Knowledge Catalog)
is to facilitate the management of
data from knowledge resources that are frequently used alone or together in
research environments. In TKCat, knowledge resources are manipulated as modeled
database (MDB) objects. These objects provide access to the data tables along
with a general description of the resource and a detail data model generated
with [ReDaMoR](https://patzaw.github.io/ReDaMoR/) documenting the tables, their
fields and their relationships. These MDB are then gathered in catalogs that can
be easily explored an shared. TKCat provides tools to easily subset, filter and
combine MDBs and create new catalogs suited for specific needs.This package has been presented
at the [useR!2022 conference](https://user2022.r-project.org/) and
here are [the slides](https://patzaw.github.io/TKCat/useR2022/TKCat-useR2022-Patrice-Godard.html).The TKCat R package is licensed under
[GPL-3](https://www.gnu.org/licenses/gpl-3.0.en.html).# Installation
## From CRAN
```{r, eval=FALSE}
install.packages("TKCat")
```## Dependencies
The following R packages available on CRAN are required:
```{r, echo=FALSE, results='asis'}
deps <- desc::desc_get_deps()
sdeps <- filter(deps, type %in% c("Depends", "Imports") & package!="R")
for(p in sdeps$package){
cat(paste("-", cranRef(p)), sep="\n")
}
```And those are suggested:
```{r, echo=FALSE, results='asis'}
wdeps <- filter(deps, type=="Suggests" & package!="R")
for(p in wdeps$package){
cat(paste("-", cranRef(p)), sep="\n")
}
```## From github
```{r, eval=FALSE}
devtools::install_github("patzaw/TKCat")
```# Documentation
- [Introduction to TKCat](https://patzaw.github.io/TKCat/articles/TKCat.html)
(`vignette("TKCat")`)- [Defining and using Requirements for Knowledge Management](https://patzaw.github.io/TKCat/articles/TKCat-KMR-POK.html)
(`vignette("TKCat-KMR-POK")`)# Alternatives
- The [dm](https://github.com/krlmlr/dm) package provides similar features but
with different implementation choices. Here are the main differences:- The **dm** data model feature is built upon the
[datamodelr](https://github.com/bergant/datamodelr) package whereas
**TKCat** relies on [ReDaMoR](https://patzaw.github.io/ReDaMoR/).
- Both **dm** and **TKCat** provides mechanisms to check the fulfillment
of the data model constrains and tools to automatically take advantage
of them.
- **dm** supports connection to many different DBMS. It also take
advantage of constraints which are documented in the DBMS when
available. **TKCat** only supports the
[ClickHouse](https://clickhouse.com/) system through the
[ClickHouseHTTP](https://github.com/patzaw/ClickHouseHTTP) or
[RClickhouse](https://github.com/IMSMWU/RClickhouse) packages.
- **TKCat** implements 3 main types of MDB based on files, memory tables
or ClickHouse database. It also provides mechanisms to automatically
convert from and to any of these implementations.
- **TKCat** supports catalogs of MDBs facilitating the exploration of
existing data. It also allows the integration of different MDBs through
the automatic identification of similar concepts (Collections) and the
automatic conversion of the different vocabulary on which they rely.