Error message

  • Deprecated function: TYPO3\PharStreamWrapper\Manager::initialize(): Implicitly marking parameter $resolver as nullable is deprecated, the explicit nullable type must be used instead in include_once() (line 19 of /is/htdocs/wp1066709_HN3MCMCRY7/www/swj/includes/file.phar.inc).
  • Deprecated function: TYPO3\PharStreamWrapper\Manager::initialize(): Implicitly marking parameter $collection as nullable is deprecated, the explicit nullable type must be used instead in include_once() (line 19 of /is/htdocs/wp1066709_HN3MCMCRY7/www/swj/includes/file.phar.inc).
  • Deprecated function: TYPO3\PharStreamWrapper\Manager::__construct(): Implicitly marking parameter $resolver as nullable is deprecated, the explicit nullable type must be used instead in include_once() (line 19 of /is/htdocs/wp1066709_HN3MCMCRY7/www/swj/includes/file.phar.inc).
  • Deprecated function: TYPO3\PharStreamWrapper\Manager::__construct(): Implicitly marking parameter $collection as nullable is deprecated, the explicit nullable type must be used instead in include_once() (line 19 of /is/htdocs/wp1066709_HN3MCMCRY7/www/swj/includes/file.phar.inc).
  • Warning: ini_set(): Session ini settings cannot be changed after headers have already been sent in include_once() (line 352 of /is/htdocs/wp1066709_HN3MCMCRY7/www/swj/sites/default/settings.php).
  • Warning: ini_set(): Session ini settings cannot be changed after headers have already been sent in include_once() (line 353 of /is/htdocs/wp1066709_HN3MCMCRY7/www/swj/sites/default/settings.php).
  • Warning: ini_set(): Session ini settings cannot be changed after headers have already been sent in include_once() (line 361 of /is/htdocs/wp1066709_HN3MCMCRY7/www/swj/sites/default/settings.php).
  • Warning: ini_set(): Session ini settings cannot be changed after headers have already been sent in include_once() (line 368 of /is/htdocs/wp1066709_HN3MCMCRY7/www/swj/sites/default/settings.php).
  • Warning: ini_set(): Session ini settings cannot be changed after headers have already been sent in drupal_settings_initialize() (line 826 of /is/htdocs/wp1066709_HN3MCMCRY7/www/swj/includes/bootstrap.inc).
  • Warning: ini_set(): Session ini settings cannot be changed after headers have already been sent in drupal_settings_initialize() (line 835 of /is/htdocs/wp1066709_HN3MCMCRY7/www/swj/includes/bootstrap.inc).
  • Warning: session_name(): Session name cannot be changed after headers have already been sent in drupal_settings_initialize() (line 838 of /is/htdocs/wp1066709_HN3MCMCRY7/www/swj/includes/bootstrap.inc).

SHACL-Guided Small Language Models for RDF Knowledge Graph Population:\\ Semantic Evaluation, Cross-Domain Generalisation, and Long-Tail Mitigation

Tracking #: 4053-5267

Authors: 
Célian Ringwald
Fabien Gandon
Catherine Faron
Franck Michel
Hanna Abi Akl

Responsible editor: 
Angelo Salatino

Submission type: 
Full Paper
Abstract: 
Populating RDF knowledge graphs from natural language is challenging when both datatype and object properties must be extracted under schema constraints. We extend the Kastor framework---a SHACL-guided, pattern-based relation extraction approach---scaling it from a single dbo:Person shape to 16 DBpedia entity classes. We introduce four semantic evaluation metrics for object property errors: URI validity, class-level semantic similarity, relation confusion rate, and hallucination estimation. We release KastorKG, an open resource comprising 19 DBpedia SHACL shapes, 141,096 distilled Wikipedia abstract--graph pairs, and 16 fine-tuned small language models (SLMs, 139M parameters). Despite having >100× fewer parameters than LLM baselines, our SLMs outperform 13B-parameter models on 11 of 16 Text2KGBench classes with zero subject or relation hallucinations, versus 12--16% and 7--9% hallucination rates for LLMs. Cross-domain transfer analysis on WebNLG further shows that example-specific pattern overlap and register similarity are stronger predictors of transferability than property-set overlap alone. Finally, long-tail property distributions are identified as the primary performance bottleneck, and sufficient-exposure sampling---guaranteeing at least 1,000 training examples per property---is shown to substantially improve rare-property recall. All code, models, and datasets are publicly available.
Full PDF Version: 
Tags: 
Reviewed

Decision/Status: 
Major Revision

Solicited Reviews:

Deprecated: Constant E_STRICT is deprecated in /is/htdocs/wp1066709_HN3MCMCRY7/www/swj/includes/errors.inc on line 29
Click to Expand/Collapse
Review #1
By Enrico Daga submitted on 25/Jun/2026
Suggestion:
Major Revision
Review Comment:

This manuscript was submitted as 'full paper' and should be reviewed along the usual dimensions for research contributions which include (1) originality, (2) significance of the results, and (3) quality of writing. Please also assess the data file provided by the authors under “Long-term stable URL for resources”. In particular, assess (A) whether the data file is well organized and in particular contains a README file which makes it easy for you to assess the data, (B) whether the provided resources appear to be complete for replication of experiments, and if not, why, (C) whether the chosen repository, if it is not GitHub, Figshare or Zenodo, is appropriate for long-term repository discoverability, and (4) whether the provided data artifacts are complete. Please refer to the reviewer instructions and the FAQ for further information.

# Summary
The article presents a framework for knowledge extraction guided by SHACL templates. The work extends a prior K-CAP paper substantially, adding support for both datatype and object properties as well as experiments with many Dbpedia classes, beyond dbpedia:Person. The article elaborates a number of task-specific metrics to better evaluate performance across different SHACL shapes and domains as well as experiments to evaluate how well the method (trained on Wikipedia abstract) can transfer on a different benchmark (WebNLG). In addition, they perform experiments on long-tail entities, and elaborate variants to accommodate those by adjusting the training set distribution.

Originality: the proposal is original and interesting overall

Significance: the manuscript presents extensive evaluation that corroborates the validity of the approach

