diff --git a/README.md b/README.md index 20b94ca..3c30a0e 100644 --- a/README.md +++ b/README.md @@ -34,7 +34,8 @@ The CLI tool can be used to immediately interface with RO-Crates within a somewh constrained and structured environment, however an understanding of RO-Crate is a realistic requirement to conform with schema.org specifications. The CLI tool should not be relied upon as your primary interface to RO-crates, however it does -allow the tool to be used on any system with some form of terminal. +allow the tool to be used on any system with some form of terminal, be it headless +or ssh. ## Why a python library wrapper diff --git a/src/README.md b/src/README.md index cb85204..57aa8e9 100644 --- a/src/README.md +++ b/src/README.md @@ -3,7 +3,11 @@ ro-crate-rs is a rust library that aims to provide a robust, portable and scalable solution to dealing [RO-Crates](https://www.researchobject.org/ro-crate/1.1/) within the varying software environments that are present across a -Synthetic Biology Laboratory stack (it's current focus). It enforces minimal +Synthetic Biology Laboratory stack (it's current focus). +This implementation was specifically created to address the challenges of data +handling on automated robotic systems within an automated synthetic biology lab, +however it's noted that this could have more general applicability to other environments. +It enforces minimal RO-Crate structure adherence through it's defined data types, but equally allows the crate to be as expansive as needed. @@ -31,7 +35,10 @@ there can be zero to many Data Entities or Contextual Entities Each entity structure consists of an `@id` (or `id` for struct field) and a `@type` (or `type_` for struct field). For Metadata Descriptor and Root Data Entity, they consist of other fields that have been determined to be a requirement by the -RO-Crate specification. +RO-Crate specification. Fields that have been determined as MUST by the RO-Crate +specification are required in their relevant data structure, whilst fields determined +as SHOULD are Options. Any field that is not described as MUST or SHOULD within +the specification can be added as a `dynamic_entity`. Each entity structure also has a field called `dynamic_entity`, which allows the population of any form of JSON-LD compatible value within the statically typed @@ -44,6 +51,19 @@ Fig 2 is a diagram describing how each file relates to one another with a brief intro to the main structures involved. ![](../docs/ro-crate-schema.svg "Brief overview of ro-crate-rs core") +# Usage + +To use, you will need to install rust. It's strongly recommended to use the `rustup` tool. +Follow the installation found on the [rust website](https://www.rust-lang.org/tools/install). Once +this is installed, you can then use cargo. + +To compile for testing, use `cargo build` or `cargo build --release` is performance is a concern. + +# Docs + +To compile docs, run `cargo doc --open` and the documentation will open in your +default browser. +