Mapping Experiment Evidence¶
Part V — Mapping experiment evidence¶
11. Web Vocabulary source inspection¶
11.1 Source version and retrieval limit¶
The source investigation identified the Web Vocabulary v1.16 directory as containing:
gs1Voc.ttl, approximately 1.34 MB;gs1Voc.jsonld, approximately 2.37 MB.
The available fetch mechanism truncated both files, so only the alphabetically early portion was inspected directly in that pass. This prevented a complete direct-source review of all target terms. Later LOOM term extraction and mapping output provided broader lexical coverage but did not replace semantic review.
11.2 Direct allergen-statement evidence¶
The inspected source declared gs1:allergenStatement as:
- an
owl:DatatypePropertyandrdf:Property; - domain
gs1:FoodBeverageTobaccoProduct; - range
rdf:langString; - a textual description specified as one string;
- equivalent only to Web Vocabulary mirror-domain URIs, not to a generated
gdsn:term.
This is the evidence for the Route 2 correction concerning the coded GDSN allergen chain.
11.3 Absence of a published generated-GDSN crosswalk¶
In the inspected source slice, Web Vocabulary alignments pointed to schema.org, older vocabularies or Web Vocabulary mirror URIs. No alignment to the locally generated gdsn: namespace was observed. This is expected because the generated namespace is not a public GS1 Web Vocabulary dependency.
The architecture therefore treats the GDSN/GPC-to-Web Vocabulary mapping set as a separately governed asset.
12. LOOM/BioPortal candidate generation¶
12.1 Aggregate results¶
| Metric | Result |
|---|---|
| Extracted terms | 28,101 |
| Unique terms | 28,101 |
| Directional mapping records | 474 |
| Unique bidirectional pairs | 237 |
| GDSN ↔ GPC unique pairs | 38 |
| GDSN ↔ Web Vocabulary unique pairs | 184 |
| GPC ↔ Web Vocabulary unique pairs | 15 |
The arithmetic is internally consistent: 38 + 184 + 15 = 237, and the bidirectional serialisation doubles that to 474 records.
12.2 Distribution¶
| Pair | Share of 237 unique pairs | Interpretation |
|---|---|---|
| GDSN ↔ Web Vocabulary | 77.6% | Consistent with shared subject matter and Web Vocabulary’s derivation from GS1 product semantics. |
| GDSN ↔ GPC | 16.0% | Reflects overlap between master-data and classification vocabularies. |
| GPC ↔ Web Vocabulary | 6.3% | Consistent with sparse Web Vocabulary coverage of Brick-specific facets. |
12.3 Mapping relation¶
Every directional record used skos:closeMatch, not skos:exactMatch. This is appropriate for unreviewed lexical candidates and aligns with the architecture’s candidate-versus-approved distinction.
12.4 Yield¶
The 237 candidate pairs represent approximately 0.84% of the 28,101 terms when expressed as unique pairs per term count. Even under the generous assumption that each pair uses two otherwise unique terms, only a small portion of terms participates in any candidate. This confirms that lexical overlap is sparse and cannot provide a universal crosswalk.
12.5 Role of the result¶
The LOOM output is valuable for:
- prioritising manual review;
- discovering candidate terms missed by ad hoc searches;
- identifying n:1 or 1:n mapping patterns;
- supplying provenance for candidate generation;
- detecting broad overlap between vocabulary families.
It is not sufficient for:
- semantic equivalence;
- structural compatibility;
- code-value equivalence;
- publication authorisation;
- automatic compilation into OWL axioms.
13. Reconciliation of candidate mappings¶
13.1 Directly corroborated candidates¶
The parsed mapping output corroborated the following:
| Source | Target | Evidence consequence |
|---|---|---|
gdsn:a-1292425203 and three sibling GTIN fields |
gs1:gtin |
Strong lexical evidence but a packaging-level n:1 review is required. |
gdsn:a812659001 |
gs1:ingredientStatement |
Resolves the earlier inconclusive web-source lookup into a real lexical candidate. |
gpc:20002867 |
gs1:sharpnessOfCheese |
Independently corroborates the direct Web Vocabulary term finding. |
gdsn:a2008988543 |
gs1:nutrientBasisQuantity |
Corroborates the earlier target-term identification. |
gdsn:a-1463136308 |
gs1:allergenStatement |
Identifies a flat statement candidate distinct from the structured allergen chain. |
Additional allergen-domain candidates included source terms corresponding lexically to allergen type, specification name and specification agency.
13.2 Structural correction for allergen data¶
The reconciliation produced a two-representation model:
- Flat statement: a GDSN textual allergen statement is a plausible Route 1 candidate for
gs1:allergenStatementafter review. - Structured codes: the coded allergen hierarchy supports filtering and deterministic statement generation but remains Route 2.
An implementation may prefer the authoritative flat statement when present and derive a text representation from codes only under an explicit profile.
13.3 Confirmed lexical negatives¶
The source term list contained packagingRecycledContentRatio and claimDetail, but the complete lexical run produced no Web Vocabulary candidate for either. This is stronger than a failed search-engine lookup: the terms were included in the candidate set and did not match.
claimDetail should not automatically be treated as wholly unmappable. Related domain terms aligned separately to certification, regulatory, award and compulsory-information concepts. This indicates that the source record may require decomposition rather than one direct target.
13.4 GPC facet results across the four Bricks¶
| Brick | Facet | Current mapping route |
|---|---|---|
| Cheese | Sharpness of Cheese | Corroborated Route 1 candidate at term level; value-level review outstanding. |
| Cheese | Type, Firmness, Intended Use, Kind, Origin | Route 3; absent from the completed GPC-to-Web Vocabulary candidate set. |
| Smartphones | Input Registration, System | Route 3; absent from the completed candidate set. |
| Beer | Colour, Style, Flavoured/Mixed, Type, Origin, Taste | Route 3; absent from the completed candidate set. |
| Sugar | Type of Sugar/Sugar Substitute | Route 3; absent from the completed candidate set. |
| Compote example | Type of Jam/Marmalade = COMPOTE (30000728) |
Not part of the original four-Brick worked mapping reconciliation; retain as a GPC-native fact and use Route 3 by default until reviewed. |
| Milk hierarchy example | Fat content = Whole; Packaging type = Plastic bottle |
User-supplied label-level facts only. The verified product Brick is 10000025; no Brick Attribute identifiers were supplied or reconciled, so retain as Route 3 schema:PropertyValue records until a generated Brick shape and mapping review establish GPC-native predicates. |
All residual facets reproduced in the table remain Route 3 under the current evidence. The source baseline also states that nineteen of twenty facets were residual, but the named lists reproduced there total fewer items; this internal count discrepancy is unresolved and the pack therefore relies on the term-level results rather than the disputed aggregate.
13.5 Shared GDSN attribute status¶
| Source concept | Current status |
|---|---|
| GTIN | Strong candidate; packaging-level cardinality review required. |
| ingredientStatement | Corroborated candidate; formal range/domain review required. |
| flat allergenStatement | Corroborated candidate; review separately from coded chain. |
| coded allergen chain | Route 2 structural transform. |
| ENERC/FAT/PRO-/NA nutrient codes | Route 2 to schema.org nutrition properties. |
| CA and other unsupported nutrients | Route 3 unless a governed target is established. |
| packagingRecycledContentRatio | No lexical target; Route 3 or Route 4 pending semantic review. |
| claimDetail | No single target; likely decomposition plus Route 3 residuals or Route 4. |
13.6 Review priority¶
A pragmatic review order is:
- identity and core product properties;
- food safety and allergen properties;
- nutrition properties;
- ingredient and regulated claim properties;
- category-specific facets for pilot Bricks;
- sustainability and packaging facts;
- remaining public-product facts;
- B2B-only and extension attributes.
14. Mapping test and release evidence¶
14.1 Representative entailment/projection test¶
The source baseline reports that holon_webvoc_alignment_test.py executed a representative Gouda graph through rdflib and owlrl, then applied fixed projection rules. The programmatic assertions confirmed:
- target allergen facts under the illustrative Route 1 model used at that stage;
- four mapped nutrition facts;
- five
PropertyValuenodes, comprising four GPC facts and calcium as a residual nutrient.
Later evidence corrected the allergen direct-equivalence assumption. The test remains evidence that deterministic transformation is executable, but its allergen axiom is superseded by the current two-representation model.
14.2 Real Brick Route 3 test¶
verify_brick10000030_route3.py reportedly populated the real Cheese shape with four GPC values and ran the generic Route 3 query without changing the query. It produced the expected four schema:PropertyValue nodes.
This supports the claim that one generic GPC projection rule can handle many Brick Attribute Types, provided the Product Holon construction convention exposes the source identifier, label and value in a consistent graph pattern.
14.3 Regression implications¶
A production release should convert each reported test into a versioned regression fixture:
- source Product Holon graph;
- semantic-release manifest;
- mapping-set version;
- expected entailment closure;
- expected publication graph;
- expected absent facts;
- expected validation report;
- deprecation and drift test variants.