28 transform cascara to rdfturtle#106
Open
odungern wants to merge 12 commits into
Open
Conversation
… finalized TTL-export including shapes for instances and without shapes for the classes.
Contributor
There was a problem hiding this comment.
Pull request overview
Adds RDF/Turtle (TTL) export support (including shapes/class-shapes) and aligns import/export + validation logic and fixtures with the updated CASCaRA schema expectations.
Changes:
- Introduces a TTL export UI (with options) and updates import/export button labeling for consistency.
- Extends package constraint validation (e.g., namespace prefix checking) and refactors metaclass normalization/validation (multi-language text, default namespaces).
- Updates schemas, test fixtures (XML/JSON-LD/TTL), and documentation/versioning to the new schema snapshot.
Reviewed changes
Copilot reviewed 50 out of 55 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| tests/unit/pig-package-constraints.spec.ts | Updates unit tests to include additional prefixes and OWL type casing. |
| tests/unit/pig-metaclasses-jsonld.spec.ts | Adjusts JSON-LD metaclasses test data (text tweak; unit handling comment). |
| tests/unit/import-xml.spec.ts | Updates XML import test namespace + typing expectation for relationship class access. |
| tests/unit/import-reqif.spec.ts | Updates expected graph size/item ordering in ReqIF import test. |
| tests/data/XML/21/Project 'Very Simple Model (FMC) with Requirements'.cas.xml | Removes embedded metamodel boilerplate items from fixture. |
| tests/data/XML/11/Alice_works_for_ACME.cas.xml | Renames package/title and refactors fixture structure + schema.org-to-cas mapping. |
| tests/data/XML/05/Project 'Requirement with Enumerated Property'.cas.xml | Removes embedded metamodel boilerplate items; adjusts specializes placement. |
| tests/data/TTL/11/Alice.cas.ttl | Removes old TTL fixture (superseded). |
| tests/data/TTL/11/Alice_works_for_ACME.cas.ttl | Adds new TTL fixture representing updated Turtle export output. |
| tests/data/TTL/05/Project_'Requirement_with_Enumerated_Property'.cas.ttl | Adds new TTL fixture representing updated Turtle export output. |
| tests/data/TTL/05/Project 'Requirement with Enumerated Property'.cas.ttl | Removes old TTL fixture (superseded). |
| tests/data/JSON-LD/27/Dimmer - Semantically Integrated Specification (2021-01-28).cas.jsonld | Updates JSON-LD fixture (context + removes embedded boilerplate metamodel items). |
| tests/data/JSON-LD/22/Small Autonomous Vehicle.cas.jsonld | Updates JSON-LD fixture (removes embedded boilerplate metamodel items). |
| tests/data/JSON-LD/21/Project 'Very Simple Model (FMC) with Requirements'.cas.jsonld | Updates JSON-LD fixture (removes embedded boilerplate metamodel items). |
| tests/data/JSON-LD/11/Alice.cas.jsonld | Removes old JSON-LD fixture (superseded). |
| tests/data/JSON-LD/11/Alice_works_for_ACME.cas.jsonld | Adds new JSON-LD fixture aligned with updated metamodel handling. |
| tests/data/JSON-LD/05/Project 'Requirement with Enumerated Property'.cas.jsonld | Updates JSON-LD fixture (removes embedded boilerplate metamodel items). |
| src/plugins/import/xml/import-xml.vue | Renames import button label for XML. |
| src/plugins/import/reqif/import-reqif.vue | Renames import button label for ReqIF. |
| src/plugins/import/jsonld/import-jsonld.vue | Renames import button label for JSON-LD. |
| src/plugins/import/fmi/import-fmi.vue | Renames import button label for FMI. |
| src/plugins/export/ttl/mount-export-ttl.ts | Renames mounted component variable; exports TTL component globally. |
| src/plugins/export/ttl/export-ttl.vue | Implements TTL export dialog/UI, options, filename generation, and file writing. |
| src/plugins/export/jsonld/export-jsonld.vue | Aligns JSON-LD export naming rules and filename sanitization. |
| src/common/schema/pig/ts/pig-package-constraints.ts | Adds namespace prefix constraint check; adjusts ID uniqueness error context; refactors reference checks. |
| src/common/schema/pig/ts/pig-metaclasses.ts | Refactors multi-language text handling/validation; tracks default namespaces; updates item typing constraints. |
| src/common/schema/pig/json/pig-schemata.ts | Updates schema path version; tightens requirements (e.g., datatype) and removes unit fields. |
| src/common/lib/mvf.ts | Adds RDF/Turtle vocabulary mappings for import/export. |
| src/common/lib/messages.ts | Improves package validation messages and adds namespace-prefix error message. |
| src/common/lib/helpers.ts | Adds context/hosted-ontology helpers, shape ID creation, and filename sanitization helper. |
| src/common/lib/definitions.ts | Adds ontology metadata structures, shape naming constants, context/hosted ontology lists, and regex tweaks. |
| src/common/import/fmi/import-fmi.ts | Reduces log noise / streamlines import logging. |
| src/build-info.ts | Bumps build metadata (version/time/branch/commit). |
| src/App.vue | Re-enables “Document” navigation entry. |
| README.md | Renames and updates project description and collaboration rules text. |
| public/assets/xslt/ReqIF-to-CAS.xsl | Adds skos namespace and emits additional semantic-infrastructure items. |
| public/assets/xslt/FMI-to-CAS.xsl | Ensures enumerations get sh:datatype in generated XML. |
| public/assets/jsonld/Relationship.json | Updates JSON-LD schema $id version. |
| public/assets/jsonld/Property.json | Updates JSON-LD schema $id version; requires sh:datatype; removes unit. |
| public/assets/jsonld/Link.json | Updates JSON-LD schema $id version. |
| public/assets/jsonld/Enumeration.json | Updates JSON-LD schema $id version; requires sh:datatype; removes unit. |
| public/assets/jsonld/Entity.json | Updates JSON-LD schema $id version; formatting/defs adjustments. |
| public/assets/jsonld/aRelationship.json | Updates JSON-LD schema $id version. |
| public/assets/jsonld/aPackage.json | Updates JSON-LD schema $id version and internal $ref targets; formatting. |
| public/assets/jsonld/anEntity.json | Updates JSON-LD schema $id version. |
| public/assets/index.html | Updates schema index page to point to 2026-07-03 as latest. |
| package.json | Bumps package version to 0.2.7. |
| package-lock.json | Updates lockfile metadata and dependencies; root package metadata needs version sync. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Added the export in RDF/Turtle format including shapes and class shapes. All shapes are for discussion and not tested, yet.