Quality of writing: while generally clear, the paper is very dense and lacks a clear overview of the approach, and is at times difficult to read

The authors include links to supplementary material for reproducibility.

## Strengths

- The work is interesting and the novel contributions justify publication as a new article
- The evaluation seems sound and the small language models perform much better than the reference state of the art baseline (REBEL).
- Comparison with LLMs on WebNLG demonstrate good performance overall, although with some variance depending on the target classes
- Supplementary material is included and linked for reproducibility

## Weaknesses

- The paper is dense of experiments but it lacks a clear description of the approach. Specifically, I understood that it is based on a fine-tuned BART model but I still don't understand what is the process that leads from the input (shape + wikipedia abstract) to the output (triples). I think this is a major limitation that can be probably solved by adding a dedicated section with an overview of the approach (see below for detailed questions)
- Limitations of the approach should be better discussed, including on the cost of pre-training, execution time, and availability of a training set (experiments on Text2KGBench partly answer, looking at low-performing classes).

## Detailed comments

Introduction:

The SHACL expression is broke down in all possible combination of the property set. This may lead to a very large input set. A shape with four properties makes 24 permutations. How is this impacting performance? Would this generate redundant triples? May this produce inconsistent results, how are those reconciled?

Are the four RQs all new with respect to the K-Cap paper? If yes, I wonder whether this article is self-contained or it assumes knowledge about the other paper re. the details of the method. I recommend to include them in this manuscript as well.

Section 2.2 -- first line overfull box on the the citation, maybe add a sloppypar

It would be good to include examples alongside the metrics of Section 3, there are a lot of concepts introduced that are difficult to grasp on a single read pass.

Section 4: I don't disagree with a formalisation of the approach but it should be accompanied with a more intuitive presentation, possibly a diagram with a clear workflow that breaks down the process step by step.

Experiments are limited to BART-base. While I don't ask to add other models, an argument motivating this choice is warranted.

The training details (4.4) mention the input as entity: abstract -- aren't the output triples included as well as part of the training? Also, is a model trained for each entity class or sub-shape?

The model performs much better then REBEL -- what are the downsides? These should be discussed in the limitations section (which is a bit too dry, IMHO). On limitations, what is the potential impact of the intractability of the property permutation aspect?

Table 5: please expand the caption and include all details needed to interpret the table.

Section 5

E1. Add "For example: …"

E3: can't you fix this one automatically (replace the uri with the redirected one)?

E8: please discuss why this is the case

Table 6: the same metric is replicated for E3 and E6, if this is intended, maybe reorder, group the two, and separate the explanations in a different column

Section 5.3: please follow the same order as the table in the text (from top to bottom, and from left to right), or change the order of the table. Also, the table is not fully clear, sometimes bold is more (rows 2 and 4) and others bold is less (row 5).

Table 6: I don’t understand why you remove properties that are not in the input data. While this makes sense in the training part, I think the test part should also include text that does not contain (all) the information. This limits the approach to domains where there are clear expectations about the information that can be found. This aspect seems crucial and should be discussed in the limitations (this is probably why performance on Text2KGBench are less strikingly better than the previous comparisons with REBEL). BTW: what is the performance of REBEL on Text2KGBench? If meaningful, it should be added as baseline in the comparative evaluation.

Section 6.4: Kastor SLM should be introduced before as part of the (missing) method overview.

On the observation: "may reflect imprecise range definitions in its SHACL shape" -- can you verify that? Justifications?

Kastor models produce no hallucinations: explanation warranted.

"These cases demonstrate that property-set overlap alone is insufficient to predict transferability: example-specific pattern overlap and register alignment are stronger predictors." -- can you elaborate a bit more (with examples)?

Section 7

Studying the long-tail problem on the well-centred dbpedia:Person class is a bit underwhelming (long-tail is in the title!), I was expecting focusing on less distributed classes.

Review #2
Anonymous submitted on 22/Sep/2026
Suggestion:
Major Revision
Review Comment:

The paper extends Kastor, a SHACL-guided relation extraction framework, from a single shape to 16 DBpedia classes. It adds four semantic metrics for object-property errors, releases KastorKG (19 SHACL shapes derived from the Text2KGBench ontologies, ~141k Wikipedia abstract–graph pairs, 16 fine-tuned 139M BART models), evaluates those models in-domain and cross-domain against the Text2KGBench WebNLG subset, and compares strategies for handling long-tail property distributions on the Person shape.

The shape-as-extraction-target idea is interesting, and the paper is honest about several things it could have hidden. What keeps me at major revision is that four of the headline claims do not follow from the tables. Two of them because they describe the experimental setup rather than a measured result. None of this is fatal and potentially fixable in a revision.

# Originality

Using SHACL to drive training-data construction and pattern-level evaluation, rather than for post-hoc validation, is not what SPIRES, GenIE or REBEL do, and the positioning against them in chapter 2 is accurate.
The delta over the K-CAP 2025 paper is stated explicitly and mapped onto the contribution list. One thing to make explicit: chapter 5's metric results are computed on MD1, i.e. the K-CAP model, so contribution 2 is new analysis over prior experiments rather than new experiments.

# Significance of the results

This is where my concerns are:

1. The zero-hallucination claim is a property of the prompt, not a result:
It appears in the abstract, in contribution 4, in 6.4.4, and in chapter 10. But 4.4 gives the prompt as "$entity_URI : $Abstract": the subject URI is handed to the model. A system that is given the subject cannot hallucinate one, while the LLM baselines had to predict theirs.
The same applies to 4.6's "100% correct subject URIs". Zero relation hallucination likewise follows from the shape-constrained output space, which is the method's premise rather than a finding about it.
Meanwhile 5.1 defines E8 as a triple not expressed anywhere in the input text, and Fig. 2 makes E8 the largest error category; Table 19 grades the same system "Very low", not zero. I'd suggest to keep the comparison but say what it measures: report the subject and relation guarantees as structural, and report object-level hallucination in the same breath. The abstract and conclusion need the qualifier that 6.4.4 has.

2. There is no baseline for the in-domain results, and the setup admits a trivial one:
The prompt supplies the entity URI, the reference is that entity's DBpedia graph, and the test items come from the same dump. A system that ignores the abstract entirely and dereferences the supplied URI would score close to 100% on the Table 11 test sets. Nothing tells the reader how much of Table 11 is extraction from text and how much is recall of an entity's attributes given its identity.
This could be solved by a rerun of the existing models on the same folds with the abstract removed or replaced by an unrelated one.

3. The RQ4 conclusion is contradicted by Table 16:
Section 7.3 states that D4SE_all "is the only configuration in which every property ... reaches or exceeds the 1,000-example threshold".
The minima in Table 16 are D10A_all 1,398, D10A_KR0 1,082, D10A_KR1 1,387, D4SE_all 1,001. Four of five configurations clear 1,000; only D10 fails.

4. d_C decides the long-tail recommendation, and its construction is not described:
d_C is built by manually annotating 1,470 false positives and false negatives (7.5), with no statement of which models' outputs the pool came from. It is the only set where MD4SE_all wins: it is 8.0 F1⁻ points worse than MD10 on d_N, 12.8 worse on d₊, 7.1 worse on d_R, and on d₋ it loses to MD− (89.2 vs 90.7 F1⁺).
So the abstract's central practical recommendation rests entirely on d_C being neutral between the configurations it is used to rank. Please describe the sampling.

5. Ground truth and the instruments built on it are not validated:
The reference is DBpedia filtered by Wikicheck (object URI appears in a Markdown link, type consistent with the declared range). Wikicheck's precision and recall are never estimated, and its obvious failure mode (facts stated in prose without a hyperlink) is exactly what section 6.4.4 later measures as high false-negative AlignScores and interprets as domain shift.

6. No uncertainty travels with any comparison:
Your per-class values carry standard deviations, the baselines carry none (single imported runs). Several of the 16 decisions sit inside the noise (Athlete 0.27±4 vs Alpaca 0.32; Politician 0.26±4 vs Alpaca 0.30). Table 14's City row is 0.56±38 F1⁻ with recall 0.69±47, and City is used as a named success case three times.
The Global row carries no dispersion at all, and it is an unweighted mean over classes printed in an F1⁻ column, so Food (0.88) weighs the same as classes two orders of magnitude larger. Please label it as a macro-average over classes or add a size-weighted figure.
Tables 12 and 15 are captioned "10-fold average" and report no variance while the text ranks models on them.
Also, "significant" and "no significant differences" appear in several sections, with no test reported.

## Open science, data and software

The deposited resource is good: DOI 10.5281/zenodo.18862240 resolves, 2.6 GB N-Quads, documented named-graph structure, loading instructions, CC BY 4.0.

In the description of it there are several pointers broken:
- github.com/datalogism/KastorKG does not exist (404). It is cited three times: as "Code and scripts" (p. 32), as the location of the Person shape (fn. 6), and as the location of the 19 Text2KGBench shapes (section 6.1). The files are all in datalogism/Kastor. The Zenodo record cites a third URL, github.com/Wimmics/Kastor. Please settle on one.
- The documentation link on p. 32 (doc/UseKastorKGsModelsInTheWild.md) 404s; the file is doc/UseKastorsModelsInTheWild.md.
- No licence is stated in the paper for anything, and the delivered licences disagree with each other: the repository is Apache-2.0 by LICENSE.txt but MIT by its own README. Also worth a look: the KG embeds Wikipedia abstracts as rdfs:comment, Wikipedia text is share-alike, and the dump is CC BY 4.0.
- Reproducibility is claimed without qualification ("All code, models, and datasets are publicly available", "long-term stable URLs") while the configuration is not recoverable: no random seeds, although fold standard deviations reach ±38; no batch size; etc.
- The paper's dataset names and the deposit's names ("2 human-corrected annotation sets") are not mapped onto each other.

## Other issues

Many text-versus-table mismatches.

1. 6.4.3: the list of models with F1⁻ > 0.90 includes University (85 in Table 11) and omits Airport (92); Athlete and Scientist are at exactly 90.
2. 6.4.3 calls MD_City "near-perfect across all metrics"; its F1⁺ is 80 ± 22.
3. 6.4.3 names Film and Politician among the models with the most predicate confusion; their WRC is 1.68% and 0.55%, near the bottom of Table 12, while Scientist (3.36%) is not named.
4. 6.4.3 names Artist and University as most semantically aligned; Film (0.97) and MusicalWork (0.96) are higher.
5. 6.4.4 names City and University as having the highest pattern overlap; CelestialBody (0.33) and Building (0.31) exceed City (0.25).
6. 6.4.4 attribute 0.30 to Alpaca and 0.25 to Vicuna; Table 14 and the per-class means give the reverse.
7. 8.1 RQ2 generalises "Sem_sim ≥ 0.8"; Table 12 has several classes classes below 0.7, City at 0.00.
8. 7.5 claims a 10-point d_C advantage; Table 18 gives 7.4 (F1⁻) or 8.8 (F1⁺).
9. 7.3 call the D10 rare-property gain "nearly ten points" from 59.2 to 77.3.
10. 6.4.3 gives Film 188 patterns; Table 9 gives 180.
11. Table 17 places 10-fold rows next to 5-fold rows and reads the difference as an effect of stratification; fold count and stratification are confounded.
12. 5.1 describes E1 as a URI referring to "a more specific class"; dbr:Kiev and dbr:Ukraine are instances.
13. Table 6 maps seven of eight error categories; E7 ("both false"), which directly measures reference noise, is dropped without comment.
14. 6.4.4's justification for comparing against baseline numbers computed on a different evaluation set is one sentence with no numbers and no test ("recomputing their metrics ... yielded no significant differences"). That sentence carries a lot of weight.
15. Table 19 assigns qualitative grades to REBEL and to LLMs on six dimensions with nothing in this paper measuring the competitor columns; its "Hallucination: Very low" row also sits oddly against the zero claim four pages earlier.
16. RQ3a asks how models "generalise across a large collection of SHACL shapes" and 6.4.5 answers that they do, but 16 models were each trained and tested on their own shape; no experiment puts a model in front of a shape it has not seen. I'd reword the question, or add it.
17. Reference problems, please check: sheXer is attributed to Rabbani et al. 2022, which is the "SHACL and ShEx in the Wild" survey; 2.1 cites Text2KGBench for SHACL validation practice; section 9 cites Nadas et al. (synthetic data generation) for web pages linked from DBpedia/Wikidata; CasRel, TPLinker and SPN4RE are named without references.

Review #3
By Gustavo Publio submitted on 14/Oct/2026
Suggestion:
Major Revision
Review Comment:

# Review of SWJ Submission 4053

Title: SHACL-Guided Small Language Models for RDF Knowledge Graph Population: Semantic Evaluation, Cross-Domain Generalisation, and Long-Tail Mitigation

Authors: Ringwald, Gandon, Faron, Michel, Abi Akl

Recommendation: Major Revision

## 1. Summary of the Paper

This manuscript extends the Kastor framework - a relation extraction pipeline where a SHACL NodeShape defines the target schema - from extracting datatype properties on dbo:Person to jointly extracting datatype and object properties across 16 DBpedia classes. For each class shape, the authors distil a dataset of paired Wikipedia abstracts and DBpedia subgraphs, keeping only triples grounded in the text (via string matching for literals and Markdown hyperlink matching for object URIs, termed "Wikicheck"). These pairs are then used to fine-tune separate BART-base models (139M parameters) that take entity_URI : Abstract as input and generate a single-line factorised Turtle graph.

The paper puts forward five main contributions:

* Joint extraction of datatype and object properties within the pattern-based framework.

* An eight-category error taxonomy (E1-E8) for object properties, paired with four automated metrics: valid URI rate, Wu-Palmer class similarity, wrong relation choice rate (WRC), and an AlignScore-based hallucination estimator (AS).

* The release of KastorKG, comprising 19 SHACL shapes adapted from Text2KGBench, 141,096 distilled text-graph pairs across 16 classes, and 16 fine-tuned BART checkpoints.

* An evaluation on the DBpedia-WebNLG portion of Text2KGBench against 4-shot Alpaca-13B and Vicuna-13B baselines, accompanied by a cross-domain transfer analysis.

* An investigation of long-tail property mitigation on dbo:Person, concluding that guaranteeing at least 1,000 training instances per property ("sufficient-exposure sampling") is more effective than dataset scaling, stratification, or re-weighted loss functions.

## 2. General Assessment and Journal Criteria

The core engineering effort behind this work is substantial, and the resulting resource (KastorKG and the accompanying checkpoints) is a welcome contribution to the Semantic Web community. The error taxonomy and the pattern-level evaluation metrics also offer a practical way to look beyond strict triple matching when diagnosing extraction failures.

At the same time, several parts of the manuscript build on the authors' ESWC 2025 and KCAP 2025 papers - specifically the distillation pipeline, the dbo:Person experiments, the REBEL baseline comparison, and the long-tail study. While the authors acknowledge the KCAP 2025 overlap in Section 1, they also cite a companion SWJ submission currently under review (Ringwald et al., 2025b). To help readers and reviewers assess the exact delta of this journal version, the paper should clearly delineate which tables and experiments are new relative to both KCAP 2025 and the companion SWJ submission.

Furthermore, the paper's central empirical claims - regarding the superiority of SLMs over LLMs on Text2KGBench, the "hallucination-free" nature of the approach, the predictors of cross-domain transfer, and the long-tail mitigation results - suffer from methodological confounds and train-test leakage that I detail below. During my review, I inspected the Zenodo archives, re-ran the evaluation calculations where files were available, and tested the released KastorCity checkpoint locally. While the REBEL baseline numbers in Table 4 reproduce cleanly from the released files, the inspection of the data splits and model behaviour revealed several issues that require a major revision.

## 3. Strengths

* Openly licensed, large-scale resource. The KastorKG Zenodo archive (v2, 2.6 GB N-Quads dump under CC BY 4.0) and the 16 Hugging Face checkpoints resolve properly. Releasing both the intermediate named graphs (inferences, Markdown abstracts, Wikichecked triples) and the trained models makes the pipeline inspectable and reusable.

* Diagnostic value of pattern-level and semantic metrics. Reporting the exact pattern-conformance rate (Eq. 4) and Pattern Extension Capacity (PEC, Eq. 5) alongside micro-F1 and macro-F1 clearly shows that the models tend to under-generate rather than over-generate when uncertain. Likewise, breaking false positives into substitution errors (FP_diff, Eq. 10) and novel errors (FP_new, Eq. 11) and scoring them with taxonomic similarity and AlignScore demonstrates that many strict false positives are either unlabelled true facts in Wikipedia or ontologically close URIs.

* Qualitative discussion of register shift. The analysis in Sections 6.4.4 and 6.4.5 of why classes such as dbo:SportsTeam and dbo:CelestialBody collapse when transferring from Wikipedia prose to WebNLG (which verbalises infobox attributes like orbital epochs or stadium grounds) is well reasoned.

* Reporting negative results. The authors transparently report that stratified sampling, Weighted Cross-Entropy, Focal Loss, and naive template replacement (KR0) failed to improve rare-property extraction in Section 7.

## 4. Major Concerns

### M1. Asymmetric experimental setup in the Text2KGBench comparison (Section 6.4.4, Table 14)

The abstract and conclusion emphasise that 139M-parameter SLMs beat 13B-parameter LLMs on 11 of 16 classes with zero subject or relation hallucinations. However, the evaluation conditions differ between the two model families in ways that heavily favour the Kastor models:

* Given subject vs. open extraction. The Kastor prompt is $entity_URI : $Abstract (p. 8). Because the target subject URI is given in the prompt and the model is trained to emit triples for that single subject, subject hallucination is zero by design. In contrast, the 4-shot LLM baselines must identify and link the subject entities from the raw text and are penalised when they extract triples about secondary entities. The authors mention (p. 19) that they restricted the WebNLG evaluation set to triples whose subject is the main entity and whose relations exist in DBpedia, and state that recomputing the LLM metrics on this restricted subset "yielded no significant differences". Please include the recomputed LLM numbers in Table 14 (or in an appendix) and specify what statistical test was used.

* Closed relation vocabulary per class. Each Kastor model is dedicated to a single class and trained on a pruned shape where uninstantiated properties were removed (Section 6.1, reducing constraints by roughly half). It can only emit the 3 to 18 properties seen during its training. Comparing its relation hallucination rate against few-shot LLMs prompted with the full unpruned ontology is not an equal test of schema adherence.

* Baseline selection and anomalies in Table 14. The LLM baselines are 4-shot Alpaca-LoRA-13B and Vicuna-13B taken from the original 2023 Text2KGBench paper. Comparing 16 specialized, fine-tuned models against 2023 few-shot baselines conflates model scale with training regime. To isolate the benefit of the Kastor architecture, the benchmark needs a fine-tuned baseline trained on the same data (for instance, a single multi-class BART or T5 model, or a LoRA-tuned small LLM). Furthermore, please clarify where the per-class Alpaca and Vicuna numbers in Table 14 come from: the global rows match Table 2 of Mihindukulasooriya et al. (2023) except for Vicuna's recall (0.31 here vs. 0.27 in the original paper), and the row for SportsTeam under Vicuna lists Precision = 0.52 and Recall = 0.91, which cannot yield micro-F1 = 0.42. Finally, City under Kastor has an unusually high standard deviation across folds (0.56 +/- 38 in micro-F1, 0.69 +/- 47 in recall) compared to 99 +/- 0 on KastorKG (Table 11); please explain what happens across the folds on this class.

* Input format and URI matching protocol. Table 3 evaluates both PLAIN and MD (Markdown with hyperlinks) inputs. Since Text2KGBench sentences are plain text without Wikipedia Markdown links, please specify which input variant (PLAIN or MD) was used for the 16 models in Section 6, how the models generate exact DBpedia URIs when no links are present in the input, and whether evaluation requires exact URI string matching or normalised label matching (as used in several Text2KGBench studies).

### M2. Claims of "hallucination-free" and "SHACL-constrained generation" (Section 5, Section 8.2, Table 19)

In Section 8.2 and Table 19, the paper describes the Kastor models as "hallucination-free" and attributes their low hallucination risk to "SHACL-constrained generation". Both statements contradict what the paper's own experiments show:

* No constraints are active at inference time. SHACL shapes are used offline to filter the training data. During decoding, the BART model generates tokens freely via standard beam search without constrained decoding or grammar masks, and the shape itself is not passed in the prompt.

* Object-level hallucination is the primary error mode. While subject and relation hallucinations are prevented by the prompt format and the closed training vocabulary, the paper's own error breakdown on dbo:Person (Fig. 2, p. 11) shows that Hallucination (E8: generated triple not expressed anywhere in the input text) accounts for over 50% of all errors in both PLAIN and MD modes. In Table 8, the mean AlignScore on false positives is 0.56-0.57, and in Table 15 (WebNLG) it drops to 0.09-0.39 for several classes, indicating a relevant object-level hallucination.

* Lack of abstention in practice. I downloaded and ran the released Datartisan/KastorCity checkpoint locally on a few test inputs using the $Entity : $abstract prompt format. On standard Wikipedia leads for cities (Lyon, Turin, Osaka, Tartu, Kraków), the model properly outputs :X a :City; :country :. and nothing else. However, when the country mention is removed from the abstract of Lyon, the model outputs :Lyon a :City; :country :Lyon. (the city as its own country). When given out-of-class entities, it still forces a City graph: :Johnny_Marr a :City; :country :England. and :Mount_Everest a :City; :country :Earth. While these few manual probes do not establish an error rate, they illustrate a structural property of the training setup: because every training example contains at least one valid triple for the target shape, the model cannot abstain when a property is unsupported by the text or when the entity belongs to another class.

* AlignScore validation details. In Section 5.2.4 (Table 7), AlignScore is validated against manually split supported (FP+) and unsupported (FP-) false-positive sets on dbo:Person and then used across all 16 classes. Please report the number of annotated false positives in Table 7, the annotation guidelines, inter-annotator agreement, and the proportion of false positives falling below a chosen entailment threshold (since an average score around 0.50 can mask a bimodal split between 0 and 1).

Please revise the abstract, Section 8.2, Table 19, and Section 10 to state precisely that the models avoid subject and out-of-schema relation hallucinations, while discussing object-level hallucinations and the inability to abstain.

### M3. Mismatch between the formal definition and the per-shape architecture (Section 1, Section 4.4, RQ3a)

Section 1 (p. 2) formally defines the extractor as a function conditioned on both the input text and the SHACL shape, mapping a (text, shape) pair to a graph. In practice, the shape is never passed to the model; instead, the authors train 16 separate BART models, one per class, that take only the entity URI and text as input.

Training dedicated models per class ("extractor factory", Section 9) is a perfectly reasonable design choice, but the formalisation in Section 1 and the phrasing of RQ3a ("generalise across a large collection of SHACL shapes") suggest a shape-conditioned model. Have the authors tested passing a linearised representation of the SHACL shape in the prompt to a single unified BART model trained across all 16 classes? Even a compact ablation comparing a unified shape-conditioned model against the 16 specialist models would directly answer whether the SLM is taking the shape definition in consideration or simply memorising a class-specific output template.

### M4. Methodological issues and train-test leakage in the long-tail study (Section 6.4.1, Section 7, Zenodo 15917325)

Section 7 argues that guaranteeing 1,000 examples per property (D4SE_all, Algorithm 4) is the key to mitigating the long tail. Below I list internal contradictions and experimental concerns in this section:

* Inconsistency with how the 16 KastorKG models are trained. In Section 6.4.1 (Eq. 18), the 16 class models are trained on a random sample of 1,000 entities in total per shape. Looking at the per-property counts across the entire 141,096-entity KastorKG dataset in Appendix C (Tables 22-39), most properties do not reach 1,000 instances even in the full distilled KB, let alone in a 1,000-entity subsample. For example, in dbo:City (Table 27, 4,034 entities total), country has 3,983 instances, while postalCode, utcOffset, and areaCode are underrepresented with only 42, 29, and 18 instances across the entire dataset; this explains why KastorCity only ever predicted country in my local tests. Thus, the 16 flagship models in Section 6 violate the training principle advocated in Section 7, and the sufficient-exposure strategy cannot actually be applied to most of KastorKG using natural Wikipedia data. This contradiction needs to be addressed directly in Sections 6 and 8.

