# Data Fields, Tags, and Data Streams

Understanding how **Data Fields**, **Tags**, and **Data Streams** work together is essential to building reliable and scalable projects in EasyEdge.

Each one plays a specific role in the journey from raw device data to application-ready insights.

## 📍 Data Fields

**Data Fields** represent the raw data points collected directly from the connected device using a specific Asset Driver.

They are protocol-level definitions that include:

* Register addresses (or equivalent protocol reference)
* Function codes or memory types
* Data types, lengths, and read/write operations

{% hint style="info" %}
🛠️ Data Fields define what is being read from the device, but are not yet part of your project data model.
{% endhint %}

***

## 🏷️ Tags

**Tags** are the core building blocks of your project’s data model. They represent the structured data available at the edge and power all logic, transformation, and data delivery throughout EasyEdge.

Tags can be created from:

* **Data Fields** (extracted from Assets)
* **Other Tags** (from Asset Tags, Core Tags, Workflow Tags, and Application Tags)
* **Data Streams** (originating from connected Applications)

Each Tag can:

* Reference one or multiple sources
* Apply transformations using **Expressions**
* Be grouped, renamed, and organized in folders
* Be marked as **writable** to accept values from external sources (e.g., Applications or other Assets)

Tags are used throughout the platform in:

* **Workflows** — to process edge logic and generate new Tags
* **Core Tags** — to define shared logic across the system
* **Data Streams** — to send processed data to IT and cloud destinations

{% hint style="info" %}
🧠 Tags form the foundation of your edge intelligence—connecting devices, logic, and applications.
{% endhint %}

***

## 🌐 Data Streams

**Data Streams** define what data is sent from the Edge to each **Application** (IT, cloud, or on-prem).

Each Data Stream:

* Selects a **Tag** or subset of **Tags** relevant for the destination
* Can include additional **Expressions**, **Transformations**, and **Data Filters**
* Supports flexible modeling:
  * A **1-to-1** mapping with a single Tag
  * A stream triggered by a **subset of Tags** (e.g., any change across three sensors)
  * A stream built from **multiple Tags combined into a single expression** (e.g., calculating the average of three temperatures)

{% hint style="info" %}
🎯 This gives you full control over what is exposed to each Application, even when multiple EdgeNodes are part of the same System (Sit&#x65;*).*
{% endhint %}

### **Namespace**

Data Streams are organized under a **Namespace**, which represents the logical structure of the data you’re delivering to an Application.

In EasyEdge, the **System Namespace** is part of the broader **Unified Namespace (UNS)** and reflects the **organized and contextualized data from the Site** into a specific **Application**.&#x20;

Each Namespace defines how the data is structured and exposed, allowing users to tailor the delivery model to match the requirements of each target Application. This means you can create **multiple Namespaces** within the same System, each aligned with the expectations and structure of a different Application.

The Namespace can include Data Streams created from:

* Tags sourced from **different Assets,** from **multiple EdgeNodes**
* Tags built through **Core Tags** or **Workflows**

This approach enables unified data delivery across distributed edge devices, centralized and fully abstracted.

{% hint style="info" %}
🌍 This gives you the flexibility to deliver the same edge intelligence to different destinations, each with its own structure, filtering, and transformation rules.
{% endhint %}

***


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://easyedge.gitbook.io/easyedge/data-fields-tags-and-data-streams.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
