---
# System prepended metadata

title: Concepts
tags: [LOC CLI]

---

[Back to LOC CLI Guidebook](https://hackmd.io/4LIsNIuWQnuR70JMeuBAEA?view)

# Concepts

## Data Process

A **data process** is a series of *data logics*. The data logics come from *business logics*, which are based on your actual data-handling business process.

From the operation's point of view, a data process is in fact a mini-application created by LOC CLI. From the LOC CLI users' point of view, a data process is a series of *logics* that perform necessary actions.

A data process consists of the following components:

- **Generic logic** is the basic component in a data process. You can have as many as you like and they will be executed by a predefined order.
- **Aggregator logic** is the final component responsible for putting together the execution result. There can only be one aggregator logic per each data process.
- **Agents** are built-in drivers for generic/aggregator logic to connect internal or external data resources.

A data process can be triggered (invoked) by many ways, such as an **API route**.

![](https://hackmd.io/_uploads/HJQpa4LLc.png)

## Event

An **event** is designed to keep your desired results or outputs generated from a data process and can be used to exchange information with other data processes. An event has the following components:

- **Label Name**: name for each event.
- **Source DID**: name of the sender.
- **Target DID**: name of the receiver.
- **Meta**: additional data in the event.
- **Type**: group label for the event (normally set as ```default```).

An event in LOC has a source DID and a target DID. Both are defined and created based on the settings above. Together with the event, they represent data flows in your business and can be visualised as graphs in LOC CLI's Data Discovery window.

> The event source DIDs and target DIDs themselves are also referred as *nodes* or [*data lineage*](https://www.imperva.com/learn/data-security/data-lineage/). You can think of nodes are like data channels which can be subscribed by other data processes.

## Other Terminology

- **DID (Digital Identity)**: a unique string that represent the idenfication of a LOC data process or an event node.
- **Source/Target DID**: event source or target identified with a DID.
- **Potential Labelling**: a schema to create an event.
- **API Route**: a URL to invoke a data process, also called a path or an API endpoint.
- **Data Source**: one of the components of an event, used to read/write data in the data process.


---

<text style="font-size:17pt">**LOC CLI Guidebook Catalogue**</text>

<text style="font-size:13pt"> [Introduction](https://hackmd.io/J5r2l2OaRgKF9LACR5KHsg?view)</text>
<text style="font-size:13pt"> [Concept](https://hackmd.io/5BxomxmWQsepZz7bhXnfjg?view)</text>
<text style="font-size:13pt"> [LOC CLI Introduction](https://hackmd.io/igLh4azUT2aI8Fv-q-0e-g?view)</text>
<text style="font-size:13pt"> [LOC CLI Commands](https://hackmd.io/JvP9MTvgSmGEubrizwSWVQ?view)</text>
<text style="font-size:13pt"> [Getting Started - JavaScript](https://hackmd.io/IiHvmAtjTTGFfakaH0dWuw?view)</text>
<text style="font-size:13pt"> [Getting Started - TypeScript](https://hackmd.io/kz93Th7vTCCbO3GFxp3r-A?view)</text>
<text style="font-size:13pt"> [Reference - Agent List](https://hackmd.io/Uj-tC7l9Q82VyGr8R5PL2Q?view)</text>

###### tags: `LOC CLI`