Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add RDF module #228

Draft
wants to merge 212 commits into
base: main
Choose a base branch
from
Draft

Add RDF module #228

wants to merge 212 commits into from

Conversation

mhrimaz
Copy link

@mhrimaz mhrimaz commented Jan 3, 2024

Bring back the RDF module.

I used commit 3e5f53c as a base.

Steps to get a running version first and at least produce some valid JSON-LD serializations:

  • update @JsonProperty to new namespace
  • LangString defined as AbstractLangString and divided into different sub classes specific for each element
  • Certain classes renamed such as DataSpecificationIEC61360 to DataSpecificationIec61360

Old code evaluation:

  • Parser logic uses SPARQL query to parse which is wrong approach.
  • Serializer uses Jackson to convert to JSON-LD and then Apache Jena parse the JSON-LD to construct a Model and then it will serialize RDF/Turtle. The workflow is inefficient. Mixins are simply repeated and at the end Jackson as an extra dependency doesn't add any value other than unnecessary complexity.

Next steps are:

  • Rewrite the whole structure of Serializer and Parser with no dependency on Jackson.
  • Increase test case coverage and include invalid scenarios with proper exception handling and logging.
  • Refactoring internal structure and decide about public API
  • Decide on how to handle order relevant elements and write a decision-record for it.
  • Apply necessary changes with respect to v3.1

Features (?):

Last update: 08.02.2024

@twebermartins
Copy link
Contributor

Thank you very much for your contribution! We will have a look at it!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants