Skip to content

Comments

Improve RDF format detection and validation, add SPARQL queries, multi‑tab validation UI, and i18n/typing updates#6

Merged
mjanez merged 15 commits intomainfrom
develop
Sep 4, 2025
Merged

Improve RDF format detection and validation, add SPARQL queries, multi‑tab validation UI, and i18n/typing updates#6
mjanez merged 15 commits intomainfrom
develop

Conversation

@mjanez
Copy link
Owner

@mjanez mjanez commented Sep 2, 2025

This PR significantly enhances RDF validation capabilities, improves format auto-detection and error handling, introduces a multi-tab validation UI, adds SPARQL query functionality, and refines typing and localization. It also aligns namespaces and configuration, improves metric validators (including NTI-RISP-specific checks), and updates documentation and assets for better clarity.

Key changes

  • RDF validation and format handling

    • Implemented RDF syntax validation in MQAService.
    • Enhanced syntax error messages in the App component and ValidationForm with user-friendly messages for common issues.
    • Improved auto-detection of RDF formats and refined syntax validation handling.
    • Added a conversion method for N-Triples.
    • Enhanced validation of NTI-RISP special vocabulary metrics.
    • Improved the SHACL report viewer.
    • Updated versioning related to validation.
  • Vocabulary validation and typing

    • Corrected interoperability vocabulary validation.
    • Adjusted types to use uri (primary ID), value, and label.
    • Fixed checkVocabularyMatch to correctly validate vocabularies.
    • Improved vocabulary metric validators.
    • Added the ability to fetch vocabularies from GitHub.
  • UI/UX

    • Implemented a multi-tab validation system with improved state management and UI components.
    • Increased tab width and name display area for better visibility.
    • Auto-switch to the Results tab after successful validation (with a slight delay for state updates).
  • SPARQL functionality

    • Added a SPARQL query tab in the UI.
    • Introduced SPARQLService to manage predefined queries and execute them against endpoints.
    • Added PredefinedQueriesComponent to select and run predefined SPARQL queries.
    • Enhanced existing services to support SPARQL execution and validation.
    • Updated MQAConfig to include SPARQL configuration and parameters.
    • Added localization metric labels for SPARQL-related metrics.
  • Internationalization and content

    • Added new translation keys for RDF syntax validation messages in English and Spanish.
    • Fixed non-translated text.
    • Removed hardcoded metric labels in favor of i18n files.
  • Configuration, namespaces, and types

    • Updated index.ts types to include new evaluation settings and proportional evaluation fields in MQAConfig and QualityMetric interfaces.
    • Updated ValidationForm and ValidationResults to use the DCT namespace instead of DCTerms.
    • Modified mqa-config.json to reflect DCT (replacing DCTerms).
    • Adjusted ITBSHACLService and MQAService to accommodate the new namespace.
    • Enhanced RDFService to include DCT prefixes in RDF parsing.
    • General mqa-config improvements.
    • Added JSON resources and GitHub-based vocabulary retrieval.
  • Docs and assets

    • Created/updated README and fixed image references.
    • Replaced react_app_1.png with an improved, clearer version.
  • Housekeeping

Labels

  • bug, documentation, enhancement

Potential breaking/behavioral changes

  • Namespace change from DCTerms to DCT across components and configuration.
  • MQAConfig schema updated (SPARQL settings, evaluation settings, proportional evaluation fields). Consumers of the config/types may need to update accordingly.

How to test

  • RDF validation
    • Validate RDF inputs in different formats and confirm auto-detection works.
    • Introduce known syntax errors to check improved, user-friendly error messages.
    • Verify N-Triples conversion and validation paths.
    • Check SHACL report rendering improvements.
  • Vocabulary checks
    • Validate datasets using vocabularies and confirm corrected interoperability checks and vocabulary matching.
    • Verify NTI-RISP specific vocabulary metrics behave correctly.
  • UI/UX
    • Use the multi-tab validation flow and confirm smoother state handling.
    • Observe tab width/name visibility improvements.
    • Run a successful validation and confirm the automatic switch to the Results tab.
  • SPARQL
    • Open the SPARQL tab, select predefined queries, and execute against endpoints.
    • Confirm results handling and related metrics/localization.
  • i18n and content
    • Switch languages and verify translations for RDF syntax messages and metric labels.
  • Config and types
    • Review mqa-config.json updates (DCT usage, SPARQL settings).
    • Compile/build to ensure type changes are satisfied.
  • Docs and assets
    • Open README and confirm images render correctly, including the updated react_app_1.png.

mjanez added 6 commits August 29, 2025 15:01
- Ajustados los tipos, ahora se usa uri (id primario), value y label.
- Ajustado checkVocabularyMatch para usar correctamente la validación de los vocabularios.
- Implemented syntax validation for RDF content in MQAService.
- Enhanced error messages for RDF syntax errors in App component.
- Added user-friendly messages for common RDF syntax issues.
- Updated ValidationForm to include syntax validation functionality.
- Added new translation keys for syntax validation messages in English and Spanish.
- Improve the auto-detection logic.
Add an N-Triples conversion method.
Improve the validation of NTI-RISP special vocabulary metrics.
Refine error handling in MQAService and RDFService.
Improve the SHACL report viewer.
@mjanez mjanez self-assigned this Sep 2, 2025
@mjanez mjanez added bug Something isn't working documentation Improvements or additions to documentation enhancement New feature or request labels Sep 2, 2025
- Introduced SPARQL query tab in the UI
- Added a new service (SPARQLService) to manage predefined SPARQL queries and execute them against endpoints.
- Implemented a component (PredefinedQueriesComponent) for selecting and executing predefined SPARQL queries.
- Enhanced existing services to support SPARQL query execution and validation.
- Updated MQAConfig type to include SPARQL configuration and parameters.
- Added metric labels for SPARQL-related metrics in localization files.
- Better mqa-config
- Updated index.ts types to include new evaluation settings and proportional evaluation fields in MQAConfig and QualityMetric interfaces.
- Improve vocab metric validators.
- Updated ValidationForm and ValidationResults components to use the new DCT namespace instead of DCTerms.
- Modified mqa-config.json to reflect changes in property references from DCTerms to DCT.
- Adjusted ITBSHACLService and MQAService to accommodate the new namespace.
- Enhanced RDFService to include DCT prefixes in RDF parsing.
- Remove hardcoded metric labels, better using i18n files.
@mjanez mjanez changed the title Mejorada deteccion de RDFs y validacion Improve RDF format detection and validation, add SPARQL queries, multi‑tab validation UI, and i18n/typing updates Sep 4, 2025
@mjanez mjanez merged commit 5efe9b0 into main Sep 4, 2025
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working documentation Improvements or additions to documentation enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant