Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion docs/.pages
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
---
nav:
- Home:
- index.md
- introduction
- Build: build
- Explore: explore-and-author
- Consume: consume
Expand All @@ -9,4 +12,3 @@ nav:
- Develop: develop
- Release Notes: release-notes
- Tutorials: tutorials

2 changes: 2 additions & 0 deletions docs/develop/index.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
---
icon: material/star-outline
hide:
- toc
---
# Develop

Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
173 changes: 156 additions & 17 deletions docs/index.md
Original file line number Diff line number Diff line change
@@ -1,31 +1,18 @@
---
title: "Welcome to the eccenca Corporate Memory documentation"
icon: material/home
comments: false
hide:
- toc
- navigation
---

# Welcome to the eccenca Corporate Memory documentation

<div class="grid cards" markdown>

- :material-calendar: [Release Notes](release-notes/2024/corporate-memory-24-3/index.md)
- :material-home: [Home](#what-is-eccenca-corporate-memory)

---

Documentation of changes and enhancements for each version.

- :material-list-status: [Tutorials](tutorials/index.md)

---

Learn by example and step-by-step guidelines to achieve a concrete goal fast.

- :material-arrow-right-thick: [Getting Started](getting-started/index.md)

---

This page describes how to work with Corporate Memory and shortly outlines all functionalities of the user interface.
New to eccenca Corporate Memory? Start here: what the product is for, how it is structured, and how to get access.

- :material-star: [Build](build/index.md)

Expand Down Expand Up @@ -69,4 +56,156 @@ hide:

Extend Corporate Memory with custom plugins and packages, and access it programmatically through the Python, Java and REST APIs.

- :material-calendar: [Release Notes](release-notes/2026/corporate-memory-26-2/index.md)

---

Documentation of changes and enhancements for each version.

- :material-list-status: [Tutorials](tutorials/index.md)

---

Learn by example and step-by-step guidelines to achieve a concrete goal fast.

</div>

## What is eccenca Corporate Memory?

Corporate Memory connects data that lives in separate systems into one meaningful whole, a knowledge graph.
It keeps that whole usable as the systems and the business around it change.

Prefer to watch?
The video [eccenca Corporate Memory in 3 minutes](https://www.youtube.com/watch?v=Lb0zpH9oLMM){target=_blank} shows what Corporate Memory is for, without a product demo.

[![Video eccenca Corporate Memory in 3 minutes on YouTube: a knowledge graph answering which products are affected if Kessler GmbH fails](video-corporate-memory-in-3-minutes.jpg){ class="bordered off-glb" width="60%" }](https://www.youtube.com/watch?v=Lb0zpH9oLMM){target=_blank}

Reading time: 4 minutes.
No prior knowledge is required.
The following sections explain what the product is for, not how to use it.

### A familiar problem

A supplier has just gone out of business.
Someone in purchasing needs to know which products are affected.

The answer exists.
But the product is called `P-10045` in the ERP system, `PRD_10045_A` in the PLM system and `45100-XX` in the supplier portal.
Each system is right on its own terms, and none of them knows about the others.
So the answer is put together by hand, takes days, and is out of date by the time anyone acts on it.

Most organizations do not have a data shortage.
They have a connection problem.

### What eccenca Corporate Memory does

![Left: three systems with three names for the same product. Right: the same product, connected by named relationships.](three-systems-one-product.png){ class="bordered" }

Corporate Memory gives the context of the data a place to live.

It reads data from existing systems and expresses it as a knowledge graph: things, and the named relationships between them.
This product is made at this plant.
This plant is supplied by this company.
Each statement is written down explicitly, in a form both people and software can follow.

The three identifiers do not disappear.
They become properties of one product, so any fact can be traced back to the system it came from, and written back to it where that makes sense.

The question from purchasing now has a place to be asked, and an answer that is the same for everyone who asks it.

![Suppliers, the products they supply and the countries they are in, shown in Graph Insights. Every connection carries a name.](graph-insights-suppliers-products-countries.png){ class="bordered" width="60%" }

Around the graph, the platform provides what is needed to keep it alive: building it from real sources, exploring and correcting it, checking that it still meets expectations, and serving it to the people and applications that need answers.

- [What is a knowledge graph?](introduction/what-is-a-knowledge-graph/index.md) explains the idea in more depth.
- [eccenca Corporate Memory at a glance](introduction/corporate-memory-at-a-glance/index.md) shows how the parts of the product fit together.

### Terms used in this documentation

These terms are not needed for this introduction.
They become useful once reading continues into the other sections.

| Term | In one line |
| --- | --- |
| Mapping | How source columns become things and relationships in the graph. |
| Linking | Deciding when two records from different systems mean the same thing. |
| Shapes (SHACL) | Writing down what must be true about the data, and checking it. |
| Vocabulary | The agreed names for the kinds of things and relationships in use. |
| Workflow | Running all of it again whenever the sources change. |
| Marketplace | Ready-made packages to install and adapt. |
| cmemc | Doing the same from the command line, for automation and CI/CD. |

### What it is and what it is not

| Corporate Memory is … | … and it is not |
| --- | --- |
| a layer that connects with existing systems | a replacement for them; the ERP system stays the ERP system |
| built to represent meaning and relationships | a data warehouse or a BI tool for aggregating numbers |
| configured for business users by people who know the data and the domain | a finished application for end users |
| support for modeling decisions | a way to avoid them |

It does not wire the systems to each other either.
Corporate Memory connects with them, brings their data together in one graph, and leaves them running as they are.

The last row matters most.
Deciding what the data means is modeling work.
Corporate Memory supports that work, it does not do it.

### Is it the right tool?

Corporate Memory is likely to add value when most of these questions are answered with yes:

- Do the questions cross system boundaries?
- Is the same real-world thing represented differently in different places?
- Do relationships matter as much as the values themselves?
- Is the structure of the data expected to keep changing?

It is probably not the right tool for a single well-structured source with a stable schema, or for a question that is essentially "sum this column by month".
It is also not the right tool when nobody in the organization is available to decide what the data means.
That last one is the most common reason such projects stall, and no software solves it.

### Who works with it

<div class="grid cards" markdown>

- __Linked Data Experts and data engineers__

---

Do most of the building: connect sources, model, and keep the graph current.

[:octicons-arrow-right-24: Build a knowledge graph](build/index.md)

- __Business users__

---

Work with what has been configured for them, usually without seeing the model behind it.

[:octicons-arrow-right-24: Explore and manage knowledge](explore-and-author/index.md)

- __Developers__

---

Integrate Corporate Memory with other applications and extend it.

[:octicons-arrow-right-24: Extend Corporate Memory](develop/index.md)

- __Administrators__

---

Install, operate and upgrade it.

[:octicons-arrow-right-24: Deploy and operate](deploy-and-configure/index.md)

</div>

Choosing one of these roles is not required at this point.

### Next

- [What is a knowledge graph?](introduction/what-is-a-knowledge-graph/index.md): the concept, 5 minutes, on the main path
- [Semantic Web basics](introduction/semantic-web-basics/index.md): optional, the terminology, about 35 minutes
- [eccenca Corporate Memory at a glance](introduction/corporate-memory-at-a-glance/index.md): the parts of the product and how they relate
7 changes: 7 additions & 0 deletions docs/introduction/.pages
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
nav:
- "What is a knowledge graph?": what-is-a-knowledge-graph
- Semantic Web basics: semantic-web-basics
- At a glance: corporate-memory-at-a-glance
- Get access: get-access
- See it in the product: see-it-in-the-product
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
89 changes: 89 additions & 0 deletions docs/introduction/corporate-memory-at-a-glance/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
---
title: "Introduction: eccenca Corporate Memory at a glance"
---

# eccenca Corporate Memory at a glance

[What is a knowledge graph?](../what-is-a-knowledge-graph/index.md) explains the knowledge graph in the middle of the following picture.
The five areas around it are where the work with that graph happens.
Each area is a part of eccenca Corporate Memory, and each has its own section in this documentation.
The following descriptions say what each one is for, in two or three sentences, and nothing about how to use it.

![Overview of Corporate Memory: the knowledge graph in the center, connected to Build, Explore and Consume, with Govern and Distribute across all three](corporate-memory-overview.png){ width="80%" }

## Build

Build is where data becomes a knowledge graph.
A source is connected: a file, a database, an API.
Its columns are then defined as things and relationships, and the Mapping Creator proposes most of that.
Workflows put the steps in order, so the graph can be rebuilt whenever the sources change.

Mostly used by Linked Data Experts and data engineers.

[:octicons-arrow-right-24: Go to Build](../../build/index.md)

## Explore

Explore is where people work with the graph.
Searching finds a thing, its connections become visible, and what is wrong is corrected in place, without a query language.
Views can be tailored to a task, so a colleague sees their own fields rather than the model behind them.

Used by business users and Linked Data Experts.

[:octicons-arrow-right-24: Go to Explore](../../explore-and-author/index.md)

## Consume

Consume is where other systems take over.
Dashboards, applications, automated processes and AI agents read the same graph through standard interfaces such as SPARQL, SQL and REST.
Everyone then works from the same answer instead of a copy of their own.

Used by developers, analysts and Linked Data Experts.

[:octicons-arrow-right-24: Go to Consume](../../consume/index.md)

## Govern

Govern is what keeps the whole thing dependable.
Access rules decide who sees and changes what, and metrics and logs show whether the system is healthy.
Everything that can be done by hand can also be done from the command line or through an API.
That is what makes automation and continuous delivery possible.

Used by administrators and operations teams.

[:octicons-arrow-right-24: Go to Automate](../../automate/index.md) · [:octicons-arrow-right-24: Go to Deploy and Configure](../../deploy-and-configure/index.md)

## Distribute

Distribute is how work gets reused.
The Marketplace holds ready-made content that can be added to an instance: vocabularies, taxonomies, data graphs, Build projects and query catalogs.
Complete demo and solution setups are included.
Everything arrives as a versioned package, and Corporate Memory puts its contents where they belong.
Solutions built in house can be packaged and shared the same way.

Used by Linked Data Experts and developers.

[:octicons-arrow-right-24: Go to Distribution](../../distribution/index.md)

## What else it can do

The five areas above are where most work happens.
The following capabilities exist alongside them, and are named here so that they are known to exist rather than explained.

| Capability | In one line | Where |
| --- | --- | --- |
| Query and SPARQL | The query language for graphs, and the precise way to ask the data a question nobody planned for. | [Queries](../../explore-and-author/query-module/index.md) |
| Reasoning | Derives the facts that follow from the data and the rules, without anyone stating them. | [Reason](../../build/reference/customtask/cmem_plugin_reason-plugin_reason-ReasonPlugin.md) |
| Shapes (SHACL) | Record what must be true about the data, and check whether it is. | [Building a customized user interface](../../explore-and-author/graph-exploration/building-a-customized-user-interface/index.md) |
| Linking rules | Decide when two records from different systems mean the same real-world thing. | [Link Rules](../../explore-and-author/link-rules/index.md) |
| Link learning | Proposes those rules from examples, instead of requiring them to be written by hand. | [Active Learning](../../build/active-learning/index.md) |
| Python plugins | Add functions that the standard product does not provide. | [Python Plugins](../../develop/python-plugins/index.md) |
| Deployment | The technical operating layer, so Corporate Memory runs in different environments. | [Deploy and Configure](../../deploy-and-configure/index.md) |

## Next

- [Get access](../get-access/index.md): a sandbox or an existing instance
- Basic, the hands-on path to a first knowledge graph in about four hours, is in preparation.
Until then, the [Tutorials](../../tutorials/index.md) cover the first steps.

<!-- TODO: replace the Basic entry above with a link once the Basic learning path exists. -->
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
80 changes: 80 additions & 0 deletions docs/introduction/get-access/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
---
title: "Introduction: Get access to the sandbox"
---

# Get access to the sandbox

The eccenca Corporate Memory sandbox is a free, personal Corporate Memory instance for trying out the product.
It is provided at [eccenca.my](https://eccenca.my/) as the Community Edition sandbox.

The following steps register an account at eccenca.my and sign in to the sandbox.
The result is a running sandbox that serves as the starting point for the tutorials in this documentation.

For the content that a new sandbox includes, and for its limitations, see [Welcome to your eccenca Corporate Memory Sandbox](../../getting-started/with-your-sandbox/index.md).

!!! info "Existing instance"

With access to an existing Corporate Memory instance, no registration is needed.
Open the URL of the instance and sign in with the credentials provided by its administrator, as described in [Login and Logout](../../getting-started/index.md#login-and-logout).

## Prerequisites

The following items are required:

- An email address that receives the messages from eccenca.my
- A supported web browser, as listed under [Minimal requirements](../../getting-started/index.md#minimal-requirements)

## Register an account

1. Open [eccenca.my](https://eccenca.my/) in a web browser.
2. Click **GET STARTED**.
The eccenca.my sign-in form opens.
3. Click **Register**.
The **Register** form opens.
4. Enter the following values:

- **First name:** the first name of the account holder
- **Last name:** the last name of the account holder
- **Email:** the email address that is used to sign in
- **Password:** a password for the account
- **Confirm password:** the same password again

![Register form at eccenca.my with the fields First name, Last name, Email, Password and Confirm password](eccenca-my-register-form.png){ class="bordered" width="50%" }

5. Click **REGISTER**.
The **Terms and Conditions** dialog opens.
It covers the eccenca.my terms of service, the data privacy policy and the Ontotext GraphDB Free license agreement.

![Terms and Conditions dialog at eccenca.my](eccenca-my-terms-and-conditions.png){ class="bordered" width="50%" }

6. Click **ACCEPT**.
The **Email verification** form opens, and eccenca.my sends an email with instructions to verify the email address.

![Email verification form at eccenca.my](eccenca-my-email-verification.png){ class="bordered" width="50%" }

7. Follow the instructions in the email to verify the email address.
The account is activated, and the **Your Sandboxes** overview opens.

## Request a sandbox

1. In the **Your Sandboxes** overview, click **Request Sandbox**.

![Your Sandboxes overview at eccenca.my with the Request Sandbox button](eccenca-my-your-sandboxes.png){ class="bordered" width="50%" }

2. Enter a name of choice for the instance in the form.

The provisioning of the sandbox takes up to 24 hours.
When the sandbox is ready, eccenca.my sends an email with the link to the sandbox and its credentials.

## Open the sandbox

1. Open the link from the email that announces the sandbox.
2. Sign in with the credentials from the same email.

## Next

- [See it in the product](../see-it-in-the-product/index.md): five features, with the documentation for each
- Basic, the guided path from a source file to a knowledge graph in about four hours, is in preparation.
Until then, the [Tutorials](../../tutorials/index.md) cover the first steps.

<!-- TODO: replace the Basic entry above with a link once the Basic learning path exists. -->
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Loading