Skip to content

Feature/147 serializer turtle jsonld rdfxml#165

Merged
remiceres merged 27 commits into
feature/corese-nextfrom
feature/147_Serializer_Turtle_JSONLD_RDFXML
Jul 9, 2025
Merged

Feature/147 serializer turtle jsonld rdfxml#165
remiceres merged 27 commits into
feature/corese-nextfrom
feature/147_Serializer_Turtle_JSONLD_RDFXML

Conversation

@abdessamad-abdoun
Copy link
Copy Markdown
Contributor

No description provided.

@github-actions
Copy link
Copy Markdown

Overall Project 48.2% -0.91% 🍏
Files changed 64.25% 🍏

File Coverage
BlankNodeStyleEnum.java 100% 🍏
LiteralDatatypePolicyEnum.java 100% 🍏
PrefixOrderingEnum.java 100% 🍏
RdfFormat.java 99.26% 🍏
FormatConfig.java 94.07% -5.93% 🍏
DefaultSerializerFactory.java 93.27% -6.73% 🍏
XmlSerializer.java 81.67% -18.33% 🍏
SerializationException.java 71.83% 🍏
NTriplesSerializer.java 70.82% -13.99% 🍏
NQuadsSerializer.java 70.21% -22.71% 🍏
TurtleSerializer.java 56.39% -43.61%
TriGSerializer.java 48.71% -51.29%

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 27, 2025

Test Results

732 tests  +117   732 ✅ +117   31s ⏱️ +2s
 46 suites +  7     0 💤 ±  0 
 46 files   +  7     0 ❌ ±  0 

Results for commit 3783b50. ± Comparison against base commit 294ed6a.

♻️ This comment has been updated with latest results.

Copy link
Copy Markdown
Contributor

@MaillPierre MaillPierre left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cf comment on the re-definition of URIs related string in SerializationConstants

}

// --- Standard RDF/RDFS/XSD/OWL URIs ---
public static final String RDF_NS = "http://www.w3.org/1999/02/22-rdf-syntax-ns#";
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All the RDF/RDFS related strings should be imported from src/main/java/fr/inria/corese/core/next/impl/common/vocabulary/RDFS.java and src/main/java/fr/inria/corese/core/next/impl/common/vocabulary/RDF.java instead of being re-defined here.
It woul probably also be a good ideau to add an OWL.java in the vocabulary package

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

C’est corrigé

@github-actions
Copy link
Copy Markdown

Overall Project 48.23% -0.94% 🍏
Files changed 63.66% 🍏

File Coverage
SerializationConstants.java 100% 🍏
BlankNodeStyleEnum.java 100% 🍏
LiteralDatatypePolicyEnum.java 100% 🍏
PrefixOrderingEnum.java 100% 🍏
RdfFormat.java 99.26% 🍏
FormatConfig.java 94.07% -5.93% 🍏
DefaultSerializerFactory.java 93.27% -6.73% 🍏
XmlSerializer.java 81.67% -18.33% 🍏
SerializationException.java 71.83% 🍏
NTriplesSerializer.java 70.82% -13.99% 🍏
NQuadsSerializer.java 70.21% -22.71% 🍏
TurtleSerializer.java 56.39% -43.61%
TriGSerializer.java 48.71% -51.29%
OWL.java 0%

@abdessamad-abdoun abdessamad-abdoun force-pushed the feature/147_Serializer_Turtle_JSONLD_RDFXML branch from e723efc to dc6e183 Compare June 30, 2025 13:44
@github-actions
Copy link
Copy Markdown

Overall Project 48.23% -0.94% 🍏
Files changed 63.66% 🍏

File Coverage
SerializationConstants.java 100% 🍏
BlankNodeStyleEnum.java 100% 🍏
LiteralDatatypePolicyEnum.java 100% 🍏
PrefixOrderingEnum.java 100% 🍏
RdfFormat.java 99.26% 🍏
FormatConfig.java 94.07% -5.93% 🍏
DefaultSerializerFactory.java 93.27% -6.73% 🍏
XmlSerializer.java 81.67% -18.33% 🍏
SerializationException.java 71.83% 🍏
NTriplesSerializer.java 70.82% -13.99% 🍏
NQuadsSerializer.java 70.21% -22.71% 🍏
TurtleSerializer.java 56.39% -43.61%
TriGSerializer.java 48.71% -51.29%
OWL.java 0%

Copy link
Copy Markdown
Contributor

@remiceres remiceres left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • It might be beneficial to introduce inheritance between closely related serializers (e.g., N-Triples and N-Quads, TriG and Turtle) to reduce code duplication.
  • Consider whether each serializer should have its own specific FormatConfig type, instead of sharing a common one.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Interface names should not be prefixed with "I". For example, use RdfSerializer instead of IRdfSerializer, as defined in our naming conventions:
