diff --git a/.markdownlint.jsonc b/.markdownlint.jsonc index 75b7c745a..aea3c3529 100644 --- a/.markdownlint.jsonc +++ b/.markdownlint.jsonc @@ -35,5 +35,6 @@ "MD045": false, "MD046": false, "MD059": false, - "MD060": false + "MD060": false, + "MD077": false } diff --git a/docs/build/active-learning/index.md b/docs/build/active-learning/index.md index a08d62f9e..f33b3ca7d 100644 --- a/docs/build/active-learning/index.md +++ b/docs/build/active-learning/index.md @@ -1,6 +1,6 @@ --- icon: fontawesome/solid/wand-magic-sparkles -subtitle: Use AI/ML to learn linking rules +# subtitle: Use AI/ML to learn linking rules tags: - BeginnersTutorial --- diff --git a/docs/build/lift-data-from-json-and-xml-sources/button-expand-xml+json.png b/docs/build/lift-data-from-json-and-xml-sources/button-expand-xml+json.png deleted file mode 100644 index 01ec19f98..000000000 Binary files a/docs/build/lift-data-from-json-and-xml-sources/button-expand-xml+json.png and /dev/null differ diff --git a/docs/build/lift-data-from-json-and-xml-sources/button-mapping.png b/docs/build/lift-data-from-json-and-xml-sources/button-mapping.png deleted file mode 100644 index 53bc248ed..000000000 Binary files a/docs/build/lift-data-from-json-and-xml-sources/button-mapping.png and /dev/null differ diff --git a/docs/build/lift-data-from-json-and-xml-sources/button-play-xml+json.png b/docs/build/lift-data-from-json-and-xml-sources/button-play-xml+json.png deleted file mode 100644 index b1e2f0880..000000000 Binary files a/docs/build/lift-data-from-json-and-xml-sources/button-play-xml+json.png and /dev/null differ diff --git a/docs/build/lift-data-from-json-and-xml-sources/create-dataset-JSON.png b/docs/build/lift-data-from-json-and-xml-sources/create-dataset-JSON.png index 866780c5c..b9f8df3c7 100644 Binary files a/docs/build/lift-data-from-json-and-xml-sources/create-dataset-JSON.png and b/docs/build/lift-data-from-json-and-xml-sources/create-dataset-JSON.png differ diff --git a/docs/build/lift-data-from-json-and-xml-sources/create-dataset-KG.png b/docs/build/lift-data-from-json-and-xml-sources/create-dataset-KG.png deleted file mode 100644 index 6fd20d464..000000000 Binary files a/docs/build/lift-data-from-json-and-xml-sources/create-dataset-KG.png and /dev/null differ diff --git a/docs/build/lift-data-from-json-and-xml-sources/create-dataset-XML.png b/docs/build/lift-data-from-json-and-xml-sources/create-dataset-XML.png deleted file mode 100644 index 1193fd0d8..000000000 Binary files a/docs/build/lift-data-from-json-and-xml-sources/create-dataset-XML.png and /dev/null differ diff --git a/docs/build/lift-data-from-json-and-xml-sources/create-new-kg-for-json.png b/docs/build/lift-data-from-json-and-xml-sources/create-new-kg-for-json.png deleted file mode 100644 index 0583fbf90..000000000 Binary files a/docs/build/lift-data-from-json-and-xml-sources/create-new-kg-for-json.png and /dev/null differ diff --git a/docs/build/lift-data-from-json-and-xml-sources/create-new-kg-for-xml.png b/docs/build/lift-data-from-json-and-xml-sources/create-new-kg-for-xml.png deleted file mode 100644 index f67275572..000000000 Binary files a/docs/build/lift-data-from-json-and-xml-sources/create-new-kg-for-xml.png and /dev/null differ diff --git a/docs/build/lift-data-from-json-and-xml-sources/create-new-tf-for-json.png b/docs/build/lift-data-from-json-and-xml-sources/create-new-tf-for-json.png deleted file mode 100644 index 5a3f8e8fc..000000000 Binary files a/docs/build/lift-data-from-json-and-xml-sources/create-new-tf-for-json.png and /dev/null differ diff --git a/docs/build/lift-data-from-json-and-xml-sources/create-new-tf-for-xml.png b/docs/build/lift-data-from-json-and-xml-sources/create-new-tf-for-xml.png deleted file mode 100644 index 867391993..000000000 Binary files a/docs/build/lift-data-from-json-and-xml-sources/create-new-tf-for-xml.png and /dev/null differ diff --git a/docs/build/lift-data-from-json-and-xml-sources/create-new-tf.png b/docs/build/lift-data-from-json-and-xml-sources/create-new-tf.png deleted file mode 100644 index a8e6c8af3..000000000 Binary files a/docs/build/lift-data-from-json-and-xml-sources/create-new-tf.png and /dev/null differ diff --git a/docs/build/lift-data-from-json-and-xml-sources/dialog-create-new-json-dataset-2.png b/docs/build/lift-data-from-json-and-xml-sources/dialog-create-new-json-dataset-2.png deleted file mode 100644 index 7ab0374be..000000000 Binary files a/docs/build/lift-data-from-json-and-xml-sources/dialog-create-new-json-dataset-2.png and /dev/null differ diff --git a/docs/build/lift-data-from-json-and-xml-sources/dialog-create-new-json-dataset.png b/docs/build/lift-data-from-json-and-xml-sources/dialog-create-new-json-dataset.png index 0283e5866..84999d0b8 100644 Binary files a/docs/build/lift-data-from-json-and-xml-sources/dialog-create-new-json-dataset.png and b/docs/build/lift-data-from-json-and-xml-sources/dialog-create-new-json-dataset.png differ diff --git a/docs/build/lift-data-from-json-and-xml-sources/dialog-create-new-xml-dataset.png b/docs/build/lift-data-from-json-and-xml-sources/dialog-create-new-xml-dataset.png deleted file mode 100644 index e9615eeec..000000000 Binary files a/docs/build/lift-data-from-json-and-xml-sources/dialog-create-new-xml-dataset.png and /dev/null differ diff --git a/docs/build/lift-data-from-json-and-xml-sources/dialog-register-new-vocabulary.png b/docs/build/lift-data-from-json-and-xml-sources/dialog-register-new-vocabulary.png deleted file mode 100644 index 0de005bb0..000000000 Binary files a/docs/build/lift-data-from-json-and-xml-sources/dialog-register-new-vocabulary.png and /dev/null differ diff --git a/docs/build/lift-data-from-json-and-xml-sources/index.md b/docs/build/lift-data-from-json-and-xml-sources/index.md index 369187b91..b2840f68b 100644 --- a/docs/build/lift-data-from-json-and-xml-sources/index.md +++ b/docs/build/lift-data-from-json-and-xml-sources/index.md @@ -1,6 +1,6 @@ --- icon: material/family-tree -subtitle: such as JSON and XML files +# subtitle: such as JSON and XML files tags: - AdvancedTutorial - KnowledgeGraph @@ -11,22 +11,19 @@ tags: This tutorial shows how you can build a Knowledge Graph based on input data from hierarchical sources like a **JavaScript Object Notation** file (.json) or an **Extensible Markup Language** file (.xml). -!!! Abstract +!!! Tutorial Package - The complete tutorial is available as a [project file (XML)](tutorial-xml.project.zip) and a [project file (JSON)](tutorial-json.project.zip). You can import these projects: + The complete tutorial is available as a Marketplace Package. + You can install this package - - by using the [web interface](../../build/introduction-to-the-user-interface/index.md) (Create → Project → Import project file) or - - by using the [command line interface](../../automate/cmemc-command-line-interface/index.md) + - by using the web interface (:eccenca-module-marketplace: **Packages** → Search → "Product Data Demo") or + - by using the [command line interface](../cmemc-command-line-interface/index.md) - ```shell - cmemc -c my-cmem project import tutorial-xml.project.zip xml-transformation + ``` shell-session + cmemc -c my-cmem package install ecc-product-data-project ``` - ```shell - cmemc -c my-cmem project import tutorial-json.project.zip json-transformation - ``` - -The documentation consists of the following steps, which are described in detail below. +## Sample Material The following material is used in this tutorial: @@ -110,122 +107,152 @@ The following material is used in this tutorial: The vocabulary contains the classes and properties needed to map the data into the new structure in the Knowledge Graph. -1. Click the :eccenca-application-explore: **Knowledge graphs** icon in the main menu. +1. Click the :eccenca-application-explore: **Knowledge graphs** icon in the main menu under **EXPLORE**. In the **Graphs** drop-down, click :eccenca-item-add-artefact: **Add new graph** and select the **New graph from File** option. - ![Add new graph](ldfjaxs-add-new-graph.png){ class="bordered"} + ![Add new graph](ldfjaxs-add-new-graph.png){ class="bordered" width="70%" } ![New graph from File option](ldfjaxs-new-graph-from-file.png){ class="bordered" width="70%"} -2. In the next step, select the RDF file via **browse** or add it via drag-and-drop. Define the **Target graph URI** (should be populated automatically as `http://ld.company.org/prod-vocab/` as derived from the uploaded file) and confirm to add / replace this graph in the final dialog step. +2. In the next step, select the RDF file via **browse** or add it via drag-and-drop. Define the **Target graph URI** (should be populated automatically as `http://ld.company.org/prod-vocab/` as derived from the uploaded file) and confirm to add / replace this graph in the final dialog step. Tick the **Add new graph** checkbox and click **Upload**. ![Define Target graph URI](ldfjaxs-define-target-graph-uri.png){ class="bordered" width="70%"} -## 2 Upload the data file +## 2 Uploading of the data (file) -To add the data files, click Projects under BUILD in the navigation on the left side of the page. Follow the steps below for adding JSON and XML datasets. +1. Click the :eccenca-artefact-project: **Projects** icon in the main menu under the **BUILD** section. + Then click on **Create new** :eccenca-item-add-artefact: in the top right corner to create a new project. -=== "JSON" + ![Create new project](ldfjaxs-create-project.png){ class="bordered" } + +2. In the **Create new item** window, select **Project** and click **Add**. + The Create new item of type Project window appears. + + ![Add new project](ldfjaxs-add-new-project.png){ class="bordered" width="50%" } - 1. Click **Create** at the top of the page. +3. Fill in the required details such as Title and Description. + In this example we will use: - 2. In **Create new item** window, select **JSON** and click Add. + - Title: `Tutorial: Lift data from JSON and XML sources` + - Description: `This tutorial shows how you can build a Knowledge Graph based on input data from hierarchical sources like a JavaScript Object Notation (.json) or Extensible Markup Language (.xml) file. https://documentation.eccenca.com/latest/build/lift-data-from-json-and-xml-sources` - ![Dialog to create new JSON dataset](create-dataset-JSON.png){ class="bordered" } + ![Add Title and Description](ldfjaxs-build-project-title-description.png){ class="bordered" width="70%" } + +4. Click **Create**. Your project is created. + +## 3 Create a new dataset + +Follow the steps below for adding JSON and XML datasets. + +=== "JSON" - 3. Define a **Label** for the dataset and upload the [services.json](services.json) file. You can leave all the other fields at default values. + 1. Click again on **Create new** :eccenca-item-add-artefact: in the top right corner to create a new JSON dataset. Select Dataset on the left, then select **JSON** and click **Add**. - ![Dialog to create new JSON dataset](dialog-create-new-json-dataset.png){ class="bordered" width="45%"} ![Dialog to create new JSON dataset](dialog-create-new-json-dataset-2.png){ class="bordered" width="45%"} + ![Dialog to create new JSON dataset](create-dataset-JSON.png){ class="bordered" width="50%" } - 4. Click **Create**. + 2. Define a **Label** (in this example we use `JSON Services`), for the dataset, pick **Upload new file** and upload the [services.json](services.json) file. You can leave all the other fields at default values. + + ![Dialog to create new JSON dataset](dialog-create-new-json-dataset.png){ class="bordered" width="70%"} + + 3. Click **Create**. === "XML" - 1. Press the **Create** button and select XML + 1. Click again on **Create new** :eccenca-item-add-artefact: in the top right corner to create a new XML dataset. Select Dataset, then select **XML** and click **Add**. - ![Dialog to create new XML dataset](create-dataset-XML.png){ class="bordered" } + ![Dialog to create new XML dataset](ldfjaxs-create-dataset-XML.png){ class="bordered" width="50%"} - 2. Define a **Label** for the dataset and upload the [orgmap.xml](orgmap.xml) example file. You can leave all the other fields at default values. + 2. Define a **Label** (in this example we use `Orgmap XML`) for the dataset, pick **Upload new file** and upload the [orgmap.xml](orgmap.xml) example file. You can leave all the other fields at default values. - ![Dialog to create new XML dataset](dialog-create-new-xml-dataset.png){ class="bordered" } + ![Dialog to label new XML dataset](ldfjaxs-dialog-create-new-xml-dataset.png){ class="bordered" width="70%"} 3. Click **Create**. -## 3 Create a Knowledge Graph +## 4 Create a Knowledge Graph -1. Click Create at the top of the page.   +1. Click on **Create new** :eccenca-item-add-artefact: in the top right corner to create a new **Knowledge Graph**. -2. In **Create new item** window, select **Knowledge Graph** and click **Add**. The Create new item of type Knowledge Graph window appears. +2. In **Create new item** window, select Dataset, then select **Knowledge Graph** and click **Add**. - ![Dialog to create new Knowledge Graph dataset](create-dataset-KG.png){ class="bordered" } + ![Dialog to create new Knowledge Graph dataset](ldfjaxs-create-dataset-KG.png){ class="bordered" width="50%" } 3. Fill in the required details such as Label and Description. === "JSON" - Define a **Label** for the Knowlege Graph and provide **Graph** uri. You can leave all the other fields at default values. _In this example we use:_ + Define a **Label** for the Knowledge Graph and provide **Graph** uri. You can leave all the other fields at default values. In this example we use: + + - Name: `Service Knowledge Graph` + - Graph: `http://ld.company.org/prod-instances/` - - Name: _**Service Knowledge Graph**_ - - Graph: _**http://ld.company.org/prod-instances/**_ + After typing the Graph URI you must click the Custom entry: '…' suggestion. Typing alone leaves it unset. - ![Dialog to create new Knowledge Graph dataset](create-new-kg-for-json.png){ class="bordered" } + ![Dialog to create new Knowledge Graph dataset](ldfjaxs-create-new-kg-for-json.png){ class="bordered" width="70%"} + + Click **Create**. === "XML" - Define a **Label** for the Knowledge Graph and provide **Graph** uri. You can leave all the other fields at default values. _In this example we will use:_ + Define a **Label** for the Knowledge Graph and provide **Graph** uri. You can leave all the other fields at default values. In this example we will use: + + - Name: `Organization Knowledge Graph` + - Graph: `http://ld.company.org/organization-data/` - - Name: _**Organization Knowledge Graph**_ - - Graph: _**http://ld.company.org/organization-data/**_ + After typing the Graph URI you must click the Custom entry: '…' suggestion. Typing alone leaves it unset. - ![Dialog to create new Knowledge Graph dataset](create-new-kg-for-xml.png){ class="bordered" } + ![Dialog to create new Knowledge Graph dataset](ldfjaxs-create-new-kg-for-xml.png){ class="bordered" width="70%"} -## 4 Create a Transformation + Click **Create**. + +## 5 Create a Transformation The transformation defines how an input dataset (e.g.: JSON or XML) will be transformed into an output dataset (e.g.: Knowledge Graph). -1. Click **Create** in your project.   +1. Click **Create** in your project. 2. On the **Create New Item** window, select **Transform** and click **Add** to create a new transformation. - ![Create new Transformation](create-new-tf.png){ class="bordered" } + ![Create new Transformation](ldfjaxs-create-new-tf.png){ class="bordered" width="50%" } 3. In the **Create new item of type Transform** window, enter the required fields. === "JSON" - _For this example, enter the following:_ + For this example, enter the following: - - Name: _**Create Service Triples**_ - - (optional) Description: _**Lifts the Service file into the Knowledge Graph**_ - - Select the Source Dataset: _**Services JSON**_ - - Select the Output Dataset: _**Service_Knowledge_Graph**_ + - Name: `Create Service Triples` + - (optional) Description: `Lifts the Service file into the Knowledge Graph` + - Select the Source Dataset: `JSON Services` + - Select the Output Dataset: `Service Knowledge Graph` - ![Dialog to create new Transformation](create-new-tf-for-json.png){ class="bordered" } + ![Dialog to create new Transformation](ldfjaxs-create-new-tf-for-json.png){ class="bordered" width="70%"} Click **Create**. === "XML" - _For this example, enter the following:_ + For this example, enter the following: - - Name: _**Create Organization Triples**_ - - (optional) Description: _**Lifts the Orgmap XML file into the Knowledge GraphOrgmap XML**_ - - Select the Source Dataset: _**Orgmap XML**_ - - Type: _**dept**_ (define the Source Type, which defines the XML element that should be iterated when creating resources) - - Select the Output Dataset: _**Organization_Knowledge_Graph**_ + - Name: `Create Organization Triples` + - (optional) Description: `Lifts the Orgmap XML file into the Knowledge Graph` + - Select the Source Dataset: `Orgmap XML` + - Type: `dept` (define the Source Type, which defines the XML element that should be iterated when creating resources) + - Select the Output Dataset: `Organization Knowledge Graph` - ![Dialog to create new Transformation](create-new-tf-for-xml.png){ class="bordered" } + ![Dialog to create new Transformation](ldfjaxs-create-new-tf-for-xml.png){ class="bordered" width="70%"} Click **Create**. -4. Expand the ![Mapping Button](button-mapping.png) menu by clicking the arrow on the right side of the page to expand the menu. +4. Expand the :eccenca-artefact-project: **Mapping** menu by clicking the arrow on the right side of the page to expand the menu. 5. Click **Edit** to create a base mapping. - ![Mapping header configuration.](mapping-configuration-header.png){ class="bordered" } + ![Mapping header configuration.](ldfjaxs-mapping-configuration-header.png){ class="bordered" width="70%"} 6. Define the **Target entity type** from the vocabulary, the **URI pattern** and a **Label** for the mapping. + The **URI pattern** field is read-only and shows `Default pattern.` until you click **Create custom pattern** next to it. + === "JSON" Target Entity Type defines the class that will be instantiated when the mapping rule is applied. @@ -236,110 +263,134 @@ The transformation defines how an input dataset (e.g.: JSON or XML) will be tran - _service-instances/_ complements the instances prefix by adding a common prefix for all service instances - and finally _{ServiceID}_ is a placeholder that will resolve to the json-key _ServiceID_ (e.g. _"ServiceID": "Y704-9764759"_) - _In this example we will use:_ + In this example we will use: - - Target Entity Type: **_Service_** - - URI Pattern: _**http://ld.company.org/prod-inst/service-instances/{ServiceID}**_ - - An optional Label: _**Service**_ + - Target Entity Type: `Service` + - URI Pattern: `http://ld.company.org/prod-inst/service-instances/{ServiceID}` + - An optional Label: `Service` + + Click **Save**. - Click **SAVE**. + ![Mapping editor department](ldfjaxs-mapping-json-department.png){ class="bordered" width="70%"} - _Example RDF triple in our Knowledge Graph based on the mapping definition:_ + Example RDF triple in our Knowledge Graph based on the mapping definition: ```nt - + ``` === "XML" - Target Entity Type defines the class that will be instantiated when the mapping rule is applied: **_Department_** + Target Entity Type defines the class that will be instantiated when the mapping rule is applied. - The URI pattern that defines the URI that shall be generated for each individual: _**http://ld.company.org/department/{@id}**_ + The URI pattern that defines the URI that shall be generated for each individual: - - _http://ld.company.org/department/_ is a common prefix for the department instances in this use case, + - http://ld.company.org/department/{@id} + - http://ld.company.org/department/_ is a common prefix for the department instances in this use case, - and finally _{@id}_ is a placeholder that will resolve the XML attribute of the XML tag dept, which was configured as the Source Type of this transformation (see previous steps) - _In this example we will use:_ + In this example we will use: - - Target Entity Type: **_Department_** - - URI Pattern: **_http://ld.company.org/department/{@id}_** - - An optional Label: _**Department**_ + - Target Entity Type: `Department` + - URI Pattern: `http://ld.company.org/department/{@id}` + - An optional Label: `Department` Click **Save**. - _Example RDF triple in our Knowledge Graph based on the mapping definition:_ + ![Mapping editor department](ldfjaxs-mapping-xml-department.png){ class="bordered" width="70%"} + + Example RDF triple in our Knowledge Graph based on the mapping definition: ```nt - + ``` -7. Evaluate your mapping by pressing on the ![Button expand](button-expand-xml+json.png) button in the **Examples of target data** property to see at most three generated base URIs. +7. Evaluate your mapping by pressing on the :eccenca-toggler-showmore: button in the **Examples of target data** property to see at most three generated base URIs. + + === "JSON" + + ![Examples of target data JSON](ldfjaxs-json-examples-target-data.png){ class="bordered" } - ![Preview of mapping results](mapping-value-preview.png){ class="bordered" } + === "XML" + + ![Examples of target data XML](ldfjaxs-xml-examples-target-data.png){ class="bordered" width="70%"} + + We have now created the entities in the Knowledge Graph. - We have now created the Service entities in the Knowledge Graph. Next we will now add the name of our entity. -8. Click the circular blue **+** icon on the lower right and select **Add value mapping**. +8. Click the :eccenca-item-add-artefact: **Add Mapping** drop-down and select **Add value mapping**. - ![Add a mapping rule](service-mapping-add-rule.png){ class="bordered" } + ![Add a mapping rule](ldfjaxs-service-mapping-add-rule.png){ class="bordered" width="70%" } === "JSON" - Define the **Target property**, the **Data type**, the **Value path** (column name) and a **Label** for your value mapping. _In this example, enter the following:_ + Define the **Target property**, the **Data type**, the **Value path** (path into the source data) and a **Label** for your value mapping. In this example, enter the following: - - Target Property: **_has product manager_** - - Data type: _**StringValueType**_ - - Value path: _**ProductManager/name**_ - - which corresponds to the following element in the json-file: _[ {"ProductManager": {  "name": "Corinna Ludwig"} ... } ...]_ - - An optional Label: _**has Product Manager**_ + - Target Property: `has product manager` + - Data type: `String` + - Value path: `ProductManager` + - which corresponds to the `ProductManager` key of each object in the JSON array, e.g. `"ProductManager": "Lambert.Faust@company.org"` + - the path is relative to the base mapping, which iterates over the objects of the array, so no leading path segment is needed + - An optional Label: `has Product Manager` - ![Configuration of a mapping rule](mapping-rule-config-json.png){ class="bordered" } + ![Configuration of a mapping rule](mapping-rule-config-json.png){ class="bordered" width="70%" } Click **Save**. === "XML" - Define the **Target property**, the **Data type**, the **Value path** (column name) and a **Label** for your value mapping. _In this example we will use:_ + Define the **Target property**, the **Data type**, the **Value path** (path into the source data) and a **Label** for your value mapping. In this example we will use: - - Target Property: **_name_** - - Data type: _**StringValueType**_ - - Value path: _**dept/@name**_ + - Target Property: `name ` + - Data type: `String` + - Value path: `@name` - which corresponds to the `department name` attribute in the XML file - - An optional Label: _**department name**_ + - An optional Label: `department name` - ![Configuration of a mapping rule](mapping-rule-config-xml.png){ class="bordered" } + ![Configuration of a mapping rule](ldfjaxs-mapping-rule-config-xml.png){ class="bordered" width="70%" } Click **Save**. -By clicking on the ![Button expand](button-expand-xml+json.png) button in the **Examples of target data** property, you can get a preview for 3x value mapping to be created. +By clicking on the :eccenca-toggler-showmore: button in the **Examples of target data** property, a preview for result of the value mapping is shown. === "JSON" - ![Mapping result](mapping-result-json.png){ class="bordered" } + ![Mapping result](mapping-result-json.png){ class="bordered" width="70%" } === "XML" - ![Mapping result](mapping-result-xml.png){ class="bordered" } + ![Mapping result](mapping-result-xml.png){ class="bordered" width="70%" } -## 5 Evaluate a Transformation +## 6 Evaluate a Transformation Click **Transform evaluation** to evaluate the transformed entities. -![Transformation evaluation view](xml+json-transform-evaluation.png){ class="bordered" } +=== "JSON" -## 6 Build the Knowledge Graph + ![Transformation evaluation view JSON](ldfjaxs-json-transform-evaluation.png){ class="bordered" width="70%" } + +=== "XML" + + ![Transformation evaluation view XML](ldfjaxs-xml-transform-evaluation.png){ class="bordered" width="70%" } + + +## 7 Build the Knowledge Graph 1. Click **Transform execution** -2. Press the ![Button play](button-play-xml+json.png) button and validate the results. In this example, 9x Service entities were created in our Knowledge Graph based on the mapping. -3. You can click **Knowledge Graphs** under **EXPLORE** to (re-)view of the created Knowledge Graphs -4. Enter the following URIs in the Enter search term for JSON and XML respectively. - - JSON / Service: _****_ - - XML / Department: _****_ +2. Click the :eccenca-item-start: button and validate the results. In this example, 6 Department (XML) or 9 Service (JSON) entities were created in our Knowledge Graph based on the mapping. +3. Click :eccenca-application-explore: **Knowledge graphs** under **EXPLORE** to view the created Knowledge Graphs. +4. Open the **Graphs** drop-down at the top of the left panel and enter the graph URI in its search field + (not the **Enter search term** field of the **Navigation** panel below it — that one filters classes + within the already-selected graph). Then select the graph from the result list. + - JSON / Service: `http://ld.company.org/prod-instances/` + - XML / Department: `http://ld.company.org/organization-data/` - === "JSON" + ![Searching for the graph URI in the Graphs drop-down (JSON example shown)](ldfjaxs-kg-search-graph.png){ class="bordered" width="70%" } - ![Service KG](kg-services.png){ class="bordered" } +=== "JSON" - === "XML" + ![Service KG](kg-services.png){ class="bordered" width="70%" } + +=== "XML" - ![Organization KG](kg-organization.png){ class="bordered" } + ![Organization KG](kg-organization.png){ class="bordered" width="70%" } diff --git a/docs/build/lift-data-from-json-and-xml-sources/kg-organization.png b/docs/build/lift-data-from-json-and-xml-sources/kg-organization.png index 49a219b38..ce1b30e88 100644 Binary files a/docs/build/lift-data-from-json-and-xml-sources/kg-organization.png and b/docs/build/lift-data-from-json-and-xml-sources/kg-organization.png differ diff --git a/docs/build/lift-data-from-json-and-xml-sources/kg-services.png b/docs/build/lift-data-from-json-and-xml-sources/kg-services.png index c3c984e75..8fc3f605d 100644 Binary files a/docs/build/lift-data-from-json-and-xml-sources/kg-services.png and b/docs/build/lift-data-from-json-and-xml-sources/kg-services.png differ diff --git a/docs/build/lift-data-from-json-and-xml-sources/ldfjaxs-add-new-project.png b/docs/build/lift-data-from-json-and-xml-sources/ldfjaxs-add-new-project.png new file mode 100644 index 000000000..7f20f2d1e Binary files /dev/null and b/docs/build/lift-data-from-json-and-xml-sources/ldfjaxs-add-new-project.png differ diff --git a/docs/build/lift-data-from-json-and-xml-sources/ldfjaxs-build-project-title-description.png b/docs/build/lift-data-from-json-and-xml-sources/ldfjaxs-build-project-title-description.png new file mode 100644 index 000000000..6e5e903cc Binary files /dev/null and b/docs/build/lift-data-from-json-and-xml-sources/ldfjaxs-build-project-title-description.png differ diff --git a/docs/build/lift-data-from-json-and-xml-sources/ldfjaxs-create-dataset-KG.png b/docs/build/lift-data-from-json-and-xml-sources/ldfjaxs-create-dataset-KG.png new file mode 100644 index 000000000..674240323 Binary files /dev/null and b/docs/build/lift-data-from-json-and-xml-sources/ldfjaxs-create-dataset-KG.png differ diff --git a/docs/build/lift-data-from-json-and-xml-sources/ldfjaxs-create-dataset-XML.png b/docs/build/lift-data-from-json-and-xml-sources/ldfjaxs-create-dataset-XML.png new file mode 100644 index 000000000..cf63b9a3c Binary files /dev/null and b/docs/build/lift-data-from-json-and-xml-sources/ldfjaxs-create-dataset-XML.png differ diff --git a/docs/build/lift-data-from-json-and-xml-sources/ldfjaxs-create-new-kg-for-json.png b/docs/build/lift-data-from-json-and-xml-sources/ldfjaxs-create-new-kg-for-json.png new file mode 100644 index 000000000..b7478e2f2 Binary files /dev/null and b/docs/build/lift-data-from-json-and-xml-sources/ldfjaxs-create-new-kg-for-json.png differ diff --git a/docs/build/lift-data-from-json-and-xml-sources/ldfjaxs-create-new-kg-for-xml.png b/docs/build/lift-data-from-json-and-xml-sources/ldfjaxs-create-new-kg-for-xml.png new file mode 100644 index 000000000..1ca9a7cfd Binary files /dev/null and b/docs/build/lift-data-from-json-and-xml-sources/ldfjaxs-create-new-kg-for-xml.png differ diff --git a/docs/build/lift-data-from-json-and-xml-sources/ldfjaxs-create-new-tf-for-json.png b/docs/build/lift-data-from-json-and-xml-sources/ldfjaxs-create-new-tf-for-json.png new file mode 100644 index 000000000..99b360f7e Binary files /dev/null and b/docs/build/lift-data-from-json-and-xml-sources/ldfjaxs-create-new-tf-for-json.png differ diff --git a/docs/build/lift-data-from-json-and-xml-sources/ldfjaxs-create-new-tf-for-xml.png b/docs/build/lift-data-from-json-and-xml-sources/ldfjaxs-create-new-tf-for-xml.png new file mode 100644 index 000000000..93700392e Binary files /dev/null and b/docs/build/lift-data-from-json-and-xml-sources/ldfjaxs-create-new-tf-for-xml.png differ diff --git a/docs/build/lift-data-from-json-and-xml-sources/ldfjaxs-create-new-tf.png b/docs/build/lift-data-from-json-and-xml-sources/ldfjaxs-create-new-tf.png new file mode 100644 index 000000000..65ff0ef76 Binary files /dev/null and b/docs/build/lift-data-from-json-and-xml-sources/ldfjaxs-create-new-tf.png differ diff --git a/docs/build/lift-data-from-json-and-xml-sources/ldfjaxs-create-project.png b/docs/build/lift-data-from-json-and-xml-sources/ldfjaxs-create-project.png new file mode 100644 index 000000000..27714efcd Binary files /dev/null and b/docs/build/lift-data-from-json-and-xml-sources/ldfjaxs-create-project.png differ diff --git a/docs/build/lift-data-from-json-and-xml-sources/ldfjaxs-dialog-create-new-xml-dataset.png b/docs/build/lift-data-from-json-and-xml-sources/ldfjaxs-dialog-create-new-xml-dataset.png new file mode 100644 index 000000000..e9ac938b8 Binary files /dev/null and b/docs/build/lift-data-from-json-and-xml-sources/ldfjaxs-dialog-create-new-xml-dataset.png differ diff --git a/docs/build/lift-data-from-json-and-xml-sources/ldfjaxs-json-examples-target-data.png b/docs/build/lift-data-from-json-and-xml-sources/ldfjaxs-json-examples-target-data.png new file mode 100644 index 000000000..1c4c10c04 Binary files /dev/null and b/docs/build/lift-data-from-json-and-xml-sources/ldfjaxs-json-examples-target-data.png differ diff --git a/docs/build/lift-data-from-json-and-xml-sources/ldfjaxs-json-transform-evaluation.png b/docs/build/lift-data-from-json-and-xml-sources/ldfjaxs-json-transform-evaluation.png new file mode 100644 index 000000000..aca953c2a Binary files /dev/null and b/docs/build/lift-data-from-json-and-xml-sources/ldfjaxs-json-transform-evaluation.png differ diff --git a/docs/build/lift-data-from-json-and-xml-sources/ldfjaxs-kg-search-graph.png b/docs/build/lift-data-from-json-and-xml-sources/ldfjaxs-kg-search-graph.png new file mode 100644 index 000000000..e1eba23e4 Binary files /dev/null and b/docs/build/lift-data-from-json-and-xml-sources/ldfjaxs-kg-search-graph.png differ diff --git a/docs/build/lift-data-from-json-and-xml-sources/ldfjaxs-mapping-configuration-header.png b/docs/build/lift-data-from-json-and-xml-sources/ldfjaxs-mapping-configuration-header.png new file mode 100644 index 000000000..ca187f796 Binary files /dev/null and b/docs/build/lift-data-from-json-and-xml-sources/ldfjaxs-mapping-configuration-header.png differ diff --git a/docs/build/lift-data-from-json-and-xml-sources/ldfjaxs-mapping-json-department.png b/docs/build/lift-data-from-json-and-xml-sources/ldfjaxs-mapping-json-department.png new file mode 100644 index 000000000..589ed7c13 Binary files /dev/null and b/docs/build/lift-data-from-json-and-xml-sources/ldfjaxs-mapping-json-department.png differ diff --git a/docs/build/lift-data-from-json-and-xml-sources/ldfjaxs-mapping-rule-config-xml.png b/docs/build/lift-data-from-json-and-xml-sources/ldfjaxs-mapping-rule-config-xml.png new file mode 100644 index 000000000..1d1202e3e Binary files /dev/null and b/docs/build/lift-data-from-json-and-xml-sources/ldfjaxs-mapping-rule-config-xml.png differ diff --git a/docs/build/lift-data-from-json-and-xml-sources/ldfjaxs-mapping-xml-department.png b/docs/build/lift-data-from-json-and-xml-sources/ldfjaxs-mapping-xml-department.png new file mode 100644 index 000000000..044a038b1 Binary files /dev/null and b/docs/build/lift-data-from-json-and-xml-sources/ldfjaxs-mapping-xml-department.png differ diff --git a/docs/build/lift-data-from-json-and-xml-sources/ldfjaxs-service-mapping-add-rule.png b/docs/build/lift-data-from-json-and-xml-sources/ldfjaxs-service-mapping-add-rule.png new file mode 100644 index 000000000..0c29be105 Binary files /dev/null and b/docs/build/lift-data-from-json-and-xml-sources/ldfjaxs-service-mapping-add-rule.png differ diff --git a/docs/build/lift-data-from-json-and-xml-sources/ldfjaxs-xml-examples-target-data.png b/docs/build/lift-data-from-json-and-xml-sources/ldfjaxs-xml-examples-target-data.png new file mode 100644 index 000000000..d4e72b6cc Binary files /dev/null and b/docs/build/lift-data-from-json-and-xml-sources/ldfjaxs-xml-examples-target-data.png differ diff --git a/docs/build/lift-data-from-json-and-xml-sources/ldfjaxs-xml-transform-evaluation.png b/docs/build/lift-data-from-json-and-xml-sources/ldfjaxs-xml-transform-evaluation.png new file mode 100644 index 000000000..f32ef2a4f Binary files /dev/null and b/docs/build/lift-data-from-json-and-xml-sources/ldfjaxs-xml-transform-evaluation.png differ diff --git a/docs/build/lift-data-from-json-and-xml-sources/mapping-configuration-header.png b/docs/build/lift-data-from-json-and-xml-sources/mapping-configuration-header.png deleted file mode 100644 index e9a8ee6e1..000000000 Binary files a/docs/build/lift-data-from-json-and-xml-sources/mapping-configuration-header.png and /dev/null differ diff --git a/docs/build/lift-data-from-json-and-xml-sources/mapping-result-json.png b/docs/build/lift-data-from-json-and-xml-sources/mapping-result-json.png index 8054bfce6..27f471d77 100644 Binary files a/docs/build/lift-data-from-json-and-xml-sources/mapping-result-json.png and b/docs/build/lift-data-from-json-and-xml-sources/mapping-result-json.png differ diff --git a/docs/build/lift-data-from-json-and-xml-sources/mapping-result-xml.png b/docs/build/lift-data-from-json-and-xml-sources/mapping-result-xml.png index 843fa100d..ca2154f0e 100644 Binary files a/docs/build/lift-data-from-json-and-xml-sources/mapping-result-xml.png and b/docs/build/lift-data-from-json-and-xml-sources/mapping-result-xml.png differ diff --git a/docs/build/lift-data-from-json-and-xml-sources/mapping-rule-config-json.png b/docs/build/lift-data-from-json-and-xml-sources/mapping-rule-config-json.png index c7ab9781c..7dd7a0348 100644 Binary files a/docs/build/lift-data-from-json-and-xml-sources/mapping-rule-config-json.png and b/docs/build/lift-data-from-json-and-xml-sources/mapping-rule-config-json.png differ diff --git a/docs/build/lift-data-from-json-and-xml-sources/mapping-rule-config-xml.png b/docs/build/lift-data-from-json-and-xml-sources/mapping-rule-config-xml.png deleted file mode 100644 index c6f623d4c..000000000 Binary files a/docs/build/lift-data-from-json-and-xml-sources/mapping-rule-config-xml.png and /dev/null differ diff --git a/docs/build/lift-data-from-json-and-xml-sources/mapping-value-preview.png b/docs/build/lift-data-from-json-and-xml-sources/mapping-value-preview.png deleted file mode 100644 index c04e989aa..000000000 Binary files a/docs/build/lift-data-from-json-and-xml-sources/mapping-value-preview.png and /dev/null differ diff --git a/docs/build/lift-data-from-json-and-xml-sources/menu-explore-vocabularies.png b/docs/build/lift-data-from-json-and-xml-sources/menu-explore-vocabularies.png deleted file mode 100644 index 559068852..000000000 Binary files a/docs/build/lift-data-from-json-and-xml-sources/menu-explore-vocabularies.png and /dev/null differ diff --git a/docs/build/lift-data-from-json-and-xml-sources/service-mapping-add-rule.png b/docs/build/lift-data-from-json-and-xml-sources/service-mapping-add-rule.png deleted file mode 100644 index 94276f191..000000000 Binary files a/docs/build/lift-data-from-json-and-xml-sources/service-mapping-add-rule.png and /dev/null differ diff --git a/docs/build/lift-data-from-json-and-xml-sources/tutorial-json.project.zip b/docs/build/lift-data-from-json-and-xml-sources/tutorial-json.project.zip deleted file mode 100644 index cae8dc88a..000000000 Binary files a/docs/build/lift-data-from-json-and-xml-sources/tutorial-json.project.zip and /dev/null differ diff --git a/docs/build/lift-data-from-json-and-xml-sources/tutorial-xml.project.zip b/docs/build/lift-data-from-json-and-xml-sources/tutorial-xml.project.zip deleted file mode 100644 index dce5fe03b..000000000 Binary files a/docs/build/lift-data-from-json-and-xml-sources/tutorial-xml.project.zip and /dev/null differ diff --git a/docs/build/lift-data-from-json-and-xml-sources/vocab-catalog-xml+json.png b/docs/build/lift-data-from-json-and-xml-sources/vocab-catalog-xml+json.png deleted file mode 100644 index abfd1caf2..000000000 Binary files a/docs/build/lift-data-from-json-and-xml-sources/vocab-catalog-xml+json.png and /dev/null differ diff --git a/docs/build/lift-data-from-json-and-xml-sources/xml+json-transform-evaluation.png b/docs/build/lift-data-from-json-and-xml-sources/xml+json-transform-evaluation.png deleted file mode 100644 index 85ca6379d..000000000 Binary files a/docs/build/lift-data-from-json-and-xml-sources/xml+json-transform-evaluation.png and /dev/null differ diff --git a/docs/build/lift-data-from-tabular-data-such-as-csv-xslx-or-database-tables/index.md b/docs/build/lift-data-from-tabular-data-such-as-csv-xslx-or-database-tables/index.md index c4d77165f..3fd996502 100644 --- a/docs/build/lift-data-from-tabular-data-such-as-csv-xslx-or-database-tables/index.md +++ b/docs/build/lift-data-from-tabular-data-such-as-csv-xslx-or-database-tables/index.md @@ -1,6 +1,6 @@ --- icon: material/table -subtitle: such as CSV, XSLX and Database Tables +# subtitle: such as CSV, XSLX and Database Tables tags: - BeginnersTutorial - KnowledgeGraph @@ -11,27 +11,17 @@ tags: This beginner-level tutorial shows how you can build a Knowledge Graph based on input data from a **comma-separated value file** (.csv), an **excel file** (.xlsx) or a **database table** (jdbc). -!!! Abstract +!!! Tutorial Package - The complete tutorial is available as a [project file](tutorial-csv.project.zip). You can import this project + The complete tutorial is available as a Marketplace Package. + You can install this package - - by using the [web interface](../../build/introduction-to-the-user-interface/index.md) (Create → Project → Import project file) or - - by using the [command line interface](../../automate/cmemc-command-line-interface/index.md) + - by using the web interface (:eccenca-module-marketplace: **Packages** → Search → "Product Data Demo") or + - by using the [command line interface](../cmemc-command-line-interface/index.md) - ``` shell-session - cmemc -c my-cmem project import tutorial-csv.project.zip tutorial-csv - ``` - - This step is optional and makes some of the following steps of the tutorial superfluous. - -The documentation consists of the following steps, which are described in detail below: - -1. Install the required Ontologies / Vocabularies -2. Uploading of the data (file) -3. Creating the Transformation -4. Configure Mapping -5. Evaluate a Transformation -6. Build the Knowledge Graph + ``` shell-session + cmemc -c my-cmem package install ecc-product-data-project + ``` ## Sample Material diff --git a/docs/build/lift-data-from-tabular-data-such-as-csv-xslx-or-database-tables/tutorial-csv.project.zip b/docs/build/lift-data-from-tabular-data-such-as-csv-xslx-or-database-tables/tutorial-csv.project.zip deleted file mode 100644 index b5f36bb50..000000000 Binary files a/docs/build/lift-data-from-tabular-data-such-as-csv-xslx-or-database-tables/tutorial-csv.project.zip and /dev/null differ diff --git a/docs/build/mapping-creator/index.md b/docs/build/mapping-creator/index.md index 89bb070bb..23d4b9d50 100644 --- a/docs/build/mapping-creator/index.md +++ b/docs/build/mapping-creator/index.md @@ -1,6 +1,6 @@ --- icon: fontawesome/solid/wand-magic-sparkles -subtitle: build mappings visually and AI supported +# subtitle: build mappings visually and AI supported status: new tags: - Reference diff --git a/docs/build/snowflake-tutorial/index.md b/docs/build/snowflake-tutorial/index.md index 11a5bcc27..3f898c32c 100644 --- a/docs/build/snowflake-tutorial/index.md +++ b/docs/build/snowflake-tutorial/index.md @@ -1,6 +1,6 @@ --- icon: material/database-export -subtitle: cloud datawarehouse +# subtitle: cloud datawarehouse tags: - AdvancedTutorial - KnowledgeGraph diff --git a/docs/build/tutorial-how-to-link-ids-to-osint/index.md b/docs/build/tutorial-how-to-link-ids-to-osint/index.md index ff046ff07..94bd82722 100644 --- a/docs/build/tutorial-how-to-link-ids-to-osint/index.md +++ b/docs/build/tutorial-how-to-link-ids-to-osint/index.md @@ -1,6 +1,6 @@ --- icon: material/table -subtitle: such as STIX +# subtitle: such as STIX tags: - ExpertTutorial ---