* Single-class scope and fixed exposure threshold. The long-tail experiments are conducted solely on dbo:Person (10 properties), and the exposure threshold is fixed at 1,000 based on Allen-Zhu & Li (2025) - a paper studying factual memorisation during LLM pre-training, which is a different mechanism from seq2seq relation extraction fine-tuning. Sweeping the threshold across smaller values (e.g., 100, 250, 500, 1,000, 2,000) and testing on at least one or two additional shapes from Section 6 would be needed to support general claims about the 1,000-example rule.

* Performance trade-offs and missing size control. In Table 18, MD4SE_all (trained on 3,472 entities) is compared against MD10 (12,000 entities). There is no random baseline of 3,472 entities. There are internal inconsistencies in the reported F1 gaps: Section 7.5 (p. 26) cites a 10-point gain on d_C, while Section 8.1 (p. 28) and Section 10 (p. 32) cite ~7 points; Table 18 confirms 7.4 micro / 11.7 macro. The severe drop on frequent properties (d_+) and unweighted test sets (d_N, d_R) should be discussed candidly as a precision/recall trade-off rather than an across-the-board win.

* Construction of d_C from model errors. Section 7.5 describes d_C in a single parenthetical remark: "(manually annotated 1,470 FP and FN to remove KG noise)". Inspecting the Person archive on Zenodo (15917325), d_C uses the exact same 200 abstracts as d_R, modifying the reference graphs (639 triples kept, 405 added, 132 removed). The file CORRECTED_Random.csv contains 1,355 rows (whereas the union of the seven X*.csv model error files has 1,475 unique errors). Because d_C was built by pooling and judging the errors made by the evaluated models on d_R, any valid triple present in the text that none of the models extracted remains unannotated, and models that over-generate plausible triples benefit more from false-positive flips. In the archive, X10All1000.csv (which appears to correspond to MD4SE_all) has 246 unique novel false positives (FP_new) marked verif = TRUE, compared to 94-149 for X1, X10, X10All, X10synth, and X10synth2. Please document the exact protocol for building d_C: who annotated the triples, how many annotators were involved, whether they were blind to which model produced each error, and why CORRECTED_Random.csv has 1,355 rows instead of 1,470.

* Train-test entity overlap in the Zenodo archive. Section 7.2 states that the four 200-example test sets (d_N, d_+, d_-, d_R) are independent, and Section 7.3 states that results confirm "the absence of any memorisation effect". However, cross-checking entity URIs and abstracts between the training and test directories in Zenodo 15917325 reveals substantial overlap:

* The d_+ test file contains 1,200 entities (not 200 as stated in Section 7.2), and it is identical to the full D1 dataset (all_test).

* The 12,000-entity training sets (X10 and X4, corresponding to D10 and its stratified counterpart) contain around 1,000 of the 1,200 d_+ entities and 68 of the 200 d_- entities (34% overlap).

* The training directory X10ALLext (which has 3,472 entities, matching the size of D4SE_all in the text) contains 25 of the 200 d_R test entities (12.5%, with identical abstracts, which are also the entities in d_C), 21 of the 200 d_N entities, 25 of the 200 d_- entities, and 156 of the d_+ entities.

* Looking at the error file X10All1000.csv, those 25 overlapping d_R entities average 1.00 unique error per entity, compared to 3.47 errors per entity on the 175 non-overlapping entities (while every other model makes more errors on those 25 entities than on the remaining 175).

This leakage inflates MD10 on d_+ and d_-, and inflates MD4SE_all on d_R, d_C, and d_N. All cross-evaluation numbers in Tables 17 and 18 must be recomputed after removing overlapping test entities from the training sets (or by scoring strictly on the disjoint test subsets).

* Mixed cross-validation folds. In Table 17, the standard Cross-Entropy models use 10-fold CV (90% train per fold), while the STRAT models use 5-fold CV (80% train per fold). This confounds the stratification comparison.

### M5. Contradictions and missing statistical tests in the cross-domain transfer analysis (Section 6.4.4, Tables 13-14)

* Contradiction between text and Table 13. On page 19, the text states that the classes where Kastor leads - listing Airport, Artist, City, Food, MusicalWork, University, and WrittenWork - "all exhibit higher pattern overlap" with a pattern Jaccard similarity of at least 0.16 (Eq. 19). In Table 13, however, Airport has a pattern Jaccard similarity of 0.10 and Artist has 0.08. In fact, Artist (0.08) falls below the 0.09 threshold used in the very next sentence to explain why Kastor loses on Athlete (0.09), Company (0.07), and Politician (0.05). At the same time, CelestialBody (0.33) and Building (0.31) have some of the highest pattern overlaps in Table 13.

* Swapped global scores in the text. Sections 6.4.4 (p. 19) and 8.1 (p. 27) state that global micro-F1 is "0.44 vs. 0.30 for Alpaca and 0.25 for Vicuna", whereas Table 14 lists 0.25 for Alpaca and 0.30 for Vicuna.

* Lack of correlation metrics. Claiming that example-specific pattern Jaccard similarity (Eq. 19) and Sentence-BERT cosine similarity (Eq. 20) are stronger predictors of transferability than property-set Jaccard similarity requires a quantitative test across the 16 classes. Please report Spearman rank and Pearson correlations (with p-values) between WebNLG micro-F1 (or the relative micro-F1 drop from KastorKG to WebNLG) and each metric in Table 13 (property-set Jaccard, pattern-set Jaccard, Sentence-BERT similarity, text length ratio, and pattern count).

### M6. Unchecked entity overlap between KastorKG and Text2KGBench (Section 6.3-6.4, Table 19)

Table 19 labels data leakage for KastorKG as "Fully traceable". However, both KastorKG and Text2KGBench-DBpedia draw from DBpedia entities (and WebNLG triples were originally sampled from DBpedia). Because the 16 models must generate exact DBpedia object URIs from plain text, it is important to know how many of the Text2KGBench test subjects and target object URIs appear in the 1,000-example training sets (Eq. 18) or in the broader KastorKG dump. Please report the entity and triple overlap between the KastorKG training sets and the Text2KGBench test sets, along with performance on the strictly disjoint subset.