https://github.com/corese-stack/corese-docs/blob/main/Naming%20and%20Coding%20Conventions%20for%20Corese.md/#L8-L13

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Interface names should not be prefixed with "I". For example, use RdfSerializer instead of IRdfSerializer, as defined in our naming conventions:
https://github.com/corese-stack/corese-docs/blob/main/Naming%20and%20Coding%20Conventions%20for%20Corese.md/#L8-L13

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Interface names should not be prefixed with "I". For example, use RdfSerializer instead of IRdfSerializer, as defined in our naming conventions:
https://github.com/corese-stack/corese-docs/blob/main/Naming%20and%20Coding%20Conventions%20for%20Corese.md/#L8-L13

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missing documentation for the RdfSerializer interface.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missing documentation for the SerializerFactory interface.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missing class-level Javadoc for NQuadsSerializer.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missing Javadoc for SerializationException. Also, the existing comment is in French — all documentation should be written in English.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The name FormatConfig might be too generic — something like SerializerConfig could be more explicit.

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jul 1, 2025

Overall Project 48.21% -0.91% 🍏
Files changed 64.5% 🍏

File Coverage
SerializationConstants.java 100% 🍏
BlankNodeStyleEnum.java 100% 🍏
LiteralDatatypePolicyEnum.java 100% 🍏
PrefixOrderingEnum.java 100% 🍏
RdfFormat.java 99.26% 🍏
FormatConfig.java 94.07% -5.93% 🍏
DefaultSerializerFactory.java 93.27% -6.73% 🍏
NTriplesSerializer.java 84.38% -15.63% 🍏
XmlSerializer.java 81.67% -18.33% 🍏
AbstractLineBasedSerializer.java 78.61% -21.39% 🍏
SerializationException.java 71.83% 🍏
NQuadsSerializer.java 69.57% -30.43% 🍏
TurtleSerializer.java 56.39% -43.61%
TriGSerializer.java 48.71% -51.29%
OWL.java 0%

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jul 1, 2025

Overall Project 48.23% -0.57% 🍏
Files changed 70.78% 🍏

File Coverage
SerializationConstants.java 100% 🍏
BlankNodeStyleEnum.java 100% 🍏
LiteralDatatypePolicyEnum.java 100% 🍏
PrefixOrderingEnum.java 100% 🍏
RdfFormat.java 99.26% 🍏
SerializerConfig.java 94.07% -5.93% 🍏
DefaultSerializerFactory.java 93.27% -6.73% 🍏
NTriplesSerializer.java 84.38% -15.63% 🍏
XmlSerializer.java 81.67% -18.33% 🍏
AbstractLineBasedSerializer.java 78.61% -21.39% 🍏
SerializationException.java 71.83% 🍏
NQuadsSerializer.java 69.57% -30.43% 🍏
AbstractGraphSerializer.java 62.52% -37.48% 🍏
TriGSerializer.java 56.46% -43.54%
TurtleSerializer.java 24.63% -75.37%
StringHelper.java 15.47% 🍏
OWL.java 0%

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jul 4, 2025

Overall Project 48.48% -0.65% 🍏
Files changed 67.93% 🍏

File Coverage
SerializationConstants.java 100% 🍏
BlankNodeStyleEnum.java 100% 🍏
AbstractSerializerConfig.java 100% 🍏
LiteralDatatypePolicyEnum.java 100% 🍏
PrefixOrderingEnum.java 100% 🍏
AbstractNFamilyConfig.java 100% 🍏
RdfFormat.java 99.26% 🍏
TurtleConfig.java 93.85% -6.15% 🍏
TriGConfig.java 93.44% -6.56% 🍏
NTriplesSerializer.java 85.71% -14.29% 🍏
NQuadsConfig.java 84% -16% 🍏
NTriplesConfig.java 84% -16% 🍏
XmlSerializer.java 81.4% -18.6% 🍏
XmlConfig.java 79.25% -20.75% 🍏
AbstractTFamilyConfig.java 79.11% -20.89% 🍏
AbstractLineBasedSerializer.java 77.76% -22.24% 🍏
DefaultSerializerFactory.java 73.06% -26.94% 🍏
SerializationException.java 71.83% 🍏
NQuadsSerializer.java 71.43% -28.57% 🍏
AbstractGraphSerializer.java 58.36% -41.64%
TriGSerializer.java 54.56% -45.44%
TurtleSerializer.java 24.45% -75.55%
StringHelper.java 15.47% 🍏
OWL.java 0%

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jul 4, 2025

Overall Project 48.48% -0.65% 🍏
Files changed 67.93% 🍏

File Coverage
SerializationConstants.java 100% 🍏
BlankNodeStyleEnum.java 100% 🍏
AbstractSerializerConfig.java 100% 🍏
LiteralDatatypePolicyEnum.java 100% 🍏
PrefixOrderingEnum.java 100% 🍏
AbstractNFamilyConfig.java 100% 🍏
RdfFormat.java 99.26% 🍏
TurtleConfig.java 93.85% -6.15% 🍏
TriGConfig.java 93.44% -6.56% 🍏
NTriplesSerializer.java 85.71% -14.29% 🍏
NQuadsConfig.java 84% -16% 🍏
NTriplesConfig.java 84% -16% 🍏
XmlSerializer.java 81.4% -18.6% 🍏
XmlConfig.java 79.25% -20.75% 🍏
AbstractTFamilyConfig.java 79.11% -20.89% 🍏
AbstractLineBasedSerializer.java 77.76% -22.24% 🍏
DefaultSerializerFactory.java 73.06% -26.94% 🍏
SerializationException.java 71.83% 🍏
NQuadsSerializer.java 71.43% -28.57% 🍏
AbstractGraphSerializer.java 58.36% -41.64%
TriGSerializer.java 54.56% -45.44%
TurtleSerializer.java 24.45% -75.55%
StringHelper.java 15.47% 🍏
OWL.java 0%

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jul 4, 2025

Overall Project 48.48% -0.65% 🍏
Files changed 68% 🍏

File Coverage
SerializationConstants.java 100% 🍏
BlankNodeStyleEnum.java 100% 🍏
AbstractSerializerConfig.java 100% 🍏
NQuadsConfig.java 100% 🍏
LiteralDatatypePolicyEnum.java 100% 🍏
PrefixOrderingEnum.java 100% 🍏
AbstractNFamilyConfig.java 100% 🍏
RdfFormat.java 99.26% 🍏
TurtleConfig.java 93.85% -6.15% 🍏
TriGConfig.java 93.44% -6.56% 🍏
NTriplesSerializer.java 85.71% -14.29% 🍏
NTriplesConfig.java 84% -16% 🍏
XmlSerializer.java 81.4% -18.6% 🍏
XmlConfig.java 79.25% -20.75% 🍏
AbstractTFamilyConfig.java 79.11% -20.89% 🍏
AbstractLineBasedSerializer.java 77.76% -22.24% 🍏
DefaultSerializerFactory.java 73.06% -26.94% 🍏
SerializationException.java 71.83% 🍏
NQuadsSerializer.java 71.43% -28.57% 🍏
AbstractGraphSerializer.java 58.36% -41.64%
TriGSerializer.java 54.56% -45.44%
TurtleSerializer.java 24.45% -75.55%
StringHelper.java 15.47% 🍏
OWL.java 0%

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jul 7, 2025

Overall Project 48.49% -0.65% 🍏
Files changed 68.07% 🍏

File Coverage
SerializationConstants.java 100% 🍏
BlankNodeStyleEnum.java 100% 🍏
AbstractSerializerConfig.java 100% 🍏
NQuadsConfig.java 100% 🍏
LiteralDatatypePolicyEnum.java 100% 🍏
PrefixOrderingEnum.java 100% 🍏
NTriplesConfig.java 100% 🍏
AbstractNFamilyConfig.java 100% 🍏
RdfFormat.java 99.26% 🍏
TurtleConfig.java 93.85% -6.15% 🍏
TriGConfig.java 93.44% -6.56% 🍏
NTriplesSerializer.java 85.71% -14.29% 🍏
XmlSerializer.java 81.4% -18.6% 🍏
XmlConfig.java 79.25% -20.75% 🍏
AbstractTFamilyConfig.java 79.11% -20.89% 🍏
AbstractLineBasedSerializer.java 77.76% -22.24% 🍏
DefaultSerializerFactory.java 73.06% -26.94% 🍏
SerializationException.java 71.83% 🍏
NQuadsSerializer.java 71.43% -28.57% 🍏
AbstractGraphSerializer.java 58.36% -41.64%
TriGSerializer.java 54.56% -45.44%
TurtleSerializer.java 24.45% -75.55%
StringHelper.java 15.47% 🍏
OWL.java 0%

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jul 7, 2025

Overall Project 48.5% -0.64% 🍏
Files changed 68.85% 🍏

File Coverage
SerializationConstants.java 100% 🍏
TriGConfig.java 100% 🍏
BlankNodeStyleEnum.java 100% 🍏
AbstractSerializerConfig.java 100% 🍏
NQuadsConfig.java 100% 🍏
LiteralDatatypePolicyEnum.java 100% 🍏
PrefixOrderingEnum.java 100% 🍏
NTriplesConfig.java 100% 🍏
AbstractNFamilyConfig.java 100% 🍏
RdfFormat.java 99.26% 🍏
TurtleConfig.java 93.85% -6.15% 🍏
AbstractTFamilyConfig.java 91.09% -8.91% 🍏
NTriplesSerializer.java 85.71% -14.29% 🍏
XmlSerializer.java 81.4% -18.6% 🍏
XmlConfig.java 79.25% -20.75% 🍏
AbstractLineBasedSerializer.java 77.76% -22.24% 🍏
DefaultSerializerFactory.java 73.06% -26.94% 🍏
SerializationException.java 71.83% 🍏
NQuadsSerializer.java 71.43% -28.57% 🍏
AbstractGraphSerializer.java 58.36% -41.64%
TriGSerializer.java 54.56% -45.44%
TurtleSerializer.java 24.45% -75.55%
StringHelper.java 15.47% 🍏
OWL.java 0%

abdessamad-abdoun and others added 13 commits July 7, 2025 17:03
Extracts a common abstract base class, AbstractLineBasedSerializer, from NQuadsSerializer and NTriplesSerializer.

This refactoring removes duplicated code for writing statements, values, literals, IRIs, and blank nodes.

The new base class centralizes the logic for line-by-line serialization, while subclasses (NQuadsSerializer and NTriplesSerializer) now only need to implement the specific logic for handling contexts (named graphs).

- NQuadsSerializer handles the optional context.
- NTriplesSerializer ignores the context and logs a warning.

This change improves maintainability and reduces code duplication.
@abdessamad-abdoun abdessamad-abdoun force-pushed the feature/147_Serializer_Turtle_JSONLD_RDFXML branch from a7ff164 to 3783b50 Compare July 7, 2025 15:04
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jul 7, 2025

Overall Project 48.52% -0.62% 🍏
Files changed 69.58% 🍏

File Coverage
SerializationConstants.java 100% 🍏
TriGConfig.java 100% 🍏
BlankNodeStyleEnum.java 100% 🍏
AbstractSerializerConfig.java 100% 🍏
NQuadsConfig.java 100% 🍏
LiteralDatatypePolicyEnum.java 100% 🍏
PrefixOrderingEnum.java 100% 🍏
NTriplesConfig.java 100% 🍏
AbstractNFamilyConfig.java 100% 🍏
RdfFormat.java 99.26% 🍏
XmlConfig.java 95.47% -4.53% 🍏
TurtleConfig.java 93.85% -6.15% 🍏
AbstractTFamilyConfig.java 91.09% -8.91% 🍏
NTriplesSerializer.java 85.71% -14.29% 🍏
XmlSerializer.java 81.4% -18.6% 🍏
AbstractLineBasedSerializer.java 77.76% -22.24% 🍏
DefaultSerializerFactory.java 73.06% -26.94% 🍏
SerializationException.java 71.83% 🍏
NQuadsSerializer.java 71.43% -28.57% 🍏
AbstractGraphSerializer.java 58.36% -41.64%
TriGSerializer.java 54.56% -45.44%
TurtleSerializer.java 24.45% -75.55%
StringHelper.java 15.47% 🍏
OWL.java 0%

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jul 7, 2025

Overall Project 48.52% -0.62% 🍏
Files changed 69.58% 🍏

File Coverage
SerializationConstants.java 100% 🍏
TriGConfig.java 100% 🍏
BlankNodeStyleEnum.java 100% 🍏
AbstractSerializerConfig.java 100% 🍏
NQuadsConfig.java 100% 🍏
LiteralDatatypePolicyEnum.java 100% 🍏
PrefixOrderingEnum.java 100% 🍏
NTriplesConfig.java 100% 🍏
AbstractNFamilyConfig.java 100% 🍏
RdfFormat.java 99.26% 🍏
XmlConfig.java 95.47% -4.53% 🍏
TurtleConfig.java 93.85% -6.15% 🍏
AbstractTFamilyConfig.java 91.09% -8.91% 🍏
NTriplesSerializer.java 85.71% -14.29% 🍏
XmlSerializer.java 81.4% -18.6% 🍏
AbstractLineBasedSerializer.java 77.76% -22.24% 🍏
DefaultSerializerFactory.java 73.06% -26.94% 🍏
SerializationException.java 71.83% 🍏
NQuadsSerializer.java 71.43% -28.57% 🍏
AbstractGraphSerializer.java 58.36% -41.64%
TriGSerializer.java 54.56% -45.44%
TurtleSerializer.java 24.45% -75.55%
StringHelper.java 15.47% 🍏
OWL.java 0%

@remiceres remiceres merged commit b65464f into feature/corese-next Jul 9, 2025
2 checks passed
@remiceres remiceres deleted the feature/147_Serializer_Turtle_JSONLD_RDFXML branch July 9, 2025 07:31
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.

3 participants