@@ -361,8 +361,12 @@ export function generateMissingIdsForBlankNodes(nquadsArray) {
361361 }
362362 return term ; // Return IRI or Literal unchanged
363363 }
364-
364+ const unsupportedNquads = [ ] ;
365365 const updatedNquads = parser . parse ( nquadsArray . join ( "" ) ) . map ( ( quad ) => {
366+ // Check if BlankNodes are parsed as named graphs
367+ if ( quad . graph . termType === "BlankNode" ) {
368+ unsupportedNquads . push ( writer . quadToString ( quad . object , quad . predicate , quad . object , quad . graph ) ) ;
369+ }
366370 // Replace blank nodes in the quad
367371 const updatedQuad = N3 . DataFactory . quad (
368372 replaceBlankNode ( quad . subject ) ,
@@ -374,6 +378,23 @@ export function generateMissingIdsForBlankNodes(nquadsArray) {
374378 return updatedQuad ;
375379 } ) ;
376380
381+ if ( unsupportedNquads . length > 0 ) {
382+ console . error ( `
383+ ------------------------------------------------------------------------------------------------
384+ Error: Unsupported JSON-LD input detected
385+
386+ After parsing the JSON-LD input, the parser detected creation of new named graphs.
387+ The DKG does not support custom named graphs.
388+
389+ Problematic Quads:
390+ ${ unsupportedNquads . map ( ( q , i ) => ` ${ i + 1 } . ${ q } ` ) . join ( "\n" ) }
391+
392+ Full Parsed N-Quads Array:
393+ ` , nquadsArray , '\n' ) ;
394+
395+ throw new Error ( "Parsing failed due to presence of unnamed (blank node) graphs. Please ensure all graphs in the input JSON-LD have proper named IRIs." ) ;
396+ }
397+
377398 return writer . quadsToString ( updatedNquads ) . trimEnd ( ) . split ( "\n" ) ;
378399}
379400
0 commit comments