Skip to content

Commit f188c2f

Browse files
Logendedependabot[bot]Devesh0129M-Jafarkhani
authored
Release/2.5.0 (#958)
* Update e2e tests to run on push/PR to develop (#914) * Bump picomatch in /meta_configurator (#916) Bumps and [picomatch](https://github.com/micromatch/picomatch). These dependencies needed to be updated together. Updates `picomatch` from 4.0.3 to 4.0.4 - [Release notes](https://github.com/micromatch/picomatch/releases) - [Changelog](https://github.com/micromatch/picomatch/blob/master/CHANGELOG.md) - [Commits](micromatch/picomatch@4.0.3...4.0.4) Updates `picomatch` from 2.3.1 to 2.3.2 - [Release notes](https://github.com/micromatch/picomatch/releases) - [Changelog](https://github.com/micromatch/picomatch/blob/master/CHANGELOG.md) - [Commits](micromatch/picomatch@4.0.3...4.0.4) Updates `picomatch` from 3.0.1 to 3.0.2 - [Release notes](https://github.com/micromatch/picomatch/releases) - [Changelog](https://github.com/micromatch/picomatch/blob/master/CHANGELOG.md) - [Commits](micromatch/picomatch@4.0.3...4.0.4) Updates `picomatch` from 4.0.2 to 4.0.4 - [Release notes](https://github.com/micromatch/picomatch/releases) - [Changelog](https://github.com/micromatch/picomatch/blob/master/CHANGELOG.md) - [Commits](micromatch/picomatch@4.0.3...4.0.4) --- updated-dependencies: - dependency-name: picomatch dependency-version: 4.0.4 dependency-type: indirect - dependency-name: picomatch dependency-version: 2.3.2 dependency-type: indirect - dependency-name: picomatch dependency-version: 3.0.2 dependency-type: indirect - dependency-name: picomatch dependency-version: 4.0.4 dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump handlebars from 4.7.8 to 4.7.9 in /meta_configurator (#920) Bumps [handlebars](https://github.com/handlebars-lang/handlebars.js) from 4.7.8 to 4.7.9. - [Release notes](https://github.com/handlebars-lang/handlebars.js/releases) - [Changelog](https://github.com/handlebars-lang/handlebars.js/blob/v4.7.9/release-notes.md) - [Commits](handlebars-lang/handlebars.js@v4.7.8...v4.7.9) --- updated-dependencies: - dependency-name: handlebars dependency-version: 4.7.9 dependency-type: direct:production ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump yaml from 2.7.0 to 2.8.3 in /meta_configurator (#917) Bumps [yaml](https://github.com/eemeli/yaml) from 2.7.0 to 2.8.3. - [Release notes](https://github.com/eemeli/yaml/releases) - [Commits](eemeli/yaml@v2.7.0...v2.8.3) --- updated-dependencies: - dependency-name: yaml dependency-version: 2.8.3 dependency-type: direct:production ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Felix Neubauer <[email protected]> * 884 implement word wrap for text view (#918) * initial comit for wordwrap in text view * word wrap - handling resize * update comment --------- Co-authored-by: Felix Neubauer <[email protected]> * add experimental tag for experimental versions (#923) * add experimental tag for experimental versions * apply formatting changes --------- Co-authored-by: Logende <[email protected]> * 922 auto detect feature increment in version number and then auto create new tag (#924) * update version and changelog * add workflow to automatically create version tag on merge if version is incremented * 895 refactor to use visitor pattern for json schema traversal (#925) * add new json schema visitor * adjust code to use json schema visitor * simplify test setup * add test for json schema visitor * add test for feature detection * make variables and parameters more descriptive * apply formatting changes --------- Co-authored-by: Logende <[email protected]> * Misc refactorings and improvements (#927) * remove STML mapping (was only prototype, much weaker than Jsonata) * reduce logging * extract required utils to own file * remove outdated todo, as the feature now exists * fix schema diagram not showing 0 value in enum component * reduce API key persistence due to potential security risks * fix test case * apply formatting changes --------- Co-authored-by: Logende <[email protected]> * Update README.md (#929) * Add schema diagram tests and fix 2 bugs (#935) * Add schema diagram tests and fix 2 bugs * update documentation generation tests * apply formatting changes --------- Co-authored-by: Logende <[email protected]> * update version and changelog (#936) * update index file (#940) * Master Thesis Implementation (#934) * Add ZoomToSelected * Add export Button for Sparql result * Refactors, add export to SPARQL result * Fix Export Csv file extention * Randomize animations * Reafctors * Replace rml with codemirror * Refactor * Refactor RmlMapping * Fix scrolling issue * Spinner in center * Refactor visualizer code * Refactor RmlMapping Dialog, refactor Messages * Fix scrolling issue on RmlDialog * Refactors * Refactor * Refactors * Edit modal on Visualizer * Code refactor, add edit and remove to GraphVisualizer * Transition effect for rdfVisualizer * Fix last node refresh bug * Refactors * Fix bugs * Add export as Png * Refactors, add DataTpe support for Objects * Remove un-necessar import * Refactors * Refactor * Add peoprties button * De-couple RdfVisualizer * Add scroller * Fix background * Remove Transitions * Refactors * Refactors * add missing import * Refactor Visualizer * Add undo-redo to Visualizer * Refactors * Refactor Visualizer * Disable Buttons on Graph error * Refactor * Add Search to Visualizer * Refactors * Refactors * Refactors * Refactors * Refactors * Refactor * Refactors * Refactor * Add node rename * Refactor * Refactor to support no graph section * Refactor * Refactor * Refactor * Refactor * Refactor * Refactors * Refactor * Refactor * Refactor * Refactors * Refactor * Remove coe which was fixed by another issue * Add thesis * Update GitIgnore * Move into separate chapters * Separate Chapters * Update GitIgnore * Refactors * Refactors * Refactor * Refactor * Refactor * Refactor * Refactor * Refactors * Refactor * Refactor * Refactor * Refactor * Refactors * Refactor * Refactors * apply formatting changes * Refactor * Refactor * Refactor * Refactors * Refactor * Refactor * Refactor * Refactor * Refactor * Refactor * Refactor * Refactor * Refactors * Refactor * Refactor * Refactor * Refactor * Refactors * Refactor * Refactor * Refactor * Refactors * Refactor * Refactor * Refactor * Refactor * Refactor * Refactor * Refactor * Refactor * Refactor * Refactor * Refactor * Refactor * Refactor * Refactor * Refactors * Refactor * Refactor * Refactor * Refactor * Refactor * Refactor * Refactor * Refactor * Refactor * Refactor * Refactor * Refactor * Refactor * Refactor * Refactor * Refactors * Refactor * Ontology Explorer refactor * apply formatting changes * Refactor * apply formatting changes * Refactor * Refactor * Refactor * Refactors * Refactor * Refactor * Refactors * Refactor * Refactor * Refactor * Refactor * Refactor * Refactor * Refactor * Refactor * Refactors * Refactor * Refactor * Refactor * Refactor * Refactor * Refactors * Refactors * Remove thesis * Refactor * Color Refactor * Refactor * Refactor * Refactor * Refactor * Refactor * Refactors * Refactor * Refactor * Refactors * Refactor * Refactor * Refactor * refactor * Refactor * Refactor * Refactor * Refactors * Refactor * Refactor * Refactor * refactor * Refactor * Fix * Refactor * Refactor * Refactor * Refactor * Refactor * apply formatting changes * Refactor * Fix Bug * Bug Fix * Refactor * Refactor * Refactor * Refactor * Refactor * Refactor * Refactor * Refactor * Refactor * Refactor * Add baseUri to Settings * Add default * Refactor * Refactor * Fix Dynamic Rml Source * Add tests * refactor * Refactors * Refactor * Change Example IRI * Refactor * Refactors * Refactor * Refactor * Add ImportTurtleDialog test * Temp fix * Fix lint * Refactors * Add rdfPanel test * Remove CodeMirror * Add RDF Documentation * Update documentation * Refactors * Refactors * Refactors * Resolve index.html Merge Conflict * Apply event-isolation * Modals resize, Turtle import text change * Upgrade to 2.4.0, adding changelog --------- Co-authored-by: M-Jafarkhani <[email protected]> * Update package-lock.json (#941) * extend search by next/previous buttons (#919) * allowed normal seach and usemagickeys code commented for now review it and than I will remove that function from code. * changes done * new comits * apply formatting changes * useMagicKeys added in TopToolbar * apply formatting changes * undo changes in aceeditor and toptoolbar * apply formatting changes * comments removed * remove template wrapper --------- Co-authored-by: Devesh0129 <[email protected]> * 2 new files added (#942) * 2 new files added * apply formatting changes * update to use reverse strategy * add test case * do not remove content from sub-schema when it is changed to $ref in schema diagram * apply formatting changes --------- Co-authored-by: Devesh0129 <[email protected]> Co-authored-by: Felix Neubauer <[email protected]> Co-authored-by: Logende <[email protected]> * 945 rdf panel does not correctly display rdf list connections in triple view and graph visualization (#946) * Fix collection issue on RDFs * Fix Blank Node handling * Fix Visualization Bug * Change Search Logic in RDF Triple Tab (#951) * Add RDF Panel to Main Readme (#949) * 944 search bar results may be out of bounds if too many results (#952) * initial comit * apply formatting changes --------- Co-authored-by: Devesh0129 <[email protected]> * 542 add copy and paste functionality to schema diagram (#955) * Make Ace Editor cursor update not change focus * Add copy and paste functionality to schema diagram * apply formatting changes --------- Co-authored-by: Logende <[email protected]> * release 2.5.0 (#956) --------- Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Devesh Talsania <[email protected]> Co-authored-by: Logende <[email protected]> Co-authored-by: Mahdi Jafarkhani <[email protected]> Co-authored-by: M-Jafarkhani <[email protected]> Co-authored-by: Devesh0129 <[email protected]>
1 parent 83eee58 commit f188c2f

114 files changed

Lines changed: 14216 additions & 1157 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

CHANGELOG.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,22 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
88

99
---
1010

11+
## [2.5.0] - 2026-04-22
12+
13+
### Added
14+
15+
- Add next/previous buttons to the search bar for easier navigation through search results
16+
- Add copy/paste support for schema diagrams
17+
18+
## [2.4.0] - 2026-04-15
19+
20+
### Added
21+
22+
- Add RDF Panel to support RDF authoring workflows
23+
- Add JSON to JSON-LD conversion using RML mapping
24+
- Add SPARQL querying support in RDF Panel
25+
- Add Knowledge Graph visualization for RDF data exploration
26+
1127
## [2.3.0] - 2026-04-14
1228

1329
### Changed

CONTRIBUTING.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -98,9 +98,10 @@ No specific format is enforced, but commit messages should start with a verb and
9898
## Releases
9999

100100
Releases are managed manually by maintainers. When a set of changes on `develop` is deemed stable, a maintainer will:
101-
1. Update the version in `meta_configurator/package.json`
102-
2. Add a changelog entry
103-
3. Merge `develop` into `main`
101+
1. Update the version in `meta_configurator/package.json` and `codemeta.json`.
102+
2. Run `npm install` to update the lock file version.
103+
3. Add a changelog entry to `CHANGELOG.md` following the format defined in that file
104+
4. Merge `develop` into `main`
104105

105106
---
106107

README.md

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -65,10 +65,17 @@ Creating structured data files (or schemas) manually can be complex and error-pr
6565

6666
* **Documentation Generation** – Generate documentation from JSON schemas, with export to a Markdown file.
6767

68-
* **AI-Assisted Schema/Data Creation and Editing** – Use AI to help create or edit schemas and instance data with natural language inputs.
68+
* **AI-Assisted Schema/Data Creation and Editing** – Use AI to help create or edit schemas and instance data with natural language inputs.
6969

70-
* **AI-Assisted Transformation of Instance Data** – Automatically transform existing instance data to conform to the target schema using AI-generated mappings, which are then applied deterministically. This also works for very large documents.
70+
* **AI-Assisted Transformation of Instance Data** – Automatically transform existing instance data to conform to the target schema using AI-generated mappings, which are then applied deterministically. This also works for very large documents.
7171

72+
* **Transformation to JSON-LD** – Convert JSON data to JSON-LD using AI-assisted RML mapping.
73+
74+
* **RDF Authoring Panel** – Inspect and edit RDF data through two synchronized tabs: **Context** and **Triples** in RDF Panel.
75+
76+
* **RDF Data Exploration** – Run AI-assisted SPARQL queries on RDF data and inspect or visualize the results.
77+
78+
* **Knowledge Graph Visualization** – Display RDF triples as an interactive graph, synchronized with the JSON-LD document.
7279

7380
🛠️ Development
7481
---------------
@@ -107,7 +114,7 @@ Explore how to use MetaConfigurator with real-world examples:
107114

108115
* **[External References](./documentation_user/examples/external_references)** – Learn how to handle external references in MetaConfigurator.
109116

110-
117+
* **[RDF Panel](./documentation_user/examples/rdf)** – Learn how to use MetaConfigurator to explore Semantic data.
111118

112119
📚 Read the full [User Documentation](./documentation_user).
113120

codemeta.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@
105105
"Browser",
106106
"Web"
107107
],
108-
"version": "2.0.0",
108+
"version": "2.5.0",
109109
"contIntegration": "https://github.com/MetaConfigurator/meta-configurator/actions",
110110
"codemeta:continuousIntegration": {
111111
"id": "https://github.com/MetaConfigurator/meta-configurator/actions"

documentation_user/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
* [Schema Selection List](examples/schema_selection_list) (Provide your users a pre-defined list of schemas to choose from; useful for organizations)
99
* [AI Assistance](examples/ai_assistance) (Shows how to use AI-assisted features for schema and data creation/editing, as well as data transformation)
1010
* [External References](examples/external_references) (Shows how to handle external references in MetaConfigurator)
11+
* [RDF Panel](examples/rdf) (How to use RDF Panel in MetaConfigurator)
1112

1213
## Load a Schema
1314

Lines changed: 208 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,208 @@
1+
# MetaConfigurator RDF Panel User Guide
2+
3+
This guide explains how to use the RDF panel in MetaConfigurator. You will move from plain JSON to a queryable and visual knowledge graph:
4+
5+
1. Start from structured JSON in the Data tab.
6+
2. Open the RDF panel.
7+
3. Convert JSON to JSON-LD with RML (optionally with AI drafting).
8+
4. Review and edit triples in the RDF panel.
9+
5. Use ontology assistance when choosing IRIs.
10+
6. Run SPARQL queries (also with AI drafting).
11+
7. Explore and refine the graph visually.
12+
13+
---
14+
15+
## Data
16+
17+
We use two main examples throughout this document: a simple simulation dataset and a MOF dataset.
18+
19+
- [`samples/simulation-data.json`](./samples/simulation-data.json)
20+
- [`samples/simulation-mapping.ttl`](./samples/simulation-mapping.ttl)
21+
- [`samples/simulation-data.jsonld`](./samples/simulation-data.jsonld)
22+
- [`samples/simulation-query.sparql`](./samples/simulation-query.sparql)
23+
24+
- [`samples/mof-data.json`](./samples/mof-data.json)
25+
- [`samples/mof-mapping.ttl`](./samples/mof-mapping.ttl)
26+
- [`samples/mof-data.jsonld`](./samples/mof-data.jsonld)
27+
- [`samples/mof-prep-query.sparql`](./samples/mof-prep-query.sparql)
28+
29+
---
30+
31+
## 1) Start with JSON Data
32+
33+
Begin with your normal structured JSON (simulation data, lab records, process logs, etc.).
34+
35+
- Simulation example: [`samples/simulation-data.json`](./samples/simulation-data.json)
36+
- MOF example: [`samples/mof-data.json`](./samples/mof-data.json)
37+
38+
Open the RDF panel in the Data tab by clicking the globe icon.
39+
40+
![Opening RDF Panel](./images/RDF-Panel.png)
41+
42+
Initially, the panel shows a warning that your data is not in JSON-LD format. This means:
43+
44+
- Your data is already valid JSON.
45+
- It is not yet ready for semantic querying until converted to JSON-LD.
46+
47+
![RDF panel with JSON input](./images/MC-RDF-JSON.png)
48+
49+
Now you have two options to proceed:
50+
51+
- Use the **JSON to JSON-LD** (RML conversion) tool, or
52+
- Use **Turtle import** if your data is already in RDF/Turtle format.
53+
54+
Before using RML mapping, please review the RML documentation at [this link](https://rml.io/docs/rml/introduction/).
55+
56+
---
57+
58+
## 2) Convert JSON to JSON-LD with RML
59+
60+
Use the RML mapping dialog to define how JSON fields become RDF entities and relationships.
61+
62+
Again, you can proceed in two ways:
63+
64+
- Paste an existing RML mapping, or
65+
- Generate a draft mapping with AI and then adjust it.
66+
67+
![RML mapping dialog](./images/MC-RDF-RML-1.png)
68+
69+
Sample mappings:
70+
71+
- Simulation mapping: [`samples/simulation-mapping.ttl`](./samples/simulation-mapping.ttl)
72+
- MOF mapping: [`samples/mof-mapping.ttl`](./samples/mof-mapping.ttl)
73+
74+
Practical recommendation:
75+
76+
- Treat AI-generated mapping as a first draft.
77+
- Confirm identifiers, classes, and property choices before applying.
78+
79+
---
80+
81+
## 3) Inspect and Edit JSON-LD / RDF Triples
82+
83+
After conversion, the RDF panel gives two synchronized tabs:
84+
85+
- **Context**: manage prefix and context definitions.
86+
- **Triples**: manage subject-predicate-object statements.
87+
88+
![Context view](./images/MC-RDF-JSON-LD-2.png)
89+
90+
![Triples view](./images/MC-RDF-JSON-LD-1.png)
91+
92+
![Triple edit modal](./images/MC-RDF-Modal.png)
93+
94+
Typical tasks in the **Triples** tab:
95+
96+
- Add, edit, and delete triples.
97+
- Search and filter across subject, predicate, object.
98+
- Export graph data as Turtle, N-Triples, or RDF/XML.
99+
- Open SPARQL and visualization directly from the same toolbar.
100+
101+
Note: If you filter data in the Triples tab and then open the visualization dialog, you will see only the graph for the filtered data, not the entire dataset.
102+
103+
Sample JSON-LD outputs:
104+
105+
- Simulation: [`samples/simulation-data.jsonld`](./samples/simulation-data.jsonld)
106+
- MOF : [`samples/mof-data.jsonld`](./samples/mof-data.jsonld)
107+
108+
---
109+
110+
## 4) Use Ontology-Assisted IRI Selection
111+
112+
When editing predicates or object IRIs, open **Ontology Explorer** for guided selection.
113+
114+
![Ontology explorer](./images/MC-RDF-Ontology-1.png)
115+
116+
![Ontology explorer SPARQL](./images/MC-RDF-Ontology-3.png)
117+
118+
What you can do there:
119+
120+
- Select a prefix from your current `@context`.
121+
- Download ontology content by URL or upload an ontology file.
122+
- Reuse cached ontology data, refresh it, or delete it.
123+
- Browse `DatatypeProperty`, `ObjectProperty`, and `Class` terms.
124+
- Use ontology-side SPARQL to discover additional terms quickly.
125+
- Pick a term and insert it back into the triple editor.
126+
127+
This is especially helpful for consistent use of units, classes, and shared vocabularies.
128+
129+
---
130+
131+
## 5) Query with SPARQL (Optional AI Drafting)
132+
133+
Open SPARQL from the triples toolbar to validate and analyze your graph.
134+
135+
![SPARQL AI generation](./images/MC-RDF-SPARQL-1.png)
136+
137+
![SPARQL result table](./images/MC-RDF-SPARQL-2.png)
138+
139+
![MOF SPARQL result](./images/MC-RDF-SPARQL-3.png)
140+
141+
![SPARQL visualization hints](./images/MC-RDF-SPARQL-4.png)
142+
143+
In this dialog, you can:
144+
145+
- Write or paste SPARQL manually.
146+
- Ask AI to draft a query from a natural-language prompt. You can ask question from your data, since a subset of your JSON-LD data is being sent to the AI-endpoint.
147+
- Run query and inspect results in a filterable table.
148+
- Export results (CSV for tabular outputs when visualization is disabled, and RDF-based extensions for visualization-based queries).
149+
150+
Visualization note:
151+
152+
- You can enable query-result visualization mode.
153+
- This mode expects a graph-shaped query result (CONSTRUCT-style output).
154+
- You can also click the visualization help icon near the toggle for more information on how to create a valid query for visualization.
155+
156+
Sample queries:
157+
158+
- Simulation: [`samples/simulation-query.sparql`](./samples/simulation-query.sparql)
159+
- MOF prep-step: [`samples/mof-prep-query.sparql`](./samples/mof-prep-query.sparql)
160+
161+
---
162+
163+
## 6) Visualize and Refine the Knowledge Graph
164+
165+
Use **Visualize** to inspect relationships as a graph.
166+
167+
![Simulation Knowledge Graph](./images/MC-RDF-KG-1.png)
168+
169+
![MOF Knowledge Graph](./images/MC-RDF-KG-2.png)
170+
171+
Two visualization modes:
172+
173+
- From RDF Triples tab: **editable graph** (rename node, add/delete properties, add/delete nodes).
174+
- From SPARQL visualizer tab: **read-only graph** for query result exploration.
175+
176+
Useful actions in the visualization dialog:
177+
178+
- Node search and quick focus.
179+
- Zoom controls and fit-to-view.
180+
- Optional layout animation.
181+
- Export graph image.
182+
- Undo/redo for edits.
183+
184+
For very large graphs, the app warns before rendering and lets you continue or cancel.
185+
186+
---
187+
188+
## Recommended End-to-End Workflow
189+
190+
1. Validate raw JSON in Data/Schema views.
191+
2. Convert JSON to JSON-LD using RML (manual or AI draft).
192+
3. Confirm context prefixes and main entities in RDF panel.
193+
4. Clean up triples (missing links, wrong predicates, units, datatypes).
194+
5. Use Ontology Explorer for consistent vocabulary choices.
195+
6. Run SPARQL checks for your key domain questions.
196+
7. Inspect the graph visually and refine remaining issues.
197+
8. Export RDF or query results for downstream use.
198+
199+
---
200+
201+
## Practical Quality Checks
202+
203+
- Ensure important entities use stable and reusable identifiers.
204+
- Keep prefix usage consistent between `@context`, triples, and queries.
205+
- Use ontology IRIs for units/classes/properties instead of only plain text.
206+
- Review AI-generated mapping/query drafts before trusting them.
207+
- If the triple list is shortened due to display limits, increase RDF display limits in settings before final review.
208+
- Use Named Nodes (nodes with `@id`) instead of Blank Nodes. This makes it easier to find and edit triples in the Text view.
748 KB
Loading
349 KB
Loading
342 KB
Loading
299 KB
Loading

0 commit comments

Comments
 (0)