atomic (CLI)
Status: pre-alpha
A command-line application to create, read and interact with Atomic Data.
atomic 0.17.1
Joep Meindertsma <joep@ontola.io>
Create, share, fetch and model linked atomic data!
USAGE:
atomic-cli [SUBCOMMAND]
FLAGS:
-h, --help Prints help information
-V, --version Prints version information
SUBCOMMANDS:
destroy Permanently removes a Resource. Uses Commits.
edit Edit a single Atom from a Resource using your text editor. Uses Commits.
get Traverses a Path and prints the resulting Resource or Value.
help Prints this message or the help of the given subcommand(s)
list List all bookmarks
remove Remove a single Atom from a Resource. Uses Commits.
set Update an Atom's value. Uses Commits.
Visit https://github.com/joepio/atomic for more info
Installation
Install Cargo to build from source.
Install using crates.io:
Or build from this repo:
# Install atomic to path
Usage
Run atomic-cli command --help for mor information about specific commands.
The write commands (set, remove, edit, destroy) require some authentication config, which needs to match with the target atomic-server.
It will read the ~/.config/atomic/config.toml file, and create one using some prompts if it is not yet present.
Progress
- Stores & reads stuff from and to .ad3 user files on disk
- A
newcommand for instantiating Atomic Classes - A
listcommand for showing local bookmarks (mappings) - A
getcommand for finding resources and parts of data using Atomic Paths with...- AD3 Serialization
- Basic JSON Serialization
- RDF (Turtle / N-Triples / RDF/XML) Serialization
- Works with
atomic-server#6- fetches data using
get, handlespathsclient side -
set,remove,editanddestroycommands for commits -
newcreates commits
- fetches data using
- A
deltacommand for manipulating existing local resources - Tests for the cli
- A
mapcommand for creating a bookmark and storing a copy
Config
Atomic creates a ~/.config/atomic folder, which contains a mapping.amp and a store.ad3.
Mapping
The Mapping refers to your user specific set of shortname-URL combinations.
This Mapping lives as a simple text file in ./user_mappping.amp.
person=https://atomicdata.dev/classes/Person
What this should be able to do
This serves as a UX story that guides the development of this CLI.
# Add a mapping, and store the Atomic Class locally
# NOT YET SUPPORTED
# Create a profile for yourself
# By default, atomic creates IFPS resources for your created data, which are publicly stored
# NOT YET SUPPORTED
# Add a mapping for your newly created resource, so you can use that shortname instead of the long IPFS url.
)
# Instead of link to an Atomic Server where you can upload your stuff
# If you don't, your data exists locally and gets published to IPFS
# NOT YET SUPPORTED
# install ontologies and add their shortnames to bookmarks
# when no URL is given, use the Ontola repo's ontologies