### M7. Distillation rules, Wikicheck bias, and metric definitions (Sec. 3, 4.1, 6.4.3)
* Inference-rule leakage: Eq. 7's object-property rule adds (s, p, country) alongside (s, p, place) during distillation (p. 2, 7), so the models learn to emit two triples per place mention. Reference graphs apply no such closure. How many Text2KGBench false positives stem from this extra country triple?
* Wikicheck hyperlink bias: Keeping a triple only when its URI is wikilinked in the lead paragraph drops plain-text mentions and demonym-linked entities. How much of DBpedia does this discard, and how does it skew the distilled KB?
* PEC (Eq. 5) is ill-defined: As written, extending minus total deviating graphs is ≤ 0, contradicting the [0, 1] range — the numerator should just be the count of extending graphs. Also, in Tables 11–12, MD_City has zero deviating graphs, so PEC, AlignScore, URI rate, and class similarity are undefined (undefined denominators) and should be marked n/a, not 0.00.

## 5. Minor Issues, Reproducibility, and Text-Table Inconsistencies

* Exclusion of dbo:Monument (Section 6.2 vs. Tables 9, 21, 33). Section 6.2 (p. 13) states that Astronaut, ComicsCharacter, and Monument were excluded due to insufficient DBpedia instances for fine-tuning. While Astronaut (0 distilled entities) and ComicsCharacter (19 distilled entities) fall well short of the 1,000-instance requirement, Monument has 1,707 entities with 100% Markdown abstracts in Table 9, and 1,173 wiki-validated entities in Tables 21 and 33 - more than enough for the 1,000-sample training regime. Why was it excluded?

* Conflicting entity and relation totals (Section 6.3 vs. Tables 20-21). Section 6.3 (p. 15) states that KastorKG vs. Text2KGBench has "116,097 vs. 721" entities and "152 vs. 663" unique relations. However, the Total row of Table 21 (p. 42) gives 141,096 vs. 510 entities, and its property columns sum to 153 (109 OP + 44 DP) vs. 683. Meanwhile, Table 20 (p. 40) lists 101 vs. 356 properties. Please reconcile these numbers and explain whether properties shared across shapes (e.g., dbo:country, dbo:birthDate) are counted once globally or summed across classes. Also, p. 15 refers to "20 entity categories (Table 21)", whereas Table 21 has 19 classes.

* Swapped OP/DP columns in Table 21 (p. 42). Under the Text2KGBench-DBpedia header in Table 21, all properties are placed in the OP column (with DP = 0) for 17 of the 19 classes, but for Athlete (0 OP, 37 DP) and Monument (0 OP, 26 DP) the numbers are placed in the DP column instead. Also, Food lists 24 properties in Table 21 vs. 18 in Table 9.

* Inconsistent class count on Zenodo. The Zenodo record 18862240 states that KastorKG covers "18 DBpedia classes", whereas the paper states 19 shapes and 16 populated classes (or 18 if counting ComicsCharacter and Monument in Table 21).

* BART release date and temporal split cutoff (Section 4.2 vs. Table 10). Page 7 states that D1 is restricted to articles published before 2021, "the BART release date". BART (Lewis et al., 2019/2020) was released in October 2019 (and is missing from the bibliography). Furthermore, Table 10 (p. 15) defines the temporal split graph as wikinew_202004/{shape} (April 2020). Please clarify whether the temporal cutoff is April 2020 or January 2021.

* Definition of micro- and macro-F1 (Section 3, p. 5). Defining micro-F1 as the unweighted average of F1 across graphs deviates from the standard IR/NLP definition of micro-F1 (which pools TP, FP, and FN across the entire corpus before computing F1). Please either rename the metric to "graph-averaged F1" (or "sample-averaged F1") or clarify whether standard pooled micro-F1 was used.

* REBEL evaluation details (Table 4 vs. Zenodo 15917325). Recomputing scores from the RebelResults JSON files in the Zenodo archive reproduces the pooled numbers in Table 4 (P = 82.8, R = 54.3, F1 = 65.6; macro-F1 = 42.2). However, two points should be clarified:

* The 10 per-fold files store cumulative counts across folds; differencing them yields a per-fold standard deviation of roughly +/- 2 points for P, R, and micro-F1, rather than +/- 1 in Table 4.

* REBEL's macro-F1 (41%) is averaged over all 10 dbo:Person properties, including rdfs:label, dbo:alias, and dbo:birthName, for which no alignment was defined in Table 2 (so REBEL automatically scores 0 on 3 of the 10 properties). Conversely, the JSON files show that birthYear and deathYear were derived from REBEL's predicted dates (scoring 97% and 93%), though this rule is not mentioned in Table 2. Reporting REBEL's macro-F1 restricted to the aligned properties alongside the 10-property figure would be fairer.

* Equations 21-22 (Section 7.1.3, p. 23). In the Weighted Focal Loss (Eq. 22), the stratum weight is defined at the sequence level (determined by the single rarest property in the graph, Algorithm 1), while the focal term uses a token-level probability. Please write out the summation over sequence tokens explicitly and explain why a sequence with several frequent properties and one rare property receives the full rare-property weight across all its tokens.

* Hugging Face checkpoint packaging and hyperparameters (Datartisan/KastorCity). The model repositories on Hugging Face currently host raw PyTorch Lightning checkpoints (last.ckpt, 1.67 GB including optimizer states) without a config.json or tokenizer.json, meaning AutoModelForSeq2SeqLM.from_pretrained() fails out of the box (loading requires unpacking the pickle state dict and manually resizing a facebook/bart-base embedding matrix to 50,267). Converting the checkpoints to standard Hugging Face safetensors format with config files and a brief model card would greatly improve usability. In addition, inspecting the hyperparameters saved inside last.ckpt shows warmup_steps = 100, max_steps = 400, patience = 3, and fold 0 (epoch=13), which differs from the 1,000 warmup steps and patience 5 stated in Section 4.4 (p. 8). Please clarify which hyperparameter set was used for Section 6, and confirm that the Text2KGBench evaluation in Table 14 averages across all 10 fold checkpoints per class while Hugging Face hosts fold 0.

* Broken GitHub links and licence mismatch. In the Data Availability section (p. 32), p. 6 (footnote 6), and p. 13 (Section 6.1), the URLs pointing to [https://github.com/datalogism/KastorKG](https://github.com/datalogism/KastorKG) returned HTTP 404 when checked (the shapes actually live under [https://github.com/datalogism/Kastor/tree/main/shapes/txt2kg](https://github.com/datalogism/Kastor/tree/main/shapes/txt2kg)). Also, in datalogism/Kastor, the LICENSE.txt file and badge specify Apache-2.0, while the text at the bottom of the README says MIT.

* Missing and broken references:

* Page 8 (Section 4.4) has a weird question mark in the LaTeX citation: [?Ringwald et al., 2024].

* Several models and standards discussed in the text are never cited in the bibliography: BART (Lewis et al., 2020), Sentence-BERT (Reimers & Gurevych, 2019), XLM-RoBERTa (Conneau et al., 2020), CasRel (Wei et al., 2020), TPLinker (Wang et al., 2020), SPN4RE (Sui et al., 2020), DBpedia, the W3C SHACL recommendation, and the Alpaca/Vicuna models.

* Zhang et al., 2025 is listed without a venue; it appeared in Findings of EMNLP 2025 (DOI: 10.18653/v1/2025.findings-emnlp.671). Arzt et al., 2025 and Sharma & Mehta, 2025 are also missing venues/identifiers.

* In Section 9 (p. 30), when discussing BART's 1,024-token limit for full Wikipedia articles, it would be natural to briefly mention long-context encoder-decoder architectures (such as LED / Longformer-Encoder-Decoder or LongT5) alongside the RAG and chunking proposals.

* Formatting: on p. 38, the heading "B Statistics on Text2KGBench and KastorKG" sits alone on an otherwise blank page before the landscape Table 21.

## 6. Related Work Positioning

Section 2 covers REBEL, GenIE, SPIRES, SynthIE, and Text2KGBench well, but it overlooks recent work on ontology-constrained extraction and fine-tuned models on the same benchmark that appeared prior to this submission:

* Ontology-constrained extraction and verification: Chepurova et al. (TextGraphs-17, 2024, pp. 61-77) and the follow-up Wikontic pipeline (Chepurova et al., arXiv:2512.00590, Nov 2025) perform ontology-aware triple extraction with type and relation filtering against knowledge base constraints. Similarly, Lo et al. (arXiv:2312.00353) formalise "ontology hallucination" against DBpedia class and range constraints, which connects directly to the URI-validity and Wu-Palmer similarity metrics in Section 5.

* Fine-tuned and prompted baselines on Text2KGBench: Beyond the original 2023 Alpaca/Vicuna baselines, subsequent papers have evaluated fine-tuned seq2seq models and structured prompting on Text2KGBench - for example, Meng et al. (Domain Ontology-Driven Knowledge Graph Generation from Text, ACM Trans. Probab. Mach. Learn., Dec 2025, using fine-tuned T5-large) and Nie et al. (VLDB 2024 LLM+KG Workshop, using ChatGLM-6B). Discussing these works (and, ideally, including a fine-tuned baseline under a shared evaluation protocol as requested in M1) would situate the 16 Kastor models much more accurately. Other adjacent works on LLM ontology population include Norouzi et al. (arXiv:2411.01612) and ODKE+ (arXiv:2509.04696).

## 7. Summary of Requested Revisions

To make the paper ready for publication in the Semantic Web Journal, I recommend the following revisions:

* Clarify the novel contributions: Add a clear statement or small table specifying which datasets, experiments, and tables are new relative to ESWC 2025, KCAP 2025, and the companion SWJ submission (Ringwald et al., 2025b).

* Eliminate train-test leakage in Section 7 and release Kastor predictions (M4.4, M4.5): Recompute all cross-evaluation results in Tables 17 and 18 on strictly entity-disjoint test sets (removing overlapping training instances or filtering the test sets). Document the annotation protocol for d_C and E1-E8, explain the 1,355 vs. 1,470 row count in CORRECTED_Random.csv, and include the per-model Kastor prediction/score files in the Zenodo archive alongside a mapping from folder names (X10ALLext, etc.) to paper model names.

* Recalibrate the Text2KGBench comparison (M1, M6): Explicitly state the input type (PLAIN vs. MD) and URI matching protocol used on Text2KGBench; provide the recomputed LLM baseline scores on the restricted subset; report the entity/URI overlap between KastorKG training sets and Text2KGBench test sets; and include at least one fine-tuned baseline (and, if feasible, a unified shape-conditioned model where the shape is passed in the input, M3).

* Tone down "hallucination-free" and "SHACL-constrained generation" claims (M2): Revise the abstract, Section 8.2, Table 19, and conclusion to distinguish between subject/relation constraints and object-level hallucinations (E8), and discuss the lack of abstention on unsupported properties or out-of-class entities.

* Reconcile the long-tail guidelines with Section 6 (M4.1-M4.3): Discuss the fact that the 16 KastorKG models are trained on 1,000 entities total (leaving most rare properties in Appendix C well below the 1,000-example threshold), add a size-matched random control (3,472 entities) on dbo:Person, and sweep the exposure threshold across smaller values.

* Add correlation statistics for cross-domain transfer (M5): Fix the discrepancies between the text and Tables 13-14 (Airport, Artist, and the swapped global Alpaca/Vicuna numbers) and report Spearman/Pearson correlations between the domain-shift metrics and WebNLG performance across the 16 classes.

* Fix resource links, checkpoint packaging, and text-table inconsistencies (Minor 1-11): Fix the 404 KastorKG GitHub URLs, upload standard safetensors/config.json files and model cards to Hugging Face, clarify Eq. 5 (PEC) and n/a values in Table 12, explain the exclusion of Monument, and reconcile the entity/property counts across Section 6.3 and Tables 9, 20, and 21.