From 18da6f495c010dfced2955093ba5d22d8651f96e Mon Sep 17 00:00:00 2001 From: Ca5e Date: Fri, 8 Sep 2023 14:10:30 +0000 Subject: [PATCH] deploy: 64de2ca1cec47307fc401ebe7570665253b6a8e5 --- 404.html | 4 ++-- assets/js/{0243614c.03945314.js => 0243614c.b986d46a.js} | 2 +- assets/js/{03b39aaa.7d5a8360.js => 03b39aaa.9b50d0fe.js} | 2 +- assets/js/{042aab58.8188c0df.js => 042aab58.006b11d4.js} | 2 +- assets/js/{073edd59.7db32983.js => 073edd59.316cfc7f.js} | 2 +- assets/js/{07990011.4d1fdfdc.js => 07990011.82b3a038.js} | 2 +- assets/js/{0b1184e8.7fc099d6.js => 0b1184e8.29956f59.js} | 2 +- assets/js/{0b24ef70.f760e3e8.js => 0b24ef70.1a79e897.js} | 2 +- assets/js/{0cdee2ba.60d32893.js => 0cdee2ba.1411e836.js} | 2 +- assets/js/{0d70a313.44de2d5e.js => 0d70a313.927d0d8a.js} | 2 +- assets/js/{0fbf73e8.b1b3bfa2.js => 0fbf73e8.7ec5a224.js} | 2 +- assets/js/{1437a887.956edbf7.js => 1437a887.c33ea8e8.js} | 2 +- assets/js/{156e271d.4c4814a3.js => 156e271d.495a9d99.js} | 2 +- assets/js/{17aedecb.f025c094.js => 17aedecb.13656dbd.js} | 2 +- assets/js/{1a4b7b7c.35ef18c3.js => 1a4b7b7c.2e2b4ec6.js} | 2 +- assets/js/{1ebbe01d.a1f51957.js => 1ebbe01d.1de7aaaf.js} | 2 +- assets/js/{205d9948.b0452e40.js => 205d9948.f842ebb6.js} | 2 +- assets/js/{23374ca6.8f01ae36.js => 23374ca6.7f75b21e.js} | 2 +- assets/js/{233866fe.dfe1a860.js => 233866fe.2d963477.js} | 2 +- assets/js/{2ea3555a.ccfbc22e.js => 2ea3555a.b81f4e2e.js} | 2 +- assets/js/{2f0ec223.1910b685.js => 2f0ec223.bc23a38e.js} | 2 +- assets/js/{2ff88f8b.0e113c5a.js => 2ff88f8b.2268b51f.js} | 2 +- assets/js/{358bfd91.45077632.js => 358bfd91.d09687d3.js} | 2 +- assets/js/{37bf8d6e.e07494dd.js => 37bf8d6e.4806c8f7.js} | 2 +- assets/js/{3bc993c5.c1dfa83b.js => 3bc993c5.0be8b7b8.js} | 2 +- assets/js/{41daa8b4.5dff5f51.js => 41daa8b4.3bd711b4.js} | 2 +- assets/js/{49f969b0.a527c72d.js => 49f969b0.4e7d585f.js} | 2 +- assets/js/{4cd795c8.ba756789.js => 4cd795c8.c3c03f5d.js} | 2 +- assets/js/{4e095fca.d3d68e90.js => 4e095fca.5a0ee3f6.js} | 2 +- assets/js/{5003321a.aeecb66b.js => 5003321a.c86a6ae5.js} | 2 +- assets/js/{5049cc12.b23d954d.js => 5049cc12.b1385bdb.js} | 2 +- assets/js/{530622a1.a4cc0eaf.js => 530622a1.0953c061.js} | 2 +- assets/js/{5395b836.9cacc837.js => 5395b836.6c16e1d7.js} | 2 +- assets/js/{5a2bb67b.ff64bea3.js => 5a2bb67b.49375acb.js} | 2 +- assets/js/{5afb2393.8c6971c3.js => 5afb2393.cecf86b3.js} | 2 +- assets/js/{5ea46faf.7fd7b6f1.js => 5ea46faf.8311201a.js} | 2 +- assets/js/{5f28d73f.47f8d601.js => 5f28d73f.77b77edd.js} | 2 +- assets/js/{6082c6f3.7c82eebd.js => 6082c6f3.cde8cd92.js} | 2 +- assets/js/{65f59a55.cbcff516.js => 65f59a55.0b85edc5.js} | 2 +- assets/js/{67283e50.1d8209e2.js => 67283e50.97e73932.js} | 2 +- assets/js/{68543202.0c391aec.js => 68543202.6bcdc935.js} | 2 +- assets/js/{6b1e0334.90e7bd80.js => 6b1e0334.6b631907.js} | 2 +- assets/js/{6db347e8.4250651e.js => 6db347e8.d359ed75.js} | 2 +- assets/js/{73053340.59c0fb7c.js => 73053340.9d65ffaa.js} | 2 +- assets/js/{73517f78.7b60a7b3.js => 73517f78.5c8532e7.js} | 2 +- assets/js/{7567abf2.b28dcc17.js => 7567abf2.2beddb00.js} | 2 +- assets/js/{75cbb1e6.a7181de6.js => 75cbb1e6.f3768004.js} | 2 +- assets/js/{79248420.6cb1da53.js => 79248420.57770bc0.js} | 2 +- assets/js/{79495b8c.7b403f0b.js => 79495b8c.0936b735.js} | 2 +- assets/js/{797e5329.c42ebc07.js => 797e5329.9ebaa203.js} | 2 +- assets/js/{83bd4574.715e9a1d.js => 83bd4574.89be69af.js} | 2 +- assets/js/{83d6452b.e59eb517.js => 83d6452b.1f1f6f09.js} | 2 +- assets/js/{85bdfa30.02bc3b4f.js => 85bdfa30.1c2abcf3.js} | 2 +- assets/js/{8602ac2f.030252d6.js => 8602ac2f.8af96e47.js} | 2 +- assets/js/{8677fb48.2c852c28.js => 8677fb48.bb71783d.js} | 2 +- assets/js/{8cadb544.5fd23d52.js => 8cadb544.4d62c92a.js} | 2 +- assets/js/{9136c9f6.418ee0a9.js => 9136c9f6.13af3e79.js} | 2 +- assets/js/{9956d717.724dd3a8.js => 9956d717.cd7b8bc8.js} | 2 +- assets/js/{9976dba8.6da867e4.js => 9976dba8.7e79accf.js} | 2 +- assets/js/{9a3eaf08.598e6b63.js => 9a3eaf08.f6fcae0f.js} | 2 +- assets/js/{9f5dc2b0.737c14e1.js => 9f5dc2b0.1baadf0f.js} | 2 +- assets/js/{9fed84d8.973ec8ba.js => 9fed84d8.50dba6ed.js} | 2 +- assets/js/{a11550d3.e4e4e496.js => a11550d3.87d45ecc.js} | 2 +- assets/js/{a7c030b4.de449a9b.js => a7c030b4.c82874a1.js} | 2 +- assets/js/{a976b482.641a9787.js => a976b482.e7343da6.js} | 2 +- assets/js/{ade96904.c7258b8b.js => ade96904.7d1c31c7.js} | 2 +- assets/js/{afb8980b.2e6fddcb.js => afb8980b.30ae4db1.js} | 2 +- assets/js/{b0474474.e825b99e.js => b0474474.4eaed154.js} | 2 +- assets/js/{b09e837d.adf0a9a7.js => b09e837d.56851b60.js} | 2 +- assets/js/{b139d961.57d412f3.js => b139d961.b2416eb5.js} | 2 +- assets/js/{b1f7a5f8.3ea41a1c.js => b1f7a5f8.e6daacc3.js} | 2 +- assets/js/{b5976878.2d4d2dec.js => b5976878.c1db299a.js} | 2 +- assets/js/{b9e2db8f.fdc8e2ca.js => b9e2db8f.5f6720bc.js} | 2 +- assets/js/{bb7c9df2.cf4a0199.js => bb7c9df2.dbfc6cc6.js} | 2 +- assets/js/{bc9a9474.30e896af.js => bc9a9474.23a4310e.js} | 2 +- assets/js/{bcb93ad0.c55b5bd0.js => bcb93ad0.3037b3bf.js} | 2 +- assets/js/{bf59d308.fb4e69ce.js => bf59d308.ccc03bbd.js} | 2 +- assets/js/{c0bb789b.08d6c501.js => c0bb789b.1276b3e2.js} | 2 +- assets/js/{c2c4426a.ddf24c51.js => c2c4426a.54516739.js} | 2 +- assets/js/{c5a98701.abee4047.js => c5a98701.e45c52fa.js} | 2 +- assets/js/{c5f202a2.e119f5ce.js => c5f202a2.f35e6c2d.js} | 2 +- assets/js/{cc3066cf.3581c2a4.js => cc3066cf.1e6a1c9d.js} | 2 +- assets/js/{cf9aab87.01ebc659.js => cf9aab87.7af84db4.js} | 2 +- assets/js/{cfcdc3ca.50935e28.js => cfcdc3ca.06249cb5.js} | 2 +- assets/js/{d061ed1e.45f41d3c.js => d061ed1e.e37b17d0.js} | 2 +- assets/js/{d1ce265f.e2a5663c.js => d1ce265f.ec52d506.js} | 2 +- assets/js/{d58fc793.3e72fa42.js => d58fc793.819ea2ba.js} | 2 +- assets/js/{d71eb2ae.80fbee7a.js => d71eb2ae.448316a9.js} | 2 +- assets/js/{d791b17e.0444d61d.js => d791b17e.80cdd871.js} | 2 +- assets/js/{d8ee5cce.74a27094.js => d8ee5cce.1d2872fa.js} | 2 +- assets/js/{d9735dd1.d3d5fed5.js => d9735dd1.f649303c.js} | 2 +- assets/js/{db749810.ab942a25.js => db749810.def56bf4.js} | 2 +- assets/js/{dca8ef5b.49cceef2.js => dca8ef5b.4903eb80.js} | 2 +- assets/js/{dd8f50c9.51d6fefd.js => dd8f50c9.8a72463f.js} | 2 +- assets/js/{de8bc3ad.0ef68a3a.js => de8bc3ad.9677baa7.js} | 2 +- assets/js/{e0b00178.8874c99d.js => e0b00178.76662bc8.js} | 2 +- assets/js/{e129cf3c.db09842d.js => e129cf3c.70977cd7.js} | 2 +- assets/js/{e58d15ee.96a436e5.js => e58d15ee.8257dfac.js} | 2 +- assets/js/{e6a4b882.4ba32ce7.js => e6a4b882.04e409f4.js} | 2 +- assets/js/{e768272c.2e505671.js => e768272c.fd2d00f0.js} | 2 +- assets/js/{e8dcf8cf.9679b79c.js => e8dcf8cf.e3179d37.js} | 2 +- assets/js/{e963bf71.5f428065.js => e963bf71.7f855e20.js} | 2 +- assets/js/{eaf68872.618a38ed.js => eaf68872.a33d7f95.js} | 2 +- assets/js/{ee5834a7.ed37d9ba.js => ee5834a7.c9e91f41.js} | 2 +- assets/js/{efbcea9d.d68f21af.js => efbcea9d.f91326a3.js} | 2 +- assets/js/{f24909cd.7d32b333.js => f24909cd.1b28cfc6.js} | 2 +- assets/js/{f27e77df.d9915e2a.js => f27e77df.8bda797a.js} | 2 +- assets/js/{f5824b3c.d09e1af3.js => f5824b3c.b0968e51.js} | 2 +- assets/js/{f8438414.448ae32d.js => f8438414.50873d6c.js} | 2 +- assets/js/{fd7be43f.7920d759.js => fd7be43f.6e7afea3.js} | 2 +- assets/js/{feb0a068.4d5a086a.js => feb0a068.32f3c41b.js} | 2 +- .../{runtime~main.36f1c602.js => runtime~main.729dd7c2.js} | 2 +- docs/index.html | 6 +++--- docs/manuals/author/author-overview/index.html | 6 +++--- docs/manuals/contributor/contributor-overview/index.html | 6 +++--- docs/manuals/contributor/contributors-LaTeX/index.html | 6 +++--- docs/manuals/contributor/contributors-repo/index.html | 6 +++--- docs/manuals/contributor/contributors-wiki/index.html | 6 +++--- docs/manuals/curator/curator-overview/index.html | 6 +++--- docs/manuals/curator/tev2-installation/index.html | 6 +++--- docs/manuals/man-overview/index.html | 6 +++--- docs/miscellaneous/tool-development/index.html | 6 +++--- docs/notations-and-conventions/index.html | 6 +++--- docs/overview/tev2-architecture/index.html | 6 +++--- docs/overview/tev2-common-understanding/index.html | 6 +++--- docs/overview/tev2-design-principles/index.html | 6 +++--- docs/overview/tev2-purpose/index.html | 6 +++--- docs/overview/tev2-terminology-curation/index.html | 6 +++--- docs/spec-files/ctext/index.html | 6 +++--- docs/spec-files/hrd/index.html | 6 +++--- docs/spec-files/hrg/index.html | 6 +++--- docs/spec-files/mrd/index.html | 6 +++--- docs/spec-files/mrg/index.html | 6 +++--- docs/spec-files/profile-templates/index.html | 6 +++--- docs/spec-files/saf/index.html | 6 +++--- docs/spec-syntax/form-phrase-syntax/index.html | 6 +++--- docs/spec-syntax/hrg-termselcrit/index.html | 6 +++--- docs/spec-syntax/term-ref-syntax/index.html | 6 +++--- docs/spec-tools/hrdt/index.html | 6 +++--- docs/spec-tools/hrgt-old/index.html | 6 +++--- docs/spec-tools/hrgt/index.html | 6 +++--- docs/spec-tools/ict/index.html | 6 +++--- docs/spec-tools/mrdt/index.html | 6 +++--- docs/spec-tools/mrg-importer/index.html | 6 +++--- docs/spec-tools/mrgt/index.html | 6 +++--- docs/spec-tools/terminology-construction/index.html | 6 +++--- docs/spec-tools/trrt/index.html | 6 +++--- docs/terms/@/index.html | 6 +++--- docs/terms/author/index.html | 6 +++--- docs/terms/body/index.html | 6 +++--- docs/terms/concept/index.html | 6 +++--- docs/terms/conceptualization/index.html | 6 +++--- docs/terms/converter/index.html | 6 +++--- docs/terms/corpus/index.html | 6 +++--- docs/terms/curate/index.html | 6 +++--- docs/terms/curated-text/index.html | 6 +++--- docs/terms/curatedir/index.html | 6 +++--- docs/terms/curator/index.html | 6 +++--- docs/terms/define/index.html | 6 +++--- docs/terms/definition/index.html | 6 +++--- docs/terms/dictionary/index.html | 6 +++--- docs/terms/form-phrase/index.html | 6 +++--- docs/terms/formatted-text/index.html | 6 +++--- docs/terms/glossary/index.html | 6 +++--- docs/terms/glossarydir/index.html | 6 +++--- docs/terms/grouptag/index.html | 6 +++--- docs/terms/header/index.html | 6 +++--- docs/terms/hrd/index.html | 6 +++--- docs/terms/hrdt/index.html | 6 +++--- docs/terms/hrg-entry/index.html | 6 +++--- docs/terms/hrg/index.html | 6 +++--- docs/terms/hrgt/index.html | 6 +++--- docs/terms/ict/index.html | 6 +++--- docs/terms/identifier/index.html | 6 +++--- docs/terms/identify/index.html | 6 +++--- docs/terms/ingestion-profile/index.html | 6 +++--- docs/terms/ingestion/index.html | 6 +++--- docs/terms/interpreter/index.html | 6 +++--- docs/terms/knowledge-artifact/index.html | 6 +++--- docs/terms/mental-model/index.html | 6 +++--- docs/terms/moustache-variable/index.html | 6 +++--- docs/terms/mrd/index.html | 6 +++--- docs/terms/mrdt/index.html | 6 +++--- docs/terms/mrg-entry/index.html | 6 +++--- docs/terms/mrg-importer/index.html | 6 +++--- docs/terms/mrg/index.html | 6 +++--- docs/terms/mrgt/index.html | 6 +++--- docs/terms/patterns/pattern-terminology/index.html | 6 +++--- docs/terms/property/index.html | 6 +++--- docs/terms/reader/index.html | 6 +++--- docs/terms/relation/index.html | 6 +++--- docs/terms/renderable-ref/index.html | 6 +++--- docs/terms/saf/index.html | 6 +++--- docs/terms/scope/index.html | 6 +++--- docs/terms/scoped-term/index.html | 6 +++--- docs/terms/scopedir/index.html | 6 +++--- docs/terms/scopetag/index.html | 6 +++--- docs/terms/semantics/index.html | 6 +++--- docs/terms/synonym/index.html | 6 +++--- docs/terms/tag/index.html | 6 +++--- docs/terms/term-identifier/index.html | 6 +++--- docs/terms/term-ref/index.html | 6 +++--- docs/terms/term-selection-criteria/index.html | 6 +++--- docs/terms/term-syntax/index.html | 6 +++--- docs/terms/term-type/index.html | 6 +++--- docs/terms/term/index.html | 6 +++--- docs/terms/terminological-artifact/index.html | 6 +++--- docs/terms/terminology-process/index.html | 6 +++--- docs/terms/terminology-under-construction/index.html | 6 +++--- docs/terms/terminology/index.html | 6 +++--- docs/terms/terms-community/index.html | 6 +++--- docs/terms/tev2-tool/index.html | 6 +++--- docs/terms/tev2-toolbox/index.html | 6 +++--- docs/terms/tev2/index.html | 6 +++--- docs/terms/trrt/index.html | 6 +++--- docs/terms/versiontag/index.html | 6 +++--- docs/terms/vocabulary/index.html | 6 +++--- docs/tev2-glossary/index.html | 6 +++--- docs/tev2-overview/index.html | 6 +++--- docs/tev2-spec-files/index.html | 6 +++--- docs/tev2-syntax/index.html | 6 +++--- docs/tev2-toolbox/index.html | 6 +++--- index.html | 4 ++-- 223 files changed, 445 insertions(+), 445 deletions(-) rename assets/js/{0243614c.03945314.js => 0243614c.b986d46a.js} (99%) rename assets/js/{03b39aaa.7d5a8360.js => 03b39aaa.9b50d0fe.js} (99%) rename assets/js/{042aab58.8188c0df.js => 042aab58.006b11d4.js} (99%) rename assets/js/{073edd59.7db32983.js => 073edd59.316cfc7f.js} (99%) rename assets/js/{07990011.4d1fdfdc.js => 07990011.82b3a038.js} (99%) rename assets/js/{0b1184e8.7fc099d6.js => 0b1184e8.29956f59.js} (99%) rename assets/js/{0b24ef70.f760e3e8.js => 0b24ef70.1a79e897.js} (99%) rename assets/js/{0cdee2ba.60d32893.js => 0cdee2ba.1411e836.js} (99%) rename assets/js/{0d70a313.44de2d5e.js => 0d70a313.927d0d8a.js} (99%) rename assets/js/{0fbf73e8.b1b3bfa2.js => 0fbf73e8.7ec5a224.js} (99%) rename assets/js/{1437a887.956edbf7.js => 1437a887.c33ea8e8.js} (99%) rename assets/js/{156e271d.4c4814a3.js => 156e271d.495a9d99.js} (99%) rename assets/js/{17aedecb.f025c094.js => 17aedecb.13656dbd.js} (98%) rename assets/js/{1a4b7b7c.35ef18c3.js => 1a4b7b7c.2e2b4ec6.js} (98%) rename assets/js/{1ebbe01d.a1f51957.js => 1ebbe01d.1de7aaaf.js} (98%) rename assets/js/{205d9948.b0452e40.js => 205d9948.f842ebb6.js} (99%) rename assets/js/{23374ca6.8f01ae36.js => 23374ca6.7f75b21e.js} (99%) rename assets/js/{233866fe.dfe1a860.js => 233866fe.2d963477.js} (99%) rename assets/js/{2ea3555a.ccfbc22e.js => 2ea3555a.b81f4e2e.js} (99%) rename assets/js/{2f0ec223.1910b685.js => 2f0ec223.bc23a38e.js} (99%) rename assets/js/{2ff88f8b.0e113c5a.js => 2ff88f8b.2268b51f.js} (99%) rename assets/js/{358bfd91.45077632.js => 358bfd91.d09687d3.js} (99%) rename assets/js/{37bf8d6e.e07494dd.js => 37bf8d6e.4806c8f7.js} (98%) rename assets/js/{3bc993c5.c1dfa83b.js => 3bc993c5.0be8b7b8.js} (99%) rename assets/js/{41daa8b4.5dff5f51.js => 41daa8b4.3bd711b4.js} (98%) rename assets/js/{49f969b0.a527c72d.js => 49f969b0.4e7d585f.js} (98%) rename assets/js/{4cd795c8.ba756789.js => 4cd795c8.c3c03f5d.js} (99%) rename assets/js/{4e095fca.d3d68e90.js => 4e095fca.5a0ee3f6.js} (98%) rename assets/js/{5003321a.aeecb66b.js => 5003321a.c86a6ae5.js} (98%) rename assets/js/{5049cc12.b23d954d.js => 5049cc12.b1385bdb.js} (99%) rename assets/js/{530622a1.a4cc0eaf.js => 530622a1.0953c061.js} (99%) rename assets/js/{5395b836.9cacc837.js => 5395b836.6c16e1d7.js} (99%) rename assets/js/{5a2bb67b.ff64bea3.js => 5a2bb67b.49375acb.js} (99%) rename assets/js/{5afb2393.8c6971c3.js => 5afb2393.cecf86b3.js} (99%) rename assets/js/{5ea46faf.7fd7b6f1.js => 5ea46faf.8311201a.js} (98%) rename assets/js/{5f28d73f.47f8d601.js => 5f28d73f.77b77edd.js} (99%) rename assets/js/{6082c6f3.7c82eebd.js => 6082c6f3.cde8cd92.js} (99%) rename assets/js/{65f59a55.cbcff516.js => 65f59a55.0b85edc5.js} (71%) rename assets/js/{67283e50.1d8209e2.js => 67283e50.97e73932.js} (98%) rename assets/js/{68543202.0c391aec.js => 68543202.6bcdc935.js} (99%) rename assets/js/{6b1e0334.90e7bd80.js => 6b1e0334.6b631907.js} (99%) rename assets/js/{6db347e8.4250651e.js => 6db347e8.d359ed75.js} (99%) rename assets/js/{73053340.59c0fb7c.js => 73053340.9d65ffaa.js} (99%) rename assets/js/{73517f78.7b60a7b3.js => 73517f78.5c8532e7.js} (99%) rename assets/js/{7567abf2.b28dcc17.js => 7567abf2.2beddb00.js} (99%) rename assets/js/{75cbb1e6.a7181de6.js => 75cbb1e6.f3768004.js} (98%) rename assets/js/{79248420.6cb1da53.js => 79248420.57770bc0.js} (99%) rename assets/js/{79495b8c.7b403f0b.js => 79495b8c.0936b735.js} (99%) rename assets/js/{797e5329.c42ebc07.js => 797e5329.9ebaa203.js} (99%) rename assets/js/{83bd4574.715e9a1d.js => 83bd4574.89be69af.js} (99%) rename assets/js/{83d6452b.e59eb517.js => 83d6452b.1f1f6f09.js} (75%) rename assets/js/{85bdfa30.02bc3b4f.js => 85bdfa30.1c2abcf3.js} (98%) rename assets/js/{8602ac2f.030252d6.js => 8602ac2f.8af96e47.js} (99%) rename assets/js/{8677fb48.2c852c28.js => 8677fb48.bb71783d.js} (99%) rename assets/js/{8cadb544.5fd23d52.js => 8cadb544.4d62c92a.js} (87%) rename assets/js/{9136c9f6.418ee0a9.js => 9136c9f6.13af3e79.js} (99%) rename assets/js/{9956d717.724dd3a8.js => 9956d717.cd7b8bc8.js} (99%) rename assets/js/{9976dba8.6da867e4.js => 9976dba8.7e79accf.js} (98%) rename assets/js/{9a3eaf08.598e6b63.js => 9a3eaf08.f6fcae0f.js} (99%) rename assets/js/{9f5dc2b0.737c14e1.js => 9f5dc2b0.1baadf0f.js} (99%) rename assets/js/{9fed84d8.973ec8ba.js => 9fed84d8.50dba6ed.js} (99%) rename assets/js/{a11550d3.e4e4e496.js => a11550d3.87d45ecc.js} (99%) rename assets/js/{a7c030b4.de449a9b.js => a7c030b4.c82874a1.js} (98%) rename assets/js/{a976b482.641a9787.js => a976b482.e7343da6.js} (99%) rename assets/js/{ade96904.c7258b8b.js => ade96904.7d1c31c7.js} (97%) rename assets/js/{afb8980b.2e6fddcb.js => afb8980b.30ae4db1.js} (76%) rename assets/js/{b0474474.e825b99e.js => b0474474.4eaed154.js} (99%) rename assets/js/{b09e837d.adf0a9a7.js => b09e837d.56851b60.js} (99%) rename assets/js/{b139d961.57d412f3.js => b139d961.b2416eb5.js} (98%) rename assets/js/{b1f7a5f8.3ea41a1c.js => b1f7a5f8.e6daacc3.js} (99%) rename assets/js/{b5976878.2d4d2dec.js => b5976878.c1db299a.js} (99%) rename assets/js/{b9e2db8f.fdc8e2ca.js => b9e2db8f.5f6720bc.js} (99%) rename assets/js/{bb7c9df2.cf4a0199.js => bb7c9df2.dbfc6cc6.js} (98%) rename assets/js/{bc9a9474.30e896af.js => bc9a9474.23a4310e.js} (99%) rename assets/js/{bcb93ad0.c55b5bd0.js => bcb93ad0.3037b3bf.js} (99%) rename assets/js/{bf59d308.fb4e69ce.js => bf59d308.ccc03bbd.js} (99%) rename assets/js/{c0bb789b.08d6c501.js => c0bb789b.1276b3e2.js} (99%) rename assets/js/{c2c4426a.ddf24c51.js => c2c4426a.54516739.js} (98%) rename assets/js/{c5a98701.abee4047.js => c5a98701.e45c52fa.js} (98%) rename assets/js/{c5f202a2.e119f5ce.js => c5f202a2.f35e6c2d.js} (99%) rename assets/js/{cc3066cf.3581c2a4.js => cc3066cf.1e6a1c9d.js} (98%) rename assets/js/{cf9aab87.01ebc659.js => cf9aab87.7af84db4.js} (99%) rename assets/js/{cfcdc3ca.50935e28.js => cfcdc3ca.06249cb5.js} (66%) rename assets/js/{d061ed1e.45f41d3c.js => d061ed1e.e37b17d0.js} (99%) rename assets/js/{d1ce265f.e2a5663c.js => d1ce265f.ec52d506.js} (99%) rename assets/js/{d58fc793.3e72fa42.js => d58fc793.819ea2ba.js} (99%) rename assets/js/{d71eb2ae.80fbee7a.js => d71eb2ae.448316a9.js} (99%) rename assets/js/{d791b17e.0444d61d.js => d791b17e.80cdd871.js} (99%) rename assets/js/{d8ee5cce.74a27094.js => d8ee5cce.1d2872fa.js} (98%) rename assets/js/{d9735dd1.d3d5fed5.js => d9735dd1.f649303c.js} (99%) rename assets/js/{db749810.ab942a25.js => db749810.def56bf4.js} (99%) rename assets/js/{dca8ef5b.49cceef2.js => dca8ef5b.4903eb80.js} (99%) rename assets/js/{dd8f50c9.51d6fefd.js => dd8f50c9.8a72463f.js} (99%) rename assets/js/{de8bc3ad.0ef68a3a.js => de8bc3ad.9677baa7.js} (99%) rename assets/js/{e0b00178.8874c99d.js => e0b00178.76662bc8.js} (99%) rename assets/js/{e129cf3c.db09842d.js => e129cf3c.70977cd7.js} (98%) rename assets/js/{e58d15ee.96a436e5.js => e58d15ee.8257dfac.js} (99%) rename assets/js/{e6a4b882.4ba32ce7.js => e6a4b882.04e409f4.js} (98%) rename assets/js/{e768272c.2e505671.js => e768272c.fd2d00f0.js} (98%) rename assets/js/{e8dcf8cf.9679b79c.js => e8dcf8cf.e3179d37.js} (99%) rename assets/js/{e963bf71.5f428065.js => e963bf71.7f855e20.js} (99%) rename assets/js/{eaf68872.618a38ed.js => eaf68872.a33d7f95.js} (99%) rename assets/js/{ee5834a7.ed37d9ba.js => ee5834a7.c9e91f41.js} (99%) rename assets/js/{efbcea9d.d68f21af.js => efbcea9d.f91326a3.js} (98%) rename assets/js/{f24909cd.7d32b333.js => f24909cd.1b28cfc6.js} (99%) rename assets/js/{f27e77df.d9915e2a.js => f27e77df.8bda797a.js} (97%) rename assets/js/{f5824b3c.d09e1af3.js => f5824b3c.b0968e51.js} (99%) rename assets/js/{f8438414.448ae32d.js => f8438414.50873d6c.js} (99%) rename assets/js/{fd7be43f.7920d759.js => fd7be43f.6e7afea3.js} (99%) rename assets/js/{feb0a068.4d5a086a.js => feb0a068.32f3c41b.js} (98%) rename assets/js/{runtime~main.36f1c602.js => runtime~main.729dd7c2.js} (54%) diff --git a/404.html b/404.html index 3d770f3aad..d34b866572 100644 --- a/404.html +++ b/404.html @@ -4,7 +4,7 @@ Page Not Found | TNO Terminology Design - + @@ -17,7 +17,7 @@ .  Copyright © 2022-2023 by TNO.

- + \ No newline at end of file diff --git a/assets/js/0243614c.03945314.js b/assets/js/0243614c.b986d46a.js similarity index 99% rename from assets/js/0243614c.03945314.js rename to assets/js/0243614c.b986d46a.js index 9d3072c6d3..8093927791 100644 --- a/assets/js/0243614c.03945314.js +++ b/assets/js/0243614c.b986d46a.js @@ -1 +1 @@ -"use strict";(self.webpackChunktev2_specifications=self.webpackChunktev2_specifications||[]).push([[1277],{3905:function(e,t,i){i.d(t,{Zo:function(){return l},kt:function(){return p}});var r=i(7294);function n(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function o(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,r)}return i}function s(e){for(var t=1;t=0||(n[i]=e[i]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(n[i]=e[i])}return n}var c=r.createContext({}),h=function(e){var t=r.useContext(c),i=t;return e&&(i="function"==typeof e?e(t):s(s({},t),e)),i},l=function(e){var t=h(e.components);return r.createElement(c.Provider,{value:t},e.children)},f={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},d=r.forwardRef((function(e,t){var i=e.components,n=e.mdxType,o=e.originalType,c=e.parentName,l=a(e,["components","mdxType","originalType","parentName"]),d=h(i),p=n,u=d["".concat(c,".").concat(p)]||d[p]||f[p]||o;return i?r.createElement(u,s(s({ref:t},l),{},{components:i})):r.createElement(u,s({ref:t},l))}));function p(e,t){var i=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=i.length,s=new Array(o);s[0]=d;var a={};for(var c in t)hasOwnProperty.call(t,c)&&(a[c]=t[c]);a.originalType=e,a.mdxType="string"==typeof e?e:n,s[1]=a;for(var h=2;h=0||(n[i]=e[i]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(n[i]=e[i])}return n}var c=r.createContext({}),h=function(e){var t=r.useContext(c),i=t;return e&&(i="function"==typeof e?e(t):s(s({},t),e)),i},l=function(e){var t=h(e.components);return r.createElement(c.Provider,{value:t},e.children)},f={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},d=r.forwardRef((function(e,t){var i=e.components,n=e.mdxType,o=e.originalType,c=e.parentName,l=a(e,["components","mdxType","originalType","parentName"]),d=h(i),p=n,u=d["".concat(c,".").concat(p)]||d[p]||f[p]||o;return i?r.createElement(u,s(s({ref:t},l),{},{components:i})):r.createElement(u,s({ref:t},l))}));function p(e,t){var i=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=i.length,s=new Array(o);s[0]=d;var a={};for(var c in t)hasOwnProperty.call(t,c)&&(a[c]=t[c]);a.originalType=e,a.mdxType="string"==typeof e?e:n,s[1]=a;for(var h=2;h=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(s=0;s=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var l=s.createContext({}),c=function(e){var t=s.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):a(a({},t),e)),r},p=function(e){var t=c(e.components);return s.createElement(l.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return s.createElement(s.Fragment,{},t)}},m=s.forwardRef((function(e,t){var r=e.components,o=e.mdxType,n=e.originalType,l=e.parentName,p=i(e,["components","mdxType","originalType","parentName"]),m=c(r),f=o,d=m["".concat(l,".").concat(f)]||m[f]||u[f]||n;return r?s.createElement(d,a(a({ref:t},p),{},{components:r})):s.createElement(d,a({ref:t},p))}));function f(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var n=r.length,a=new Array(n);a[0]=m;var i={};for(var l in t)hasOwnProperty.call(t,l)&&(i[l]=t[l]);i.originalType=e,i.mdxType="string"==typeof e?e:o,a[1]=i;for(var c=2;c=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(s=0;s=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var l=s.createContext({}),c=function(e){var t=s.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):a(a({},t),e)),r},p=function(e){var t=c(e.components);return s.createElement(l.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return s.createElement(s.Fragment,{},t)}},m=s.forwardRef((function(e,t){var r=e.components,o=e.mdxType,n=e.originalType,l=e.parentName,p=i(e,["components","mdxType","originalType","parentName"]),m=c(r),f=o,d=m["".concat(l,".").concat(f)]||m[f]||u[f]||n;return r?s.createElement(d,a(a({ref:t},p),{},{components:r})):s.createElement(d,a({ref:t},p))}));function f(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var n=r.length,a=new Array(n);a[0]=m;var i={};for(var l in t)hasOwnProperty.call(t,l)&&(i[l]=t[l]);i.originalType=e,i.mdxType="string"==typeof e?e:o,a[1]=i;for(var c=2;c=0||(s[n]=e[n]);return s}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(s[n]=e[n])}return s}var c=i.createContext({}),p=function(e){var t=i.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):r(r({},t),e)),n},l=function(e){var t=p(e.components);return i.createElement(c.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},h=i.forwardRef((function(e,t){var n=e.components,s=e.mdxType,o=e.originalType,c=e.parentName,l=a(e,["components","mdxType","originalType","parentName"]),h=p(n),d=s,u=h["".concat(c,".").concat(d)]||h[d]||m[d]||o;return n?i.createElement(u,r(r({ref:t},l),{},{components:n})):i.createElement(u,r({ref:t},l))}));function d(e,t){var n=arguments,s=t&&t.mdxType;if("string"==typeof e||s){var o=n.length,r=new Array(o);r[0]=h;var a={};for(var c in t)hasOwnProperty.call(t,c)&&(a[c]=t[c]);a.originalType=e,a.mdxType="string"==typeof e?e:s,r[1]=a;for(var p=2;p=0||(s[n]=e[n]);return s}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(s[n]=e[n])}return s}var c=i.createContext({}),p=function(e){var t=i.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):r(r({},t),e)),n},l=function(e){var t=p(e.components);return i.createElement(c.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},h=i.forwardRef((function(e,t){var n=e.components,s=e.mdxType,o=e.originalType,c=e.parentName,l=a(e,["components","mdxType","originalType","parentName"]),h=p(n),d=s,u=h["".concat(c,".").concat(d)]||h[d]||m[d]||o;return n?i.createElement(u,r(r({ref:t},l),{},{components:n})):i.createElement(u,r({ref:t},l))}));function d(e,t){var n=arguments,s=t&&t.mdxType;if("string"==typeof e||s){var o=n.length,r=new Array(o);r[0]=h;var a={};for(var c in t)hasOwnProperty.call(t,c)&&(a[c]=t[c]);a.originalType=e,a.mdxType="string"==typeof e?e:s,r[1]=a;for(var p=2;p=0||(n[i]=t[i]);return n}(t,e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(t,i)&&(n[i]=t[i])}return n}var c=o.createContext({}),h=function(t){var e=o.useContext(c),i=e;return t&&(i="function"==typeof t?t(e):a(a({},e),t)),i},d=function(t){var e=h(t.components);return o.createElement(c.Provider,{value:e},t.children)},l={inlineCode:"code",wrapper:function(t){var e=t.children;return o.createElement(o.Fragment,{},e)}},m=o.forwardRef((function(t,e){var i=t.components,n=t.mdxType,s=t.originalType,c=t.parentName,d=r(t,["components","mdxType","originalType","parentName"]),m=h(i),g=n,f=m["".concat(c,".").concat(g)]||m[g]||l[g]||s;return i?o.createElement(f,a(a({ref:e},d),{},{components:i})):o.createElement(f,a({ref:e},d))}));function g(t,e){var i=arguments,n=e&&e.mdxType;if("string"==typeof t||n){var s=i.length,a=new Array(s);a[0]=m;var r={};for(var c in e)hasOwnProperty.call(e,c)&&(r[c]=e[c]);r.originalType=t,r.mdxType="string"==typeof t?t:n,a[1]=r;for(var h=2;h=0||(n[i]=t[i]);return n}(t,e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(t,i)&&(n[i]=t[i])}return n}var c=o.createContext({}),h=function(t){var e=o.useContext(c),i=e;return t&&(i="function"==typeof t?t(e):a(a({},e),t)),i},d=function(t){var e=h(t.components);return o.createElement(c.Provider,{value:e},t.children)},l={inlineCode:"code",wrapper:function(t){var e=t.children;return o.createElement(o.Fragment,{},e)}},m=o.forwardRef((function(t,e){var i=t.components,n=t.mdxType,s=t.originalType,c=t.parentName,d=r(t,["components","mdxType","originalType","parentName"]),m=h(i),g=n,f=m["".concat(c,".").concat(g)]||m[g]||l[g]||s;return i?o.createElement(f,a(a({ref:e},d),{},{components:i})):o.createElement(f,a({ref:e},d))}));function g(t,e){var i=arguments,n=e&&e.mdxType;if("string"==typeof t||n){var s=i.length,a=new Array(s);a[0]=m;var r={};for(var c in e)hasOwnProperty.call(e,c)&&(r[c]=e[c]);r.originalType=t,r.mdxType="string"==typeof t?t:n,a[1]=r;for(var h=2;h=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var c=a.createContext({}),u=function(e){var t=a.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):s(s({},t),e)),r},h=function(e){var t=u(e.components);return a.createElement(c.Provider,{value:t},e.children)},l={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},d=a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,o=e.originalType,c=e.parentName,h=i(e,["components","mdxType","originalType","parentName"]),d=u(r),p=n,m=d["".concat(c,".").concat(p)]||d[p]||l[p]||o;return r?a.createElement(m,s(s({ref:t},h),{},{components:r})):a.createElement(m,s({ref:t},h))}));function p(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=r.length,s=new Array(o);s[0]=d;var i={};for(var c in t)hasOwnProperty.call(t,c)&&(i[c]=t[c]);i.originalType=e,i.mdxType="string"==typeof e?e:n,s[1]=i;for(var u=2;u=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var c=a.createContext({}),u=function(e){var t=a.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):s(s({},t),e)),r},h=function(e){var t=u(e.components);return a.createElement(c.Provider,{value:t},e.children)},l={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},d=a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,o=e.originalType,c=e.parentName,h=i(e,["components","mdxType","originalType","parentName"]),d=u(r),p=n,m=d["".concat(c,".").concat(p)]||d[p]||l[p]||o;return r?a.createElement(m,s(s({ref:t},h),{},{components:r})):a.createElement(m,s({ref:t},h))}));function p(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=r.length,s=new Array(o);s[0]=d;var i={};for(var c in t)hasOwnProperty.call(t,c)&&(i[c]=t[c]);i.originalType=e,i.mdxType="string"==typeof e?e:n,s[1]=i;for(var u=2;u=0||(r[a]=t[a]);return r}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,a)&&(r[a]=t[a])}return r}var l=n.createContext({}),d=function(t){var e=n.useContext(l),a=e;return t&&(a="function"==typeof t?t(e):o(o({},e),t)),a},p=function(t){var e=d(t.components);return n.createElement(l.Provider,{value:e},t.children)},c={inlineCode:"code",wrapper:function(t){var e=t.children;return n.createElement(n.Fragment,{},e)}},m=n.forwardRef((function(t,e){var a=t.components,r=t.mdxType,i=t.originalType,l=t.parentName,p=s(t,["components","mdxType","originalType","parentName"]),m=d(a),f=r,h=m["".concat(l,".").concat(f)]||m[f]||c[f]||i;return a?n.createElement(h,o(o({ref:e},p),{},{components:a})):n.createElement(h,o({ref:e},p))}));function f(t,e){var a=arguments,r=e&&e.mdxType;if("string"==typeof t||r){var i=a.length,o=new Array(i);o[0]=m;var s={};for(var l in e)hasOwnProperty.call(e,l)&&(s[l]=e[l]);s.originalType=t,s.mdxType="string"==typeof t?t:r,o[1]=s;for(var d=2;d=0||(r[a]=t[a]);return r}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,a)&&(r[a]=t[a])}return r}var l=n.createContext({}),d=function(t){var e=n.useContext(l),a=e;return t&&(a="function"==typeof t?t(e):o(o({},e),t)),a},p=function(t){var e=d(t.components);return n.createElement(l.Provider,{value:e},t.children)},c={inlineCode:"code",wrapper:function(t){var e=t.children;return n.createElement(n.Fragment,{},e)}},m=n.forwardRef((function(t,e){var a=t.components,r=t.mdxType,i=t.originalType,l=t.parentName,p=s(t,["components","mdxType","originalType","parentName"]),m=d(a),f=r,h=m["".concat(l,".").concat(f)]||m[f]||c[f]||i;return a?n.createElement(h,o(o({ref:e},p),{},{components:a})):n.createElement(h,o({ref:e},p))}));function f(t,e){var a=arguments,r=e&&e.mdxType;if("string"==typeof t||r){var i=a.length,o=new Array(i);o[0]=m;var s={};for(var l in e)hasOwnProperty.call(e,l)&&(s[l]=e[l]);s.originalType=t,s.mdxType="string"==typeof t?t:r,o[1]=s;for(var d=2;d=0||(n[i]=e[i]);return n}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(n[i]=e[i])}return n}var l=o.createContext({}),c=function(e){var t=o.useContext(l),i=t;return e&&(i="function"==typeof e?e(t):r(r({},t),e)),i},p=function(e){var t=c(e.components);return o.createElement(l.Provider,{value:t},e.children)},h={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},d=o.forwardRef((function(e,t){var i=e.components,n=e.mdxType,a=e.originalType,l=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),d=c(i),m=n,f=d["".concat(l,".").concat(m)]||d[m]||h[m]||a;return i?o.createElement(f,r(r({ref:t},p),{},{components:i})):o.createElement(f,r({ref:t},p))}));function m(e,t){var i=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var a=i.length,r=new Array(a);r[0]=d;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s.mdxType="string"==typeof e?e:n,r[1]=s;for(var c=2;c child <"+("string"==typeof e.type?e.type:e.type.name)+'>: all children of the component should be , and every should have a unique "value" prop.')})))?void 0:i.filter(Boolean))?t:[]}(e).map((function(e){var t=e.props;return{value:t.value,label:t.label,attributes:t.attributes,default:t.default}}))}function d(e){var t=e.values,i=e.children;return(0,n.useMemo)((function(){var e=null!=t?t:h(i);return function(e){var t=(0,c.l)(e,(function(e,t){return e.value===t.value}));if(t.length>0)throw new Error('Docusaurus error: Duplicate values "'+t.map((function(e){return e.value})).join(", ")+'" found in . Every value needs to be unique.')}(e),e}),[t,i])}function m(e){var t=e.value;return e.tabValues.some((function(e){return e.value===t}))}function f(e){var t=e.queryString,i=void 0!==t&&t,o=e.groupId,a=(0,s.k6)(),r=function(e){var t=e.queryString,i=void 0!==t&&t,o=e.groupId;if("string"==typeof i)return i;if(!1===i)return null;if(!0===i&&!o)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return null!=o?o:null}({queryString:i,groupId:o});return[(0,l._X)(r),(0,n.useCallback)((function(e){if(r){var t=new URLSearchParams(a.location.search);t.set(r,e),a.replace(Object.assign({},a.location,{search:t.toString()}))}}),[r,a])]}function u(e){var t,i,o,a,r=e.defaultValue,s=e.queryString,l=void 0!==s&&s,c=e.groupId,h=d(e),u=(0,n.useState)((function(){return function(e){var t,i=e.defaultValue,o=e.tabValues;if(0===o.length)throw new Error("Docusaurus error: the component requires at least one children component");if(i){if(!m({value:i,tabValues:o}))throw new Error('Docusaurus error: The has a defaultValue "'+i+'" but none of its children has the corresponding value. Available values are: '+o.map((function(e){return e.value})).join(", ")+". If you intend to show no default tab, use defaultValue={null} instead.");return i}var n=null!=(t=o.find((function(e){return e.default})))?t:o[0];if(!n)throw new Error("Unexpected error: 0 tabValues");return n.value}({defaultValue:r,tabValues:h})})),g=u[0],v=u[1],y=f({queryString:l,groupId:c}),k=y[0],b=y[1],w=(t=function(e){return e?"docusaurus.tab."+e:null}({groupId:c}.groupId),i=(0,p.Nk)(t),o=i[0],a=i[1],[o,(0,n.useCallback)((function(e){t&&a.set(e)}),[t,a])]),N=w[0],S=w[1],T=function(){var e=null!=k?k:N;return m({value:e,tabValues:h})?e:null}();return(0,n.useLayoutEffect)((function(){T&&v(T)}),[T]),{selectedValue:g,selectValue:(0,n.useCallback)((function(e){if(!m({value:e,tabValues:h}))throw new Error("Can't select invalid tab value="+e);v(e),b(e),S(e)}),[b,S,h]),tabValues:h}}var g=i(2389),v="tabList__CuJ",y="tabItem_LNqP";function k(e){var t=e.className,i=e.block,s=e.selectedValue,l=e.selectValue,c=e.tabValues,p=[],h=(0,r.o5)().blockElementScrollPositionUntilNextRender,d=function(e){var t=e.currentTarget,i=p.indexOf(t),o=c[i].value;o!==s&&(h(t),l(o))},m=function(e){var t,i=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":var o,n=p.indexOf(e.currentTarget)+1;i=null!=(o=p[n])?o:p[0];break;case"ArrowLeft":var a,r=p.indexOf(e.currentTarget)-1;i=null!=(a=p[r])?a:p[p.length-1]}null==(t=i)||t.focus()};return n.createElement("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,a.Z)("tabs",{"tabs--block":i},t)},c.map((function(e){var t=e.value,i=e.label,r=e.attributes;return n.createElement("li",(0,o.Z)({role:"tab",tabIndex:s===t?0:-1,"aria-selected":s===t,key:t,ref:function(e){return p.push(e)},onKeyDown:m,onClick:d},r,{className:(0,a.Z)("tabs__item",y,null==r?void 0:r.className,{"tabs__item--active":s===t})}),null!=i?i:t)})))}function b(e){var t=e.lazy,i=e.children,o=e.selectedValue,a=(Array.isArray(i)?i:[i]).filter(Boolean);if(t){var r=a.find((function(e){return e.props.value===o}));return r?(0,n.cloneElement)(r,{className:"margin-top--md"}):null}return n.createElement("div",{className:"margin-top--md"},a.map((function(e,t){return(0,n.cloneElement)(e,{key:t,hidden:e.props.value!==o})})))}function w(e){var t=u(e);return n.createElement("div",{className:(0,a.Z)("tabs-container",v)},n.createElement(k,(0,o.Z)({},e,t)),n.createElement(b,(0,o.Z)({},e,t)))}function N(e){var t=(0,g.Z)();return n.createElement(w,(0,o.Z)({key:String(t)},e))}},361:function(e,t,i){i.r(t),i.d(t,{assets:function(){return p},contentTitle:function(){return l},default:function(){return f},frontMatter:function(){return s},mark:function(){return d},metadata:function(){return c},toc:function(){return h}});var o=i(7462),n=i(3366),a=(i(7294),i(3905)),r=(i(4996),i(4866),i(5162),["components"]),s={id:"mrg-importer",sidebar_label:"MRG Importer",date:20230731},l="MRG Import Tool",c={unversionedId:"spec-tools/mrg-importer",id:"spec-tools/mrg-importer",title:"MRG Import Tool",description:"text to mark",source:"@site/docs/spec-tools/12-mrg-importer.md",sourceDirName:"spec-tools",slug:"/spec-tools/mrg-importer",permalink:"/tev2-specifications/docs/spec-tools/mrg-importer",draft:!1,editUrl:"https://github.com/tno-terminology-design/tev2-specifications/blob/master/docs/spec-tools/12-mrg-importer.md",tags:[],version:"current",lastUpdatedBy:"Kees",lastUpdatedAt:1694174606,formattedLastUpdatedAt:"Sep 8, 2023",sidebarPosition:12,frontMatter:{id:"mrg-importer",sidebar_label:"MRG Importer",date:20230731},sidebar:"tev2SideBar",previous:{title:"Integrity Checking",permalink:"/tev2-specifications/docs/spec-tools/ict"},next:{title:"Term Ref Resolution",permalink:"/tev2-specifications/docs/spec-tools/trrt"}},p={},h=[{value:"Installing the Tool",id:"installing-the-tool",level:2},{value:"Calling the Tool",id:"calling-the-tool",level:2},{value:"Processing, Errors and Warnings",id:"processing-errors-and-warnings",level:2},{value:"Deploying the Tool",id:"deploying-the-tool",level:2}],d=function(e){var t=e.children;return(0,a.kt)("span",{style:{color:"black",backgroundColor:"yellow",padding:"0.2rem",borderRadius:"2px"}},t)},m={toc:h,mark:d};function f(e){var t=e.components,i=(0,n.Z)(e,r);return(0,a.kt)("wrapper",(0,o.Z)({},m,i,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"mrg-import-tool"},"MRG Import Tool"),(0,a.kt)("admonition",{type:"caution"},(0,a.kt)("p",{parentName:"admonition"},"The entire section on Terminology Engine v 2 (TEv2) is still under construction.",(0,a.kt)("br",null),"\nAs TEv2 is not (yet) available, the texts that specify the tool are still 'raw', i.e. not yet processed.",(0,a.kt)("br",null),(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/reader",title:"Reader: a person that reads a text that is authored by another person (its Author]), and that tries to understand the meaning of this text in the way its Author intended."},"readers")," will need to see through some (currently unprocessed) notational conventions.")),(0,a.kt)("admonition",{title:"Editor's Note",type:"info"},(0,a.kt)("p",{parentName:"admonition"},"This section is still under development. You'll see further editor's notes where issues exist.")),(0,a.kt)("p",null,"The ",(0,a.kt)("strong",{parentName:"p"},(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," Import Tool (",(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-importer",title:"MRG Importer: is a tool in the TEv2 toolbox that is run within a particular Scope for the purpose of obtaining MRGs from other Scopes, as specified in the Scope's SAF, and putting them in the Scope's Glossarydir."},"MRG importer"),")")," ensures that the ",(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," within which it is run, obtains a local copy of all ",(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRGs")," that are available in the ",(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scopes: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scopes")," that are mentioned in the ",(0,a.kt)("a",{parentName:"p",href:"/docs/spec-files/saf#scopes"},"scopes section")," of its ",(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"),". This makes life easy for various tools, e.g., the ",(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrgt",title:"MRGT: a software tool designed to create, manage, and process Machine Readable Glossaries (MRGs), as [specified by TEv2](/docs/spec-tools/mrgt). MRGTs offer features for selecting Terms that are Curated within the Scope it is run in, or from other Scopes."},"MRGT")," and the ",(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/trrt",title:"TRRT (TermRef Rendering Tool): a TEv2 Tool that is designed to facilitate the visualization and rendering of TermRefs."},"TRRT"),", that can now assume that all ",(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRGs")," that they may need to consult in order to do their job, are readily available. "),(0,a.kt)("p",null,"There will shortly be an implementation of the tool:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"the repo for the code of the tool is ",(0,a.kt)("a",{parentName:"li",href:"https://github.com/tno-terminology-design/mrg-import"},"here"),"."),(0,a.kt)("li",{parentName:"ul"},"the documentation is ","[",(0,a.kt)("mark",null,"tbd"),"]",".")),(0,a.kt)("h2",{id:"installing-the-tool"},"Installing the Tool"),(0,a.kt)("p",null,"The tool can be installed from the command line and made globally available by executing"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre"},"npm install tno-terminology-design/mrg-import -g\n")),(0,a.kt)("h2",{id:"calling-the-tool"},"Calling the Tool"),(0,a.kt)("p",null,"The behavior of the ",(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-importer",title:"MRG Importer: is a tool in the TEv2 toolbox that is run within a particular Scope for the purpose of obtaining MRGs from other Scopes, as specified in the Scope's SAF, and putting them in the Scope's Glossarydir."},"MRG importer")," can be configured per call e.g. by a configuration file and/or command-line parameters. The command-line syntax is as follows:"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre"},"mrg-import [ ]\n")),(0,a.kt)("p",null,"where:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"")," (optional) is a list of key-value pairs")),(0,a.kt)("details",null,(0,a.kt)("summary",null,"Legend"),(0,a.kt)("p",null,"The columns in the following table are defined as follows:"),(0,a.kt)("ol",null,(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("strong",{parentName:"li"},(0,a.kt)("inlineCode",{parentName:"strong"},"Key"))," is the text to be used as a key."),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("strong",{parentName:"li"},(0,a.kt)("inlineCode",{parentName:"strong"},"Value"))," represents the kind of value to be used."),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("strong",{parentName:"li"},(0,a.kt)("inlineCode",{parentName:"strong"},"Req'd"))," specifies whether (",(0,a.kt)("inlineCode",{parentName:"li"},"Y"),") or not (",(0,a.kt)("inlineCode",{parentName:"li"},"n"),") the field is required to be present when the tool is being called. If required, it MUST either be present in the configuration file, or as a command-line parameter."),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("strong",{parentName:"li"},(0,a.kt)("inlineCode",{parentName:"strong"},"Description"))," specifies the meaning of the ",(0,a.kt)("inlineCode",{parentName:"li"},"Value")," field, and other things you may need to know, e.g. why it is needed, a required syntax, etc."))),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:"left"},"Key"),(0,a.kt)("th",{parentName:"tr",align:"left"},"Value"),(0,a.kt)("th",{parentName:"tr",align:"center"},"Req'd"),(0,a.kt)("th",{parentName:"tr",align:"left"},"Description"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:"left"},(0,a.kt)("inlineCode",{parentName:"td"},"config")),(0,a.kt)("td",{parentName:"tr",align:"left"},(0,a.kt)("inlineCode",{parentName:"td"},"")),(0,a.kt)("td",{parentName:"tr",align:"center"},"n"),(0,a.kt)("td",{parentName:"tr",align:"left"},"Path (including the filename) of the tool's (YAML) configuration file. This file contains the default key-value pairs to be used. Allowed keys (and the associated values) are documented in this table. Command-line arguments override key-value pairs specified in the configuration file. This parameter MUST NOT appear in the configuration file itself.")),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:"left"},(0,a.kt)("inlineCode",{parentName:"td"},"scopedir")),(0,a.kt)("td",{parentName:"tr",align:"left"},(0,a.kt)("inlineCode",{parentName:"td"},"")),(0,a.kt)("td",{parentName:"tr",align:"center"},"Y"),(0,a.kt)("td",{parentName:"tr",align:"left"},"Path of the ",(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopedir",title:"Scope-directory: a directory in a computer file system that contains all files that are either being Curated within a particular Scope, or generated to serve some purpose within that Scope."},"scope directory")," from which the tool is called. It MUST contain the ",(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF")," for that ",(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),", which we will refer to as the 'current scope' for the ",(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-importer",title:"MRG Importer: is a tool in the TEv2 toolbox that is run within a particular Scope for the purpose of obtaining MRGs from other Scopes, as specified in the Scope's SAF, and putting them in the Scope's Glossarydir."},"MRG importer"),".")),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:"left"},(0,a.kt)("inlineCode",{parentName:"td"},"onNotExist")),(0,a.kt)("td",{parentName:"tr",align:"left"},(0,a.kt)("inlineCode",{parentName:"td"},"")),(0,a.kt)("td",{parentName:"tr",align:"center"},"n"),(0,a.kt)("td",{parentName:"tr",align:"left"},"specifies the action to take in case an MRG file that was expected to exist, does not exist. Default is ",(0,a.kt)("inlineCode",{parentName:"td"},"'throw'"),".")))),(0,a.kt)("p",null,"The ",(0,a.kt)("inlineCode",{parentName:"p"},"")," parameter can take the following values:"),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:"left"},(0,a.kt)("inlineCode",{parentName:"th"},"")),(0,a.kt)("th",{parentName:"tr",align:"left"},"Description"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:"left"},(0,a.kt)("inlineCode",{parentName:"td"},"'throw'")),(0,a.kt)("td",{parentName:"tr",align:"left"},"an error is thrown (an exception is raised), and processing will stop.")),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:"left"},(0,a.kt)("inlineCode",{parentName:"td"},"'warn'")),(0,a.kt)("td",{parentName:"tr",align:"left"},"a message is displayed (and logged) and processing continues.")),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:"left"},(0,a.kt)("inlineCode",{parentName:"td"},"'log'")),(0,a.kt)("td",{parentName:"tr",align:"left"},"a message is written to a log(file) and processing continues.")),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:"left"},(0,a.kt)("inlineCode",{parentName:"td"},"'ignore'")),(0,a.kt)("td",{parentName:"tr",align:"left"},"processing continues as if nothing happened.")))),(0,a.kt)("h2",{id:"processing-errors-and-warnings"},"Processing, Errors and Warnings"),(0,a.kt)("p",null,"The ",(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-importer",title:"MRG Importer: is a tool in the TEv2 toolbox that is run within a particular Scope for the purpose of obtaining MRGs from other Scopes, as specified in the Scope's SAF, and putting them in the Scope's Glossarydir."},"MRG importer")," starts by reading its command-line and configuration file. If the command-line has a key that is also found in the configuration file, the command-line key-value pair takes precedence. The resulting set of key-value pairs is tested for proper syntax and validity. Every improper syntax and every invalidity found will be logged. Improper syntax may be e.g. an invalid ",(0,a.kt)("a",{parentName:"p",href:"https://en.wikipedia.org/wiki/Glob_(programming)#Syntax"},"globpattern"),". Invalidities include non-existing directories or files, lack of write-permissions where needed, etc."),(0,a.kt)("p",null,"Then, the ",(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-importer",title:"MRG Importer: is a tool in the TEv2 toolbox that is run within a particular Scope for the purpose of obtaining MRGs from other Scopes, as specified in the Scope's SAF, and putting them in the Scope's Glossarydir."},"MRG importer")," reads the ",(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF")," of the ",(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," from which the ",(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-importer",title:"MRG Importer: is a tool in the TEv2 toolbox that is run within a particular Scope for the purpose of obtaining MRGs from other Scopes, as specified in the Scope's SAF, and putting them in the Scope's Glossarydir."},"MRG importer")," is called. We will use the following names for values that are in the ",(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"),":"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"{my-own-scopetag}")," = ",(0,a.kt)("inlineCode",{parentName:"li"},"scopetag"),"-field from the ",(0,a.kt)("inlineCode",{parentName:"li"},"scope"),"-section"),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"{my-own-scopedir}")," = ",(0,a.kt)("inlineCode",{parentName:"li"},"scopedir"),"-field from the ",(0,a.kt)("inlineCode",{parentName:"li"},"scope"),"-section"),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"{my-own-glossarydir}")," = ",(0,a.kt)("inlineCode",{parentName:"li"},"glossarydir"),"-field from the ",(0,a.kt)("inlineCode",{parentName:"li"},"scope"),"-section")),(0,a.kt)("p",null,"The ",(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-importer",title:"MRG Importer: is a tool in the TEv2 toolbox that is run within a particular Scope for the purpose of obtaining MRGs from other Scopes, as specified in the Scope's SAF, and putting them in the Scope's Glossarydir."},"MRG importer")," also reads the ",(0,a.kt)("a",{parentName:"p",href:"/tev2-specifications/docs/spec-files/saf#scopes"},"scopes section")," of the ",(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"),", which specifies the 'other' ",(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scopes: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scopes")," from which the actively maintained ",(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRGs")," have to be imported. This ",(0,a.kt)("a",{parentName:"p",href:"/tev2-specifications/docs/spec-files/saf#scopes"},"scopes section")," contains elements that consist of two parts, whose values we will refer to by the following names:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"{import-scopetag}")," = ",(0,a.kt)("inlineCode",{parentName:"li"},"scopetag"),"-field from the ",(0,a.kt)("inlineCode",{parentName:"li"},"scopes"),"-section of the ",(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"{import-scopedir}")," = ",(0,a.kt)("inlineCode",{parentName:"li"},"scopedir"),"-field from the ",(0,a.kt)("inlineCode",{parentName:"li"},"scopes"),"-section of the ",(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"))),(0,a.kt)("p",null,"For every ",(0,a.kt)("inlineCode",{parentName:"p"},"{import-scopedir}"),", the ",(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-importer",title:"MRG Importer: is a tool in the TEv2 toolbox that is run within a particular Scope for the purpose of obtaining MRGs from other Scopes, as specified in the Scope's SAF, and putting them in the Scope's Glossarydir."},"MRG importer")," will read its ",(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF")," to find out which ",(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminologies: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminologies")," are being actively maintained (we will use ",(0,a.kt)("inlineCode",{parentName:"p"},"{import-saf}")," to refer to the contents of this ",(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"),")."),(0,a.kt)("admonition",{title:"Editor's note",type:"info"},(0,a.kt)("p",{parentName:"admonition"},"Reading a SAF may require authentication, e.g. when the scopedir of the other scope is in a private or enterprise repo. How the MRG importer will be dealing with this remains to be specified.")),(0,a.kt)("p",null,"We will use:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"{other-scopetag}")," = the ",(0,a.kt)("inlineCode",{parentName:"li"},"scopetag"),"-field in the ",(0,a.kt)("inlineCode",{parentName:"li"},"scope")," section of ",(0,a.kt)("inlineCode",{parentName:"li"},"{import-saf}"),";"),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"{other-glossarydir}")," = the ",(0,a.kt)("inlineCode",{parentName:"li"},"glossarydir"),"-field in the ",(0,a.kt)("inlineCode",{parentName:"li"},"scope")," section of ",(0,a.kt)("inlineCode",{parentName:"li"},"{import-saf}"),";")),(0,a.kt)("p",null,"The ",(0,a.kt)("a",{parentName:"p",href:"/tev2-specifications/docs/spec-files/saf#versions"},"versions-section")," in ",(0,a.kt)("inlineCode",{parentName:"p"},"{import-saf}")," specifies which ",(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminologies: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminologies")," are actively maintained within the other ",(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),", and hence have to be imported. Every such ",(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology")," is specified by an entry in this section, and must hence be processed to import the associated ",(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRGs"),". "),(0,a.kt)("p",null,"To specify one such process, we will use:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"{other-vsntag}")," = ",(0,a.kt)("inlineCode",{parentName:"li"},"vsntag"),"-field in the element of the ",(0,a.kt)("inlineCode",{parentName:"li"},"versions")," section of ",(0,a.kt)("inlineCode",{parentName:"li"},"{import-saf}")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"{other-altvsntags}")," = ",(0,a.kt)("inlineCode",{parentName:"li"},"altvsntags"),"-field in an element of the ",(0,a.kt)("inlineCode",{parentName:"li"},"versions")," section of ",(0,a.kt)("inlineCode",{parentName:"li"},"{import-saf}"))),(0,a.kt)("p",null,"To import the associated ",(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRGs"),", here is what we do:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"read the file ",(0,a.kt)("inlineCode",{parentName:"li"},"{import-scopedir}/{import-glossarydir}/mrg.{other-scopetag}.{other-vsntag}.yaml"),", which is the file that contains the ",(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," that needs to be imported. If that file doesn't exist, this results in the bahaviour as specified by the ",(0,a.kt)("inlineCode",{parentName:"li"},"")," value of the ",(0,a.kt)("inlineCode",{parentName:"li"},"onNotExist")," parameter. Default is ",(0,a.kt)("inlineCode",{parentName:"li"},"throw"),".",(0,a.kt)("admonition",{parentName:"li",title:"Editor's note",type:"info"},(0,a.kt)("p",{parentName:"admonition"},"It may well be possible that contents of the mrg may need to be processed.\nThis is due to the fact that ",(0,a.kt)("inlineCode",{parentName:"p"},"scopetag"),"s are 'local' names for referring to scopes and every scope gets to decide on its own scoptag names. So the meaning of 'scopetags' cannot be transferred across scopes. We have to use universal/fixed identifiers, such as a ",(0,a.kt)("inlineCode",{parentName:"p"},"scopedir"),"-URL to identify scopes. Still, local names can be useful (and are necessary), so we'll have to figure out what the impact of this is.\ned:::"))),(0,a.kt)("li",{parentName:"ul"},"write the contents to ",(0,a.kt)("inlineCode",{parentName:"li"},"{my-scopedir}/{my-glossarydir}/mrg.{import-scopetag}.{other-vsntag}.yaml"),", overwriting a file that has the same name if that were to exist."),(0,a.kt)("li",{parentName:"ul"},"for every ",(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/versiontag",title:"Versiontag: a Tag that is used to Identify a specific version of a Terminology from within a specific Scope."},"versiontag")," in ",(0,a.kt)("inlineCode",{parentName:"li"},"{other-altvsntags}")," (which we call ",(0,a.kt)("inlineCode",{parentName:"li"},"{other-altvsntag}"),"), a symbolic link ",(0,a.kt)("inlineCode",{parentName:"li"},"mrg.{import-scopetag}.{other-altvsntag}.yaml")," is created in the ",(0,a.kt)("inlineCode",{parentName:"li"},"{my-scopedir}/{my-glossarydir}/")," directory, that links to the ",(0,a.kt)("inlineCode",{parentName:"li"},"mrg.{import-scopetag}.{other-vsntag}.yaml")," file that was just created in that same directory.")),(0,a.kt)("admonition",{type:"note"},(0,a.kt)("mdxAdmonitionTitle",{parentName:"admonition"},"NOTE the change of the ",(0,a.kt)("inlineCode",{parentName:"mdxAdmonitionTitle"},"scopetag")," part in the filename!"),(0,a.kt)("p",{parentName:"admonition"},"The name of the ",(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," in the ",(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," from which it is imported may differ from the name of the ",(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," that is imported. The reason for this is that the names (",(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopetag",title:"Scopetags: a Tag that is used to Identify Scopes from within a specific Scope"},"scopetags")," that are used in these ",(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scopes: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scopes")," to refer to the ",(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," from where ",(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRGs")," are imported, may differ.")),(0,a.kt)("p",null,"The ",(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-importer",title:"MRG Importer: is a tool in the TEv2 toolbox that is run within a particular Scope for the purpose of obtaining MRGs from other Scopes, as specified in the Scope's SAF, and putting them in the Scope's Glossarydir."},"MRG importer")," logs every error- and/or warning condition that it comes across while processing its configuration file, commandline parameters, and input files, in a way that helps tool-operators and document ",(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/author",title:"Author: a person that creates a text that is meant to be read and understood by others - usually, a particular audience."},"authors")," to identify and fix such conditions."),(0,a.kt)("h2",{id:"deploying-the-tool"},"Deploying the Tool"),(0,a.kt)("p",null,"The ",(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-importer",title:"MRG Importer: is a tool in the TEv2 toolbox that is run within a particular Scope for the purpose of obtaining MRGs from other Scopes, as specified in the Scope's SAF, and putting them in the Scope's Glossarydir."},"MRG importer")," comes with documentation that enables developers to ascertain its correct functioning (e.g. by using a test set of files, test scripts that exercise its parameters, etc.), and also enables them to deploy the tool in a git repo and author/modify CI-pipes to use that deployment."))}f.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunktev2_specifications=self.webpackChunktev2_specifications||[]).push([[8136],{3905:function(e,t,i){i.d(t,{Zo:function(){return p},kt:function(){return m}});var o=i(7294);function n(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function a(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,o)}return i}function r(e){for(var t=1;t=0||(n[i]=e[i]);return n}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(n[i]=e[i])}return n}var l=o.createContext({}),c=function(e){var t=o.useContext(l),i=t;return e&&(i="function"==typeof e?e(t):r(r({},t),e)),i},p=function(e){var t=c(e.components);return o.createElement(l.Provider,{value:t},e.children)},h={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},d=o.forwardRef((function(e,t){var i=e.components,n=e.mdxType,a=e.originalType,l=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),d=c(i),m=n,f=d["".concat(l,".").concat(m)]||d[m]||h[m]||a;return i?o.createElement(f,r(r({ref:t},p),{},{components:i})):o.createElement(f,r({ref:t},p))}));function m(e,t){var i=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var a=i.length,r=new Array(a);r[0]=d;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s.mdxType="string"==typeof e?e:n,r[1]=s;for(var c=2;c child <"+("string"==typeof e.type?e.type:e.type.name)+'>: all children of the component should be , and every should have a unique "value" prop.')})))?void 0:i.filter(Boolean))?t:[]}(e).map((function(e){var t=e.props;return{value:t.value,label:t.label,attributes:t.attributes,default:t.default}}))}function d(e){var t=e.values,i=e.children;return(0,n.useMemo)((function(){var e=null!=t?t:h(i);return function(e){var t=(0,c.l)(e,(function(e,t){return e.value===t.value}));if(t.length>0)throw new Error('Docusaurus error: Duplicate values "'+t.map((function(e){return e.value})).join(", ")+'" found in . Every value needs to be unique.')}(e),e}),[t,i])}function m(e){var t=e.value;return e.tabValues.some((function(e){return e.value===t}))}function f(e){var t=e.queryString,i=void 0!==t&&t,o=e.groupId,a=(0,s.k6)(),r=function(e){var t=e.queryString,i=void 0!==t&&t,o=e.groupId;if("string"==typeof i)return i;if(!1===i)return null;if(!0===i&&!o)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return null!=o?o:null}({queryString:i,groupId:o});return[(0,l._X)(r),(0,n.useCallback)((function(e){if(r){var t=new URLSearchParams(a.location.search);t.set(r,e),a.replace(Object.assign({},a.location,{search:t.toString()}))}}),[r,a])]}function u(e){var t,i,o,a,r=e.defaultValue,s=e.queryString,l=void 0!==s&&s,c=e.groupId,h=d(e),u=(0,n.useState)((function(){return function(e){var t,i=e.defaultValue,o=e.tabValues;if(0===o.length)throw new Error("Docusaurus error: the component requires at least one children component");if(i){if(!m({value:i,tabValues:o}))throw new Error('Docusaurus error: The has a defaultValue "'+i+'" but none of its children has the corresponding value. Available values are: '+o.map((function(e){return e.value})).join(", ")+". If you intend to show no default tab, use defaultValue={null} instead.");return i}var n=null!=(t=o.find((function(e){return e.default})))?t:o[0];if(!n)throw new Error("Unexpected error: 0 tabValues");return n.value}({defaultValue:r,tabValues:h})})),g=u[0],v=u[1],y=f({queryString:l,groupId:c}),k=y[0],b=y[1],w=(t=function(e){return e?"docusaurus.tab."+e:null}({groupId:c}.groupId),i=(0,p.Nk)(t),o=i[0],a=i[1],[o,(0,n.useCallback)((function(e){t&&a.set(e)}),[t,a])]),N=w[0],S=w[1],T=function(){var e=null!=k?k:N;return m({value:e,tabValues:h})?e:null}();return(0,n.useLayoutEffect)((function(){T&&v(T)}),[T]),{selectedValue:g,selectValue:(0,n.useCallback)((function(e){if(!m({value:e,tabValues:h}))throw new Error("Can't select invalid tab value="+e);v(e),b(e),S(e)}),[b,S,h]),tabValues:h}}var g=i(2389),v="tabList__CuJ",y="tabItem_LNqP";function k(e){var t=e.className,i=e.block,s=e.selectedValue,l=e.selectValue,c=e.tabValues,p=[],h=(0,r.o5)().blockElementScrollPositionUntilNextRender,d=function(e){var t=e.currentTarget,i=p.indexOf(t),o=c[i].value;o!==s&&(h(t),l(o))},m=function(e){var t,i=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":var o,n=p.indexOf(e.currentTarget)+1;i=null!=(o=p[n])?o:p[0];break;case"ArrowLeft":var a,r=p.indexOf(e.currentTarget)-1;i=null!=(a=p[r])?a:p[p.length-1]}null==(t=i)||t.focus()};return n.createElement("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,a.Z)("tabs",{"tabs--block":i},t)},c.map((function(e){var t=e.value,i=e.label,r=e.attributes;return n.createElement("li",(0,o.Z)({role:"tab",tabIndex:s===t?0:-1,"aria-selected":s===t,key:t,ref:function(e){return p.push(e)},onKeyDown:m,onClick:d},r,{className:(0,a.Z)("tabs__item",y,null==r?void 0:r.className,{"tabs__item--active":s===t})}),null!=i?i:t)})))}function b(e){var t=e.lazy,i=e.children,o=e.selectedValue,a=(Array.isArray(i)?i:[i]).filter(Boolean);if(t){var r=a.find((function(e){return e.props.value===o}));return r?(0,n.cloneElement)(r,{className:"margin-top--md"}):null}return n.createElement("div",{className:"margin-top--md"},a.map((function(e,t){return(0,n.cloneElement)(e,{key:t,hidden:e.props.value!==o})})))}function w(e){var t=u(e);return n.createElement("div",{className:(0,a.Z)("tabs-container",v)},n.createElement(k,(0,o.Z)({},e,t)),n.createElement(b,(0,o.Z)({},e,t)))}function N(e){var t=(0,g.Z)();return n.createElement(w,(0,o.Z)({key:String(t)},e))}},361:function(e,t,i){i.r(t),i.d(t,{assets:function(){return p},contentTitle:function(){return l},default:function(){return f},frontMatter:function(){return s},mark:function(){return d},metadata:function(){return c},toc:function(){return h}});var o=i(7462),n=i(3366),a=(i(7294),i(3905)),r=(i(4996),i(4866),i(5162),["components"]),s={id:"mrg-importer",sidebar_label:"MRG Importer",date:20230731},l="MRG Import Tool",c={unversionedId:"spec-tools/mrg-importer",id:"spec-tools/mrg-importer",title:"MRG Import Tool",description:"text to mark",source:"@site/docs/spec-tools/12-mrg-importer.md",sourceDirName:"spec-tools",slug:"/spec-tools/mrg-importer",permalink:"/tev2-specifications/docs/spec-tools/mrg-importer",draft:!1,editUrl:"https://github.com/tno-terminology-design/tev2-specifications/blob/master/docs/spec-tools/12-mrg-importer.md",tags:[],version:"current",lastUpdatedBy:"Ca5e",lastUpdatedAt:1694182104,formattedLastUpdatedAt:"Sep 8, 2023",sidebarPosition:12,frontMatter:{id:"mrg-importer",sidebar_label:"MRG Importer",date:20230731},sidebar:"tev2SideBar",previous:{title:"Integrity Checking",permalink:"/tev2-specifications/docs/spec-tools/ict"},next:{title:"Term Ref Resolution",permalink:"/tev2-specifications/docs/spec-tools/trrt"}},p={},h=[{value:"Installing the Tool",id:"installing-the-tool",level:2},{value:"Calling the Tool",id:"calling-the-tool",level:2},{value:"Processing, Errors and Warnings",id:"processing-errors-and-warnings",level:2},{value:"Deploying the Tool",id:"deploying-the-tool",level:2}],d=function(e){var t=e.children;return(0,a.kt)("span",{style:{color:"black",backgroundColor:"yellow",padding:"0.2rem",borderRadius:"2px"}},t)},m={toc:h,mark:d};function f(e){var t=e.components,i=(0,n.Z)(e,r);return(0,a.kt)("wrapper",(0,o.Z)({},m,i,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"mrg-import-tool"},"MRG Import Tool"),(0,a.kt)("admonition",{type:"caution"},(0,a.kt)("p",{parentName:"admonition"},"The entire section on Terminology Engine v 2 (TEv2) is still under construction.",(0,a.kt)("br",null),"\nAs TEv2 is not (yet) available, the texts that specify the tool are still 'raw', i.e. not yet processed.",(0,a.kt)("br",null),(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/reader",title:"Reader: a person that reads a text that is authored by another person (its Author]), and that tries to understand the meaning of this text in the way its Author intended."},"readers")," will need to see through some (currently unprocessed) notational conventions.")),(0,a.kt)("admonition",{title:"Editor's Note",type:"info"},(0,a.kt)("p",{parentName:"admonition"},"This section is still under development. You'll see further editor's notes where issues exist.")),(0,a.kt)("p",null,"The ",(0,a.kt)("strong",{parentName:"p"},(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," Import Tool (",(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-importer",title:"MRG Importer: is a tool in the TEv2 toolbox that is run within a particular Scope for the purpose of obtaining MRGs from other Scopes, as specified in the Scope's SAF, and putting them in the Scope's Glossarydir."},"MRG importer"),")")," ensures that the ",(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," within which it is run, obtains a local copy of all ",(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRGs")," that are available in the ",(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scopes: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scopes")," that are mentioned in the ",(0,a.kt)("a",{parentName:"p",href:"/docs/spec-files/saf#scopes"},"scopes section")," of its ",(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"),". This makes life easy for various tools, e.g., the ",(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrgt",title:"MRGT: a software tool designed to create, manage, and process Machine Readable Glossaries (MRGs), as [specified by TEv2](/docs/spec-tools/mrgt). MRGTs offer features for selecting Terms that are Curated within the Scope it is run in, or from other Scopes."},"MRGT")," and the ",(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/trrt",title:"TRRT (TermRef Rendering Tool): a TEv2 Tool that is designed to facilitate the visualization and rendering of TermRefs."},"TRRT"),", that can now assume that all ",(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRGs")," that they may need to consult in order to do their job, are readily available. "),(0,a.kt)("p",null,"There will shortly be an implementation of the tool:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"the repo for the code of the tool is ",(0,a.kt)("a",{parentName:"li",href:"https://github.com/tno-terminology-design/mrg-import"},"here"),"."),(0,a.kt)("li",{parentName:"ul"},"the documentation is ","[",(0,a.kt)("mark",null,"tbd"),"]",".")),(0,a.kt)("h2",{id:"installing-the-tool"},"Installing the Tool"),(0,a.kt)("p",null,"The tool can be installed from the command line and made globally available by executing"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre"},"npm install tno-terminology-design/mrg-import -g\n")),(0,a.kt)("h2",{id:"calling-the-tool"},"Calling the Tool"),(0,a.kt)("p",null,"The behavior of the ",(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-importer",title:"MRG Importer: is a tool in the TEv2 toolbox that is run within a particular Scope for the purpose of obtaining MRGs from other Scopes, as specified in the Scope's SAF, and putting them in the Scope's Glossarydir."},"MRG importer")," can be configured per call e.g. by a configuration file and/or command-line parameters. The command-line syntax is as follows:"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre"},"mrg-import [ ]\n")),(0,a.kt)("p",null,"where:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"")," (optional) is a list of key-value pairs")),(0,a.kt)("details",null,(0,a.kt)("summary",null,"Legend"),(0,a.kt)("p",null,"The columns in the following table are defined as follows:"),(0,a.kt)("ol",null,(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("strong",{parentName:"li"},(0,a.kt)("inlineCode",{parentName:"strong"},"Key"))," is the text to be used as a key."),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("strong",{parentName:"li"},(0,a.kt)("inlineCode",{parentName:"strong"},"Value"))," represents the kind of value to be used."),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("strong",{parentName:"li"},(0,a.kt)("inlineCode",{parentName:"strong"},"Req'd"))," specifies whether (",(0,a.kt)("inlineCode",{parentName:"li"},"Y"),") or not (",(0,a.kt)("inlineCode",{parentName:"li"},"n"),") the field is required to be present when the tool is being called. If required, it MUST either be present in the configuration file, or as a command-line parameter."),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("strong",{parentName:"li"},(0,a.kt)("inlineCode",{parentName:"strong"},"Description"))," specifies the meaning of the ",(0,a.kt)("inlineCode",{parentName:"li"},"Value")," field, and other things you may need to know, e.g. why it is needed, a required syntax, etc."))),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:"left"},"Key"),(0,a.kt)("th",{parentName:"tr",align:"left"},"Value"),(0,a.kt)("th",{parentName:"tr",align:"center"},"Req'd"),(0,a.kt)("th",{parentName:"tr",align:"left"},"Description"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:"left"},(0,a.kt)("inlineCode",{parentName:"td"},"config")),(0,a.kt)("td",{parentName:"tr",align:"left"},(0,a.kt)("inlineCode",{parentName:"td"},"")),(0,a.kt)("td",{parentName:"tr",align:"center"},"n"),(0,a.kt)("td",{parentName:"tr",align:"left"},"Path (including the filename) of the tool's (YAML) configuration file. This file contains the default key-value pairs to be used. Allowed keys (and the associated values) are documented in this table. Command-line arguments override key-value pairs specified in the configuration file. This parameter MUST NOT appear in the configuration file itself.")),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:"left"},(0,a.kt)("inlineCode",{parentName:"td"},"scopedir")),(0,a.kt)("td",{parentName:"tr",align:"left"},(0,a.kt)("inlineCode",{parentName:"td"},"")),(0,a.kt)("td",{parentName:"tr",align:"center"},"Y"),(0,a.kt)("td",{parentName:"tr",align:"left"},"Path of the ",(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopedir",title:"Scope-directory: a directory in a computer file system that contains all files that are either being Curated within a particular Scope, or generated to serve some purpose within that Scope."},"scope directory")," from which the tool is called. It MUST contain the ",(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF")," for that ",(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),", which we will refer to as the 'current scope' for the ",(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-importer",title:"MRG Importer: is a tool in the TEv2 toolbox that is run within a particular Scope for the purpose of obtaining MRGs from other Scopes, as specified in the Scope's SAF, and putting them in the Scope's Glossarydir."},"MRG importer"),".")),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:"left"},(0,a.kt)("inlineCode",{parentName:"td"},"onNotExist")),(0,a.kt)("td",{parentName:"tr",align:"left"},(0,a.kt)("inlineCode",{parentName:"td"},"")),(0,a.kt)("td",{parentName:"tr",align:"center"},"n"),(0,a.kt)("td",{parentName:"tr",align:"left"},"specifies the action to take in case an MRG file that was expected to exist, does not exist. Default is ",(0,a.kt)("inlineCode",{parentName:"td"},"'throw'"),".")))),(0,a.kt)("p",null,"The ",(0,a.kt)("inlineCode",{parentName:"p"},"")," parameter can take the following values:"),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:"left"},(0,a.kt)("inlineCode",{parentName:"th"},"")),(0,a.kt)("th",{parentName:"tr",align:"left"},"Description"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:"left"},(0,a.kt)("inlineCode",{parentName:"td"},"'throw'")),(0,a.kt)("td",{parentName:"tr",align:"left"},"an error is thrown (an exception is raised), and processing will stop.")),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:"left"},(0,a.kt)("inlineCode",{parentName:"td"},"'warn'")),(0,a.kt)("td",{parentName:"tr",align:"left"},"a message is displayed (and logged) and processing continues.")),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:"left"},(0,a.kt)("inlineCode",{parentName:"td"},"'log'")),(0,a.kt)("td",{parentName:"tr",align:"left"},"a message is written to a log(file) and processing continues.")),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:"left"},(0,a.kt)("inlineCode",{parentName:"td"},"'ignore'")),(0,a.kt)("td",{parentName:"tr",align:"left"},"processing continues as if nothing happened.")))),(0,a.kt)("h2",{id:"processing-errors-and-warnings"},"Processing, Errors and Warnings"),(0,a.kt)("p",null,"The ",(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-importer",title:"MRG Importer: is a tool in the TEv2 toolbox that is run within a particular Scope for the purpose of obtaining MRGs from other Scopes, as specified in the Scope's SAF, and putting them in the Scope's Glossarydir."},"MRG importer")," starts by reading its command-line and configuration file. If the command-line has a key that is also found in the configuration file, the command-line key-value pair takes precedence. The resulting set of key-value pairs is tested for proper syntax and validity. Every improper syntax and every invalidity found will be logged. Improper syntax may be e.g. an invalid ",(0,a.kt)("a",{parentName:"p",href:"https://en.wikipedia.org/wiki/Glob_(programming)#Syntax"},"globpattern"),". Invalidities include non-existing directories or files, lack of write-permissions where needed, etc."),(0,a.kt)("p",null,"Then, the ",(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-importer",title:"MRG Importer: is a tool in the TEv2 toolbox that is run within a particular Scope for the purpose of obtaining MRGs from other Scopes, as specified in the Scope's SAF, and putting them in the Scope's Glossarydir."},"MRG importer")," reads the ",(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF")," of the ",(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," from which the ",(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-importer",title:"MRG Importer: is a tool in the TEv2 toolbox that is run within a particular Scope for the purpose of obtaining MRGs from other Scopes, as specified in the Scope's SAF, and putting them in the Scope's Glossarydir."},"MRG importer")," is called. We will use the following names for values that are in the ",(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"),":"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"{my-own-scopetag}")," = ",(0,a.kt)("inlineCode",{parentName:"li"},"scopetag"),"-field from the ",(0,a.kt)("inlineCode",{parentName:"li"},"scope"),"-section"),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"{my-own-scopedir}")," = ",(0,a.kt)("inlineCode",{parentName:"li"},"scopedir"),"-field from the ",(0,a.kt)("inlineCode",{parentName:"li"},"scope"),"-section"),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"{my-own-glossarydir}")," = ",(0,a.kt)("inlineCode",{parentName:"li"},"glossarydir"),"-field from the ",(0,a.kt)("inlineCode",{parentName:"li"},"scope"),"-section")),(0,a.kt)("p",null,"The ",(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-importer",title:"MRG Importer: is a tool in the TEv2 toolbox that is run within a particular Scope for the purpose of obtaining MRGs from other Scopes, as specified in the Scope's SAF, and putting them in the Scope's Glossarydir."},"MRG importer")," also reads the ",(0,a.kt)("a",{parentName:"p",href:"/tev2-specifications/docs/spec-files/saf#scopes"},"scopes section")," of the ",(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"),", which specifies the 'other' ",(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scopes: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scopes")," from which the actively maintained ",(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRGs")," have to be imported. This ",(0,a.kt)("a",{parentName:"p",href:"/tev2-specifications/docs/spec-files/saf#scopes"},"scopes section")," contains elements that consist of two parts, whose values we will refer to by the following names:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"{import-scopetag}")," = ",(0,a.kt)("inlineCode",{parentName:"li"},"scopetag"),"-field from the ",(0,a.kt)("inlineCode",{parentName:"li"},"scopes"),"-section of the ",(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"{import-scopedir}")," = ",(0,a.kt)("inlineCode",{parentName:"li"},"scopedir"),"-field from the ",(0,a.kt)("inlineCode",{parentName:"li"},"scopes"),"-section of the ",(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"))),(0,a.kt)("p",null,"For every ",(0,a.kt)("inlineCode",{parentName:"p"},"{import-scopedir}"),", the ",(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-importer",title:"MRG Importer: is a tool in the TEv2 toolbox that is run within a particular Scope for the purpose of obtaining MRGs from other Scopes, as specified in the Scope's SAF, and putting them in the Scope's Glossarydir."},"MRG importer")," will read its ",(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF")," to find out which ",(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminologies: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminologies")," are being actively maintained (we will use ",(0,a.kt)("inlineCode",{parentName:"p"},"{import-saf}")," to refer to the contents of this ",(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"),")."),(0,a.kt)("admonition",{title:"Editor's note",type:"info"},(0,a.kt)("p",{parentName:"admonition"},"Reading a SAF may require authentication, e.g. when the scopedir of the other scope is in a private or enterprise repo. How the MRG importer will be dealing with this remains to be specified.")),(0,a.kt)("p",null,"We will use:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"{other-scopetag}")," = the ",(0,a.kt)("inlineCode",{parentName:"li"},"scopetag"),"-field in the ",(0,a.kt)("inlineCode",{parentName:"li"},"scope")," section of ",(0,a.kt)("inlineCode",{parentName:"li"},"{import-saf}"),";"),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"{other-glossarydir}")," = the ",(0,a.kt)("inlineCode",{parentName:"li"},"glossarydir"),"-field in the ",(0,a.kt)("inlineCode",{parentName:"li"},"scope")," section of ",(0,a.kt)("inlineCode",{parentName:"li"},"{import-saf}"),";")),(0,a.kt)("p",null,"The ",(0,a.kt)("a",{parentName:"p",href:"/tev2-specifications/docs/spec-files/saf#versions"},"versions-section")," in ",(0,a.kt)("inlineCode",{parentName:"p"},"{import-saf}")," specifies which ",(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminologies: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminologies")," are actively maintained within the other ",(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),", and hence have to be imported. Every such ",(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology")," is specified by an entry in this section, and must hence be processed to import the associated ",(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRGs"),". "),(0,a.kt)("p",null,"To specify one such process, we will use:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"{other-vsntag}")," = ",(0,a.kt)("inlineCode",{parentName:"li"},"vsntag"),"-field in the element of the ",(0,a.kt)("inlineCode",{parentName:"li"},"versions")," section of ",(0,a.kt)("inlineCode",{parentName:"li"},"{import-saf}")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"{other-altvsntags}")," = ",(0,a.kt)("inlineCode",{parentName:"li"},"altvsntags"),"-field in an element of the ",(0,a.kt)("inlineCode",{parentName:"li"},"versions")," section of ",(0,a.kt)("inlineCode",{parentName:"li"},"{import-saf}"))),(0,a.kt)("p",null,"To import the associated ",(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRGs"),", here is what we do:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"read the file ",(0,a.kt)("inlineCode",{parentName:"li"},"{import-scopedir}/{import-glossarydir}/mrg.{other-scopetag}.{other-vsntag}.yaml"),", which is the file that contains the ",(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," that needs to be imported. If that file doesn't exist, this results in the bahaviour as specified by the ",(0,a.kt)("inlineCode",{parentName:"li"},"")," value of the ",(0,a.kt)("inlineCode",{parentName:"li"},"onNotExist")," parameter. Default is ",(0,a.kt)("inlineCode",{parentName:"li"},"throw"),".",(0,a.kt)("admonition",{parentName:"li",title:"Editor's note",type:"info"},(0,a.kt)("p",{parentName:"admonition"},"It may well be possible that contents of the mrg may need to be processed.\nThis is due to the fact that ",(0,a.kt)("inlineCode",{parentName:"p"},"scopetag"),"s are 'local' names for referring to scopes and every scope gets to decide on its own scoptag names. So the meaning of 'scopetags' cannot be transferred across scopes. We have to use universal/fixed identifiers, such as a ",(0,a.kt)("inlineCode",{parentName:"p"},"scopedir"),"-URL to identify scopes. Still, local names can be useful (and are necessary), so we'll have to figure out what the impact of this is.\ned:::"))),(0,a.kt)("li",{parentName:"ul"},"write the contents to ",(0,a.kt)("inlineCode",{parentName:"li"},"{my-scopedir}/{my-glossarydir}/mrg.{import-scopetag}.{other-vsntag}.yaml"),", overwriting a file that has the same name if that were to exist."),(0,a.kt)("li",{parentName:"ul"},"for every ",(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/versiontag",title:"Versiontag: a Tag that is used to Identify a specific version of a Terminology from within a specific Scope."},"versiontag")," in ",(0,a.kt)("inlineCode",{parentName:"li"},"{other-altvsntags}")," (which we call ",(0,a.kt)("inlineCode",{parentName:"li"},"{other-altvsntag}"),"), a symbolic link ",(0,a.kt)("inlineCode",{parentName:"li"},"mrg.{import-scopetag}.{other-altvsntag}.yaml")," is created in the ",(0,a.kt)("inlineCode",{parentName:"li"},"{my-scopedir}/{my-glossarydir}/")," directory, that links to the ",(0,a.kt)("inlineCode",{parentName:"li"},"mrg.{import-scopetag}.{other-vsntag}.yaml")," file that was just created in that same directory.")),(0,a.kt)("admonition",{type:"note"},(0,a.kt)("mdxAdmonitionTitle",{parentName:"admonition"},"NOTE the change of the ",(0,a.kt)("inlineCode",{parentName:"mdxAdmonitionTitle"},"scopetag")," part in the filename!"),(0,a.kt)("p",{parentName:"admonition"},"The name of the ",(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," in the ",(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," from which it is imported may differ from the name of the ",(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," that is imported. The reason for this is that the names (",(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopetag",title:"Scopetags: a Tag that is used to Identify Scopes from within a specific Scope"},"scopetags")," that are used in these ",(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scopes: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scopes")," to refer to the ",(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," from where ",(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRGs")," are imported, may differ.")),(0,a.kt)("p",null,"The ",(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-importer",title:"MRG Importer: is a tool in the TEv2 toolbox that is run within a particular Scope for the purpose of obtaining MRGs from other Scopes, as specified in the Scope's SAF, and putting them in the Scope's Glossarydir."},"MRG importer")," logs every error- and/or warning condition that it comes across while processing its configuration file, commandline parameters, and input files, in a way that helps tool-operators and document ",(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/author",title:"Author: a person that creates a text that is meant to be read and understood by others - usually, a particular audience."},"authors")," to identify and fix such conditions."),(0,a.kt)("h2",{id:"deploying-the-tool"},"Deploying the Tool"),(0,a.kt)("p",null,"The ",(0,a.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-importer",title:"MRG Importer: is a tool in the TEv2 toolbox that is run within a particular Scope for the purpose of obtaining MRGs from other Scopes, as specified in the Scope's SAF, and putting them in the Scope's Glossarydir."},"MRG importer")," comes with documentation that enables developers to ascertain its correct functioning (e.g. by using a test set of files, test scripts that exercise its parameters, etc.), and also enables them to deploy the tool in a git repo and author/modify CI-pipes to use that deployment."))}f.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/0cdee2ba.60d32893.js b/assets/js/0cdee2ba.1411e836.js similarity index 99% rename from assets/js/0cdee2ba.60d32893.js rename to assets/js/0cdee2ba.1411e836.js index f1f487ab78..070adbbf48 100644 --- a/assets/js/0cdee2ba.60d32893.js +++ b/assets/js/0cdee2ba.1411e836.js @@ -1 +1 @@ -"use strict";(self.webpackChunktev2_specifications=self.webpackChunktev2_specifications||[]).push([[6135],{3905:function(e,t,r){r.d(t,{Zo:function(){return l},kt:function(){return m}});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function s(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var c=n.createContext({}),p=function(e){var t=n.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):s(s({},t),e)),r},l=function(e){var t=p(e.components);return n.createElement(c.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},u=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,i=e.originalType,c=e.parentName,l=a(e,["components","mdxType","originalType","parentName"]),u=p(r),m=o,f=u["".concat(c,".").concat(m)]||u[m]||d[m]||i;return r?n.createElement(f,s(s({ref:t},l),{},{components:r})):n.createElement(f,s({ref:t},l))}));function m(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var i=r.length,s=new Array(i);s[0]=u;var a={};for(var c in t)hasOwnProperty.call(t,c)&&(a[c]=t[c]);a.originalType=e,a.mdxType="string"==typeof e?e:o,s[1]=a;for(var p=2;p=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var c=n.createContext({}),p=function(e){var t=n.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):s(s({},t),e)),r},l=function(e){var t=p(e.components);return n.createElement(c.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},u=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,i=e.originalType,c=e.parentName,l=a(e,["components","mdxType","originalType","parentName"]),u=p(r),m=o,f=u["".concat(c,".").concat(m)]||u[m]||d[m]||i;return r?n.createElement(f,s(s({ref:t},l),{},{components:r})):n.createElement(f,s({ref:t},l))}));function m(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var i=r.length,s=new Array(i);s[0]=u;var a={};for(var c in t)hasOwnProperty.call(t,c)&&(a[c]=t[c]);a.originalType=e,a.mdxType="string"==typeof e?e:o,s[1]=a;for(var p=2;p=0||(o[i]=e[i]);return o}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(o[i]=e[i])}return o}var c=a.createContext({}),l=function(e){var t=a.useContext(c),i=t;return e&&(i="function"==typeof e?e(t):s(s({},t),e)),i},d=function(e){var t=l(e.components);return a.createElement(c.Provider,{value:t},e.children)},h={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},p=a.forwardRef((function(e,t){var i=e.components,o=e.mdxType,n=e.originalType,c=e.parentName,d=r(e,["components","mdxType","originalType","parentName"]),p=l(i),m=o,f=p["".concat(c,".").concat(m)]||p[m]||h[m]||n;return i?a.createElement(f,s(s({ref:t},d),{},{components:i})):a.createElement(f,s({ref:t},d))}));function m(e,t){var i=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var n=i.length,s=new Array(n);s[0]=p;var r={};for(var c in t)hasOwnProperty.call(t,c)&&(r[c]=t[c]);r.originalType=e,r.mdxType="string"==typeof e?e:o,s[1]=r;for(var l=2;l child <"+("string"==typeof e.type?e.type:e.type.name)+'>: all children of the component should be , and every should have a unique "value" prop.')})))?void 0:i.filter(Boolean))?t:[]}(e).map((function(e){var t=e.props;return{value:t.value,label:t.label,attributes:t.attributes,default:t.default}}))}function p(e){var t=e.values,i=e.children;return(0,o.useMemo)((function(){var e=null!=t?t:h(i);return function(e){var t=(0,l.l)(e,(function(e,t){return e.value===t.value}));if(t.length>0)throw new Error('Docusaurus error: Duplicate values "'+t.map((function(e){return e.value})).join(", ")+'" found in . Every value needs to be unique.')}(e),e}),[t,i])}function m(e){var t=e.value;return e.tabValues.some((function(e){return e.value===t}))}function f(e){var t=e.queryString,i=void 0!==t&&t,a=e.groupId,n=(0,r.k6)(),s=function(e){var t=e.queryString,i=void 0!==t&&t,a=e.groupId;if("string"==typeof i)return i;if(!1===i)return null;if(!0===i&&!a)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return null!=a?a:null}({queryString:i,groupId:a});return[(0,c._X)(s),(0,o.useCallback)((function(e){if(s){var t=new URLSearchParams(n.location.search);t.set(s,e),n.replace(Object.assign({},n.location,{search:t.toString()}))}}),[s,n])]}function u(e){var t,i,a,n,s=e.defaultValue,r=e.queryString,c=void 0!==r&&r,l=e.groupId,h=p(e),u=(0,o.useState)((function(){return function(e){var t,i=e.defaultValue,a=e.tabValues;if(0===a.length)throw new Error("Docusaurus error: the component requires at least one children component");if(i){if(!m({value:i,tabValues:a}))throw new Error('Docusaurus error: The has a defaultValue "'+i+'" but none of its children has the corresponding value. Available values are: '+a.map((function(e){return e.value})).join(", ")+". If you intend to show no default tab, use defaultValue={null} instead.");return i}var o=null!=(t=a.find((function(e){return e.default})))?t:a[0];if(!o)throw new Error("Unexpected error: 0 tabValues");return o.value}({defaultValue:s,tabValues:h})})),g=u[0],y=u[1],v=f({queryString:c,groupId:l}),b=v[0],k=v[1],w=(t=function(e){return e?"docusaurus.tab."+e:null}({groupId:l}.groupId),i=(0,d.Nk)(t),a=i[0],n=i[1],[a,(0,o.useCallback)((function(e){t&&n.set(e)}),[t,n])]),S=w[0],N=w[1],C=function(){var e=null!=b?b:S;return m({value:e,tabValues:h})?e:null}();return(0,o.useLayoutEffect)((function(){C&&y(C)}),[C]),{selectedValue:g,selectValue:(0,o.useCallback)((function(e){if(!m({value:e,tabValues:h}))throw new Error("Can't select invalid tab value="+e);y(e),k(e),N(e)}),[k,N,h]),tabValues:h}}var g=i(2389),y="tabList__CuJ",v="tabItem_LNqP";function b(e){var t=e.className,i=e.block,r=e.selectedValue,c=e.selectValue,l=e.tabValues,d=[],h=(0,s.o5)().blockElementScrollPositionUntilNextRender,p=function(e){var t=e.currentTarget,i=d.indexOf(t),a=l[i].value;a!==r&&(h(t),c(a))},m=function(e){var t,i=null;switch(e.key){case"Enter":p(e);break;case"ArrowRight":var a,o=d.indexOf(e.currentTarget)+1;i=null!=(a=d[o])?a:d[0];break;case"ArrowLeft":var n,s=d.indexOf(e.currentTarget)-1;i=null!=(n=d[s])?n:d[d.length-1]}null==(t=i)||t.focus()};return o.createElement("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,n.Z)("tabs",{"tabs--block":i},t)},l.map((function(e){var t=e.value,i=e.label,s=e.attributes;return o.createElement("li",(0,a.Z)({role:"tab",tabIndex:r===t?0:-1,"aria-selected":r===t,key:t,ref:function(e){return d.push(e)},onKeyDown:m,onClick:p},s,{className:(0,n.Z)("tabs__item",v,null==s?void 0:s.className,{"tabs__item--active":r===t})}),null!=i?i:t)})))}function k(e){var t=e.lazy,i=e.children,a=e.selectedValue,n=(Array.isArray(i)?i:[i]).filter(Boolean);if(t){var s=n.find((function(e){return e.props.value===a}));return s?(0,o.cloneElement)(s,{className:"margin-top--md"}):null}return o.createElement("div",{className:"margin-top--md"},n.map((function(e,t){return(0,o.cloneElement)(e,{key:t,hidden:e.props.value!==a})})))}function w(e){var t=u(e);return o.createElement("div",{className:(0,n.Z)("tabs-container",y)},o.createElement(b,(0,a.Z)({},e,t)),o.createElement(k,(0,a.Z)({},e,t)))}function S(e){var t=(0,g.Z)();return o.createElement(w,(0,a.Z)({key:String(t)},e))}},1794:function(e,t,i){i.r(t),i.d(t,{assets:function(){return d},contentTitle:function(){return c},default:function(){return m},frontMatter:function(){return r},metadata:function(){return l},toc:function(){return h}});var a=i(7462),o=i(3366),n=(i(7294),i(3905)),s=(i(4996),i(4866),i(5162),["components"]),r={id:"saf",sidebar_label:"SAF (Scope Admin File)",date:20230103},c="Scope Administration File (SAF)",l={unversionedId:"spec-files/saf",id:"spec-files/saf",title:"Scope Administration File (SAF)",description:"The entire section on Terminology Engine v 2 (TEv2) is still under construction.",source:"@site/docs/spec-files/11-saf.md",sourceDirName:"spec-files",slug:"/spec-files/saf",permalink:"/tev2-specifications/docs/spec-files/saf",draft:!1,editUrl:"https://github.com/tno-terminology-design/tev2-specifications/blob/master/docs/spec-files/11-saf.md",tags:[],version:"current",lastUpdatedBy:"Kees",lastUpdatedAt:1694174606,formattedLastUpdatedAt:"Sep 8, 2023",sidebarPosition:11,frontMatter:{id:"saf",sidebar_label:"SAF (Scope Admin File)",date:20230103},sidebar:"tev2SideBar",previous:{title:"Curated Texts",permalink:"/tev2-specifications/docs/spec-files/ctext"},next:{title:"Profile Templates",permalink:"/tev2-specifications/docs/spec-files/profile-templates"}},d={},h=[{value:"Scope Administration File Field Descriptions",id:"scope-administration-file-field-descriptions",level:2},{value:"SAF Terminology - Defining the Scope itself",id:"terminology",level:3},{value:"SAF Scopes - Mapping Scopetags and Scopedirs",id:"scopes",level:3},{value:"SAF Versions - Enabling changes and updates in a scope's Terminology",id:"versions",level:3}],p={toc:h};function m(e){var t=e.components,i=(0,o.Z)(e,s);return(0,n.kt)("wrapper",(0,a.Z)({},p,i,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"scope-administration-file-saf"},"Scope Administration File (SAF)"),(0,n.kt)("admonition",{type:"caution"},(0,n.kt)("p",{parentName:"admonition"},"The entire section on Terminology Engine v 2 (TEv2) is still under construction.",(0,n.kt)("br",null),"\nAs TEv2 is not (yet) available, the texts that specify the tool are still 'raw', i.e. not yet processed.",(0,n.kt)("br",null),(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/reader",title:"Reader: a person that reads a text that is authored by another person (its Author]), and that tries to understand the meaning of this text in the way its Author intended."},"readers")," will need to see through some (currently unprocessed) notational conventions.")),(0,n.kt)("p",null,"Every ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," MUST have exactly one Scope Administration File or ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"),", i.e. a file contains whatever needs to be administered in the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),", and that various tools need to find e.g. the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scopes: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope's")," ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG"),", ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-texts: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated texts"),", ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopetag",title:"Scopetags: a Tag that is used to Identify Scopes from within a specific Scope"},"scopetags"),", etc."),(0,n.kt)("p",null,"The ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF")," MUST be located in the (root of the) ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopedir",title:"Scopedir: a directory in a computer file system that contains all files that are either being Curated within a particular Scope, or generated to serve some purpose within that Scope."},"scopedir"),", and is called ",(0,n.kt)("inlineCode",{parentName:"p"},"saf.yaml"),". It is to be created and maintained by the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curator",title:"Curator: {(noRefs glossaryText)}"},"curators")," of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),"."),(0,n.kt)("p",null,"This document specifies the structure of such ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAFs"),"."),(0,n.kt)("h2",{id:"scope-administration-file-field-descriptions"},"Scope Administration File Field Descriptions"),(0,n.kt)("p",null,"A ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF")," has three main parts:"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"The ",(0,n.kt)("strong",{parentName:"li"},(0,n.kt)("inlineCode",{parentName:"strong"},"scope"))," (singular) section defines meta-data concerning the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," itself, both for technical use and human use. It shows where directories and files live that ar part of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),", and also ways in which people can contribute, raise issues, see what's going on, discuss, etc."),(0,n.kt)("li",{parentName:"ol"},"The ",(0,n.kt)("strong",{parentName:"li"},(0,n.kt)("inlineCode",{parentName:"strong"},"scopes"))," (plural) section contains a mapping between ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopetag",title:"Scopetags: a Tag that is used to Identify Scopes from within a specific Scope"},"scopetags")," that are used within the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),", and the associated ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopedir",title:"Scopedirs: a directory in a computer file system that contains all files that are either being Curated within a particular Scope, or generated to serve some purpose within that Scope."},"scopedirs"),". This enables tools to find the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF")," of these ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scopes: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scopes"),", and from there all other directories, files etc. that live within them, e.g. to use/import their data."),(0,n.kt)("li",{parentName:"ol"},"The ",(0,n.kt)("strong",{parentName:"li"},(0,n.kt)("inlineCode",{parentName:"strong"},"versions"))," section specifies all versions of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology")," that are actively maintained by the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curator",title:"Curator: {(noRefs glossaryText)}"},"curators")," of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),", and for each of them, the set of ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Terms: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"terms")," that constitute this ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology"),".")),(0,n.kt)("p",null,"The following sections specify the fields for each of these parts."),(0,n.kt)("h3",{id:"terminology"},"SAF Terminology - Defining the Scope itself"),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Example of a `scope` section"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-yaml"},"#\n# This is a Scope Administration File that can be used in conjunction with TEv2.\n#\n# The first section defines meta-data concerning the scope itself, both for technical use and human use.\n# It shows where directories and files live that ar part of the scope, and also\n# ways in which people can contribute, raise issues, see what's going on, discuss, etc.\n#\nscope:\n scopetag: tev2 # identifier that curators have determined for this terminology\n scopedir: https://github.com/tno-terminology-design/tev2-specifications/tree/master/docs # URL of the scope-directory\n curatedir: terms # directory where all curated files are located. Full URL is `scopedir`/`curatedir`\n glossarydir: glossaries # directory where all glossary files and related stuff are located. Full URL is `scopedir`/`glossarydir`\n defaultvsn: latest # vsntag that identifies the default terminology. MRG is located at `scopedir`/`glossarydir`/mrg.`scopetag`.`defaultvsn`.yaml\n license: LICENSE.md # file that contains the (default) licensing conditions. Full URL is `scopedir`/`license`\n statuses: [ proposed, approved, deprecated ] # list of status tags that are defined for knowledge artifacts in this scope\n issues: https://github.com/tno-terminology-design/tev2-specifications/issues # URL where issues can be raised and handled\n website: https://tno-terminology-design.github.io/tev2-specifications/docs-overview # base URL for creating links to rendered versions of Curated Texts\n curators: # contacting individual curators\n - name: RieksJ\n email: # we split up the email address to reduce the likelihood of the address being harvested for spamming\n id: rieks.joosten\n at: tno.nl\n"))),(0,n.kt)("p",null,"The following fields are defined for the ",(0,n.kt)("inlineCode",{parentName:"p"},"scope")," section of a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"),":"),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Legend"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("strong",{parentName:"li"},(0,n.kt)("inlineCode",{parentName:"strong"},"Name"))," contains the field name;"),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("strong",{parentName:"li"},(0,n.kt)("inlineCode",{parentName:"strong"},"Req'd"))," specifies whether (",(0,n.kt)("inlineCode",{parentName:"li"},"Y"),") or not (",(0,n.kt)("inlineCode",{parentName:"li"},"n"),", or ",(0,n.kt)("inlineCode",{parentName:"li"},"F"),") the field is required to be present as a header field. The ",(0,n.kt)("inlineCode",{parentName:"li"},"F")," means that we reserve this field for Future Use."),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("strong",{parentName:"li"},(0,n.kt)("inlineCode",{parentName:"strong"},"Description"))," specifies the meaning of the field, and other things you may need to know, e.g. why it is needed, a required syntax, etc."))),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:"left"},"Name"),(0,n.kt)("th",{parentName:"tr",align:"center"},"Req'd"),(0,n.kt)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"scopetag")),(0,n.kt)("td",{parentName:"tr",align:"center"},"Y"),(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopetag",title:"Scopetag: a Tag that is used to Identify Scopes from within a specific Scope"},"Scopetag")," that ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curator",title:"Curator: {(noRefs glossaryText)}"},"curators")," of this scope have determined for this ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology"),". The associated ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopedir",title:"Scopedir: a directory in a computer file system that contains all files that are either being Curated within a particular Scope, or generated to serve some purpose within that Scope."},"scopedir")," is specified in the section ",(0,n.kt)("inlineCode",{parentName:"td"},"scopes"),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"scopedir")),(0,n.kt)("td",{parentName:"tr",align:"center"},"Y"),(0,n.kt)("td",{parentName:"tr",align:"left"},"URL of the location of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopedir",title:"Scopedir: a directory in a computer file system that contains all files that are either being Curated within a particular Scope, or generated to serve some purpose within that Scope."},"scopedir")," associated with the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopetag",title:"Scopetags: a Tag that is used to Identify Scopes from within a specific Scope"},"scopetags")," listed in the ",(0,n.kt)("inlineCode",{parentName:"td"},"scopetags")," field.")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"curatedir")),(0,n.kt)("td",{parentName:"tr",align:"center"},"Y"),(0,n.kt)("td",{parentName:"tr",align:"left"},"Path to the directory where all ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-files: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated files")," are located. This directory may contain subdirectories to allow ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curator",title:"Curator: {(noRefs glossaryText)}"},"curators")," to organize the files in any way they see fit. Full URL is ",(0,n.kt)("inlineCode",{parentName:"td"},""),"/",(0,n.kt)("inlineCode",{parentName:"td"},""),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"glossarydir")),(0,n.kt)("td",{parentName:"tr",align:"center"},"Y"),(0,n.kt)("td",{parentName:"tr",align:"left"},"Path to the directory where all ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/glossary",title:"Glossary: an alphabetically sorted list of Terms with the (single) meaning it has in (at least) one context."},"glossary"),"-related files are located. Full URL is ",(0,n.kt)("inlineCode",{parentName:"td"},""),"/",(0,n.kt)("inlineCode",{parentName:"td"},""),". This directory SHOULD contain one ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," for every element in the version-section in the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"),", and one or multiple ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/hrg",title:"Human Readable Glossary (HRG): a Glossary that is designed to be easily understandable and accessible to humans. HRGs present terms and their meanings in a format that prioritizes human comprehension and may include additional contextual information to aid understanding."},"HRGs"),". It MAY contain other files, e.g. containing instructions, headers, footers or other things that are necessary for generating specific ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/glossary",title:"Glossaries: an alphabetically sorted list of Terms with the (single) meaning it has in (at least) one context."},"glossaries"),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"website")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:"left"},"base URL for creating links to rendered versions of ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-texts: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"Curated Texts"),". It should also serve as the home page of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology"),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"navpath")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:"left"},"Path to the directory where ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-texts: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"Curated Texts")," are rendered. What ",(0,n.kt)("inlineCode",{parentName:"td"},"curatedir")," is for ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-texts: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"Curated Texts")," is, ",(0,n.kt)("inlineCode",{parentName:"td"},"navpath")," is for the rendered versions of ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-texts: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"Curated Texts"),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"defaultvsn")),(0,n.kt)("td",{parentName:"tr",align:"center"},"Y"),(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/versiontag",title:"Versiontag: a Tag that is used to Identify a specific version of a Terminology from within a specific Scope."},"versiontag")," that ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identifies: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identifies")," the default ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology")," for this ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),". The associated ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," is located at ",(0,n.kt)("inlineCode",{parentName:"td"},"scopedir"),"/",(0,n.kt)("inlineCode",{parentName:"td"},"glossarydir"),"/mrg.",(0,n.kt)("inlineCode",{parentName:"td"},"scopetag"),".",(0,n.kt)("inlineCode",{parentName:"td"},"defaultvsn"),".yaml")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"license")),(0,n.kt)("td",{parentName:"tr",align:"center"},"Y"),(0,n.kt)("td",{parentName:"tr",align:"left"},"File in the root of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopedir",title:"Scopedir: a directory in a computer file system that contains all files that are either being Curated within a particular Scope, or generated to serve some purpose within that Scope."},"scopedir")," that contains the (default) licensing data.")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"statuses")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:"left"},"Ordered list of ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/tag",title:"Tags: an alphanumeric string that is used to identify Scopes (so called 'scopetags'), group Terms (so called 'grouptags'), or identify a specific version of a Terminology (so called 'versiontags') from within a specific Scope."},"tags")," that are defined in this ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," for specifying stages in the life-cycle of ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/knowledge-artifact",title:"Knowledge-artifacts: something that can be thought of as existing in a particular Knowledge, e.g. a Concept, or a Mental Model."},"knowledge artifacts"),". The first element in the list represents the first stage, and the last element the last stage in the life-cycle.")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"issues")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:"left"},"URL where issues can be reported and handled.")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"curators")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:"left"},"Data that can be used to contact individual ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curator",title:"Curator: {(noRefs glossaryText)}"},"curators"),".")))),(0,n.kt)("admonition",{title:"Editor's note",type:"info"},(0,n.kt)("p",{parentName:"admonition"},"It might be more practical to move all of the stuff that is particular to this scope, but that is currently documented in the ",(0,n.kt)("inlineCode",{parentName:"p"},"scopes")," section, to this section. We do then need to check throughout the documentation where that section is referenced, and correct such references.")),(0,n.kt)("h3",{id:"scopes"},"SAF Scopes - Mapping Scopetags and Scopedirs"),(0,n.kt)("p",null,"The ",(0,n.kt)("inlineCode",{parentName:"p"},"scopetags")," section is a list that specifies a mapping between ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopetag",title:"Scopetags: a Tag that is used to Identify Scopes from within a specific Scope"},"scopetags")," as they are used in this ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),", and the associated ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopedir",title:"Scopedir: a directory in a computer file system that contains all files that are either being Curated within a particular Scope, or generated to serve some purpose within that Scope."},"scopedir"),"."),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Example of a `scopes` section"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-yaml"},'#\n# The second section contains a mapping between scopetags that are used within the scope, and the associated scopedirs.\n# This enables tools to find the SAF of these scopes, and from there all other directories, files etc.\n# that live within them, e.g. to use/import their data.\n#\nscopes: #\n- scopetag: [ essiflab ] # definition of (scope) tag(s) that are used within this scope to refer to a specific terminology\n scopedir: https://github.com/essif-lab/framework/tree/master/docs # URL of the scope-directory\n- scopetag: [ essif-lab ] # define another scopetag for the same scopedir (just because you can)\n scopedir: https://github.com/essif-lab/framework/tree/master/docs # URL of the scope-directory\n- scopetag: [ ctwg ] # definition of (scope)tag(s) that are used within this scope to refer to a specific terminology\n scopedir: https://github.com/trustoverip/ctwg # URL of the scope-directory\n'))),(0,n.kt)("p",null,"The following fields are defined for the ",(0,n.kt)("inlineCode",{parentName:"p"},"scopes")," section of a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"),":"),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Legend"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("strong",{parentName:"li"},(0,n.kt)("inlineCode",{parentName:"strong"},"Name"))," contains the field name;"),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("strong",{parentName:"li"},(0,n.kt)("inlineCode",{parentName:"strong"},"Req'd"))," specifies whether (",(0,n.kt)("inlineCode",{parentName:"li"},"Y"),") or not (",(0,n.kt)("inlineCode",{parentName:"li"},"n"),", or ",(0,n.kt)("inlineCode",{parentName:"li"},"F"),") the field is required to be present as a header field. The ",(0,n.kt)("inlineCode",{parentName:"li"},"F")," means that we reserve this field for Future Use."),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("strong",{parentName:"li"},(0,n.kt)("inlineCode",{parentName:"strong"},"Description"))," specifies the meaning of the field, and other things you may need to know, e.g. why it is needed, a required syntax, etc."))),(0,n.kt)("admonition",{title:"Editor's note",type:"info"},(0,n.kt)("p",{parentName:"admonition"},"It may be simpler to change the ",(0,n.kt)("inlineCode",{parentName:"p"},"scopetags"),"-field, which is currently a list of scopetags, into a ",(0,n.kt)("inlineCode",{parentName:"p"},"scopetag"),"-field, which would specifiy a single scopetag. This would encourage curators to use no more than one scopetag for each scope they refer to, but if they really wanted to, they could make multiple entries with different scopetags that refer to the same scopedir.")),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:"center"},"Req'd"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"scopetag")),(0,n.kt)("td",{parentName:"tr",align:"center"},"Y"),(0,n.kt)("td",{parentName:"tr",align:null},"A (single) ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopetag",title:"Scopetag: a Tag that is used to Identify Scopes from within a specific Scope"},"scopetag"),", that the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curator",title:"Curator: {(noRefs glossaryText)}"},"curator(s)")," of this ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," has decided to use to refer to (the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology")," of) a specific ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"scopedir")),(0,n.kt)("td",{parentName:"tr",align:"center"},"Y"),(0,n.kt)("td",{parentName:"tr",align:null},"URL of the associated ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopedir",title:"Scopedir: a directory in a computer file system that contains all files that are either being Curated within a particular Scope, or generated to serve some purpose within that Scope."},"scopedir"),".")))),(0,n.kt)("h3",{id:"versions"},"SAF Versions - Enabling changes and updates in a scope's Terminology"),(0,n.kt)("p",null,"The third section in the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF")," specifies the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology")," of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),", in multiple versions that are actively maintained by the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curator",title:"Curator: {(noRefs glossaryText)}"},"curators"),". For each version, the set of ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Terms: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"terms")," is selected that constitute that version's ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology"),". Also, additional data is provided regarding the state/validity of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology")," over time, which may of interest for the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curator",title:"Curator: {(noRefs glossaryText)}"},"curators")," of other scopes as they need to decide whether or not to import ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Terms: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"terms")," from such a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology"),"."),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Example of a `versions` section"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-yaml"},'#\n# The third section specifies the versions that are actively maintained by the curators.\n# For each version, the set of terms is selected that constitute the terminology.\n# See the Glossary Generation Tool (GGT) for details about the syntax and semantics.\n#\nversions:\n - vsntag: v0.9.4 # a versiontag that identifies this version from all other versions in the SAF\n altvsntags: # alternative verstiontags\n - latest\n - 0x921456\n termselcrit:\n - "tags[management]@essif-lab" # import all terms from the mrg of `essif-lab:latest` that have grouptag `management`.\n - "terms[party,community](@essif-lab:0.9.4)" # import the terms `party` and `community` from the mrg of `essif-lab:0.9.4`.\n - "*@tev2" # import all terms defined in the scope `tev2`\n status: proposed\n from: 20220312\n to:\n - vsntag: test # a versiontag that identifies this version from all other versions in the SAF\n altvsntags: # alternative verstiontags\n - 0x654129\n termselcrit:\n - "*@essif-lab" # import all terms defined in the scope `essif-lab`\n - "-tags[terminology]" # remove all terms tagged with the grouptag `terminology`\n - "*@tev2" # import all terms defined in the scope `tev2`\n'))),(0,n.kt)("p",null,"The following fields are defined for the ",(0,n.kt)("inlineCode",{parentName:"p"},"versions")," section of a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"),":"),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Legend"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("strong",{parentName:"li"},(0,n.kt)("inlineCode",{parentName:"strong"},"Name"))," contains the field name;"),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("strong",{parentName:"li"},(0,n.kt)("inlineCode",{parentName:"strong"},"Req'd"))," specifies whether (",(0,n.kt)("inlineCode",{parentName:"li"},"Y"),") or not (",(0,n.kt)("inlineCode",{parentName:"li"},"n"),", or ",(0,n.kt)("inlineCode",{parentName:"li"},"F"),") the field is required to be present as a header field. The ",(0,n.kt)("inlineCode",{parentName:"li"},"F")," means that we reserve this field for Future Use."),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("strong",{parentName:"li"},(0,n.kt)("inlineCode",{parentName:"strong"},"Description"))," specifies the meaning of the field, and other things you may need to know, e.g. why it is needed, a required syntax, etc."))),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:"center"},"Req'd"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"vsntag")),(0,n.kt)("td",{parentName:"tr",align:"center"},"Y"),(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/versiontag",title:"Versiontag: a Tag that is used to Identify a specific version of a Terminology from within a specific Scope."},"Versiontag")," that that is used to ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identify: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identify")," this version within the set of all other versions that are maintained within this ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),". in this ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"),". It MUST NOT be changed during the lifetime of this version.",(0,n.kt)("br",null),"Must satisfy regex ",(0,n.kt)("inlineCode",{parentName:"td"},"[a-z0-9_-\\.]+"),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"altvsntags")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:null},"List of alternative ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/versiontag",title:"Versiontags: a Tag that is used to Identify a specific version of a Terminology from within a specific Scope."},"versiontags")," that may be used to refer to this version of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scopes: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope's")," ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology"),". A typical use of this field would be to tag a version as the 'latest' version.",(0,n.kt)("br",null),"Must satisfy regex ",(0,n.kt)("inlineCode",{parentName:"td"},"[a-z0-9_-\\.]+"),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"license")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:null},"File that contains the (default) licensing conditions. Full URL is ",(0,n.kt)("inlineCode",{parentName:"td"},"scopedir"),"/",(0,n.kt)("inlineCode",{parentName:"td"},"license"),". If not specified, its value defaults to the value of the ",(0,n.kt)("inlineCode",{parentName:"td"},"license")," field in the ",(0,n.kt)("inlineCode",{parentName:"td"},"scope")," section (of this ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"),"). The purpose of this field is to allow different versions of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scopes: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope's")," ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology")," to have different licenses.")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"termselcrit")),(0,n.kt)("td",{parentName:"tr",align:"center"},"Y"),(0,n.kt)("td",{parentName:"tr",align:null},"List of ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-selection-criteria",title:"Term Selection Criteria: criteria that are used within a particular Scope for the selection of Terms that are part of a particular Terminology."},"term selection criteria")," that are used to generate (this version of) the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scopes: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope's")," ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology"),". See ",(0,n.kt)("a",{parentName:"td",href:"/docs/spec-tools/terminology-construction"},"Terminology Construction")," for details.")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"status")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:null},"Text that ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identifies: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identifies")," the status of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Term: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"term"),". (",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/@",title:"Error - the reference cannot be resolved."},"Communities")," of) ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scopes: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scopes")," may specify values for this field. If not specified, the status SHOULD be assumed to be 'concept', 'draft', 'proposed', or similar. An example is the ",(0,n.kt)("a",{parentName:"td",href:"https://github.com/trustoverip/concepts-and-terminology-wg/blob/master/docs/status-tags.md"},"status tags used by ToIP"),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"from")),(0,n.kt)("td",{parentName:"tr",align:"center"},"F"),(0,n.kt)("td",{parentName:"tr",align:null},"Date at which it was decided to establish this version.")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"to")),(0,n.kt)("td",{parentName:"tr",align:"center"},"F"),(0,n.kt)("td",{parentName:"tr",align:null},"Date at which this version will expire (or has expired).")))),(0,n.kt)("admonition",{title:"Editor's note",type:"info"},(0,n.kt)("p",{parentName:"admonition"},"The ",(0,n.kt)("inlineCode",{parentName:"p"},"from")," and ",(0,n.kt)("inlineCode",{parentName:"p"},"to")," dates have been included to (in future) enable one to refer to a specific version of the terminology that was valid at a particular date. This feature needs to be worked out, and will impact ",(0,n.kt)("a",{parentName:"p",href:"/docs/spec-tools/terminology-construction"},"terminology construction"),", ",(0,n.kt)("a",{parentName:"p",href:"/docs/spec-syntax/term-ref-syntax"},"TermRef specs"),", and various tools.")))}m.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunktev2_specifications=self.webpackChunktev2_specifications||[]).push([[812],{3905:function(e,t,i){i.d(t,{Zo:function(){return d},kt:function(){return m}});var a=i(7294);function o(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function n(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,a)}return i}function s(e){for(var t=1;t=0||(o[i]=e[i]);return o}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(o[i]=e[i])}return o}var c=a.createContext({}),l=function(e){var t=a.useContext(c),i=t;return e&&(i="function"==typeof e?e(t):s(s({},t),e)),i},d=function(e){var t=l(e.components);return a.createElement(c.Provider,{value:t},e.children)},h={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},p=a.forwardRef((function(e,t){var i=e.components,o=e.mdxType,n=e.originalType,c=e.parentName,d=r(e,["components","mdxType","originalType","parentName"]),p=l(i),m=o,f=p["".concat(c,".").concat(m)]||p[m]||h[m]||n;return i?a.createElement(f,s(s({ref:t},d),{},{components:i})):a.createElement(f,s({ref:t},d))}));function m(e,t){var i=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var n=i.length,s=new Array(n);s[0]=p;var r={};for(var c in t)hasOwnProperty.call(t,c)&&(r[c]=t[c]);r.originalType=e,r.mdxType="string"==typeof e?e:o,s[1]=r;for(var l=2;l child <"+("string"==typeof e.type?e.type:e.type.name)+'>: all children of the component should be , and every should have a unique "value" prop.')})))?void 0:i.filter(Boolean))?t:[]}(e).map((function(e){var t=e.props;return{value:t.value,label:t.label,attributes:t.attributes,default:t.default}}))}function p(e){var t=e.values,i=e.children;return(0,o.useMemo)((function(){var e=null!=t?t:h(i);return function(e){var t=(0,l.l)(e,(function(e,t){return e.value===t.value}));if(t.length>0)throw new Error('Docusaurus error: Duplicate values "'+t.map((function(e){return e.value})).join(", ")+'" found in . Every value needs to be unique.')}(e),e}),[t,i])}function m(e){var t=e.value;return e.tabValues.some((function(e){return e.value===t}))}function f(e){var t=e.queryString,i=void 0!==t&&t,a=e.groupId,n=(0,r.k6)(),s=function(e){var t=e.queryString,i=void 0!==t&&t,a=e.groupId;if("string"==typeof i)return i;if(!1===i)return null;if(!0===i&&!a)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return null!=a?a:null}({queryString:i,groupId:a});return[(0,c._X)(s),(0,o.useCallback)((function(e){if(s){var t=new URLSearchParams(n.location.search);t.set(s,e),n.replace(Object.assign({},n.location,{search:t.toString()}))}}),[s,n])]}function u(e){var t,i,a,n,s=e.defaultValue,r=e.queryString,c=void 0!==r&&r,l=e.groupId,h=p(e),u=(0,o.useState)((function(){return function(e){var t,i=e.defaultValue,a=e.tabValues;if(0===a.length)throw new Error("Docusaurus error: the component requires at least one children component");if(i){if(!m({value:i,tabValues:a}))throw new Error('Docusaurus error: The has a defaultValue "'+i+'" but none of its children has the corresponding value. Available values are: '+a.map((function(e){return e.value})).join(", ")+". If you intend to show no default tab, use defaultValue={null} instead.");return i}var o=null!=(t=a.find((function(e){return e.default})))?t:a[0];if(!o)throw new Error("Unexpected error: 0 tabValues");return o.value}({defaultValue:s,tabValues:h})})),g=u[0],y=u[1],v=f({queryString:c,groupId:l}),b=v[0],k=v[1],w=(t=function(e){return e?"docusaurus.tab."+e:null}({groupId:l}.groupId),i=(0,d.Nk)(t),a=i[0],n=i[1],[a,(0,o.useCallback)((function(e){t&&n.set(e)}),[t,n])]),S=w[0],N=w[1],C=function(){var e=null!=b?b:S;return m({value:e,tabValues:h})?e:null}();return(0,o.useLayoutEffect)((function(){C&&y(C)}),[C]),{selectedValue:g,selectValue:(0,o.useCallback)((function(e){if(!m({value:e,tabValues:h}))throw new Error("Can't select invalid tab value="+e);y(e),k(e),N(e)}),[k,N,h]),tabValues:h}}var g=i(2389),y="tabList__CuJ",v="tabItem_LNqP";function b(e){var t=e.className,i=e.block,r=e.selectedValue,c=e.selectValue,l=e.tabValues,d=[],h=(0,s.o5)().blockElementScrollPositionUntilNextRender,p=function(e){var t=e.currentTarget,i=d.indexOf(t),a=l[i].value;a!==r&&(h(t),c(a))},m=function(e){var t,i=null;switch(e.key){case"Enter":p(e);break;case"ArrowRight":var a,o=d.indexOf(e.currentTarget)+1;i=null!=(a=d[o])?a:d[0];break;case"ArrowLeft":var n,s=d.indexOf(e.currentTarget)-1;i=null!=(n=d[s])?n:d[d.length-1]}null==(t=i)||t.focus()};return o.createElement("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,n.Z)("tabs",{"tabs--block":i},t)},l.map((function(e){var t=e.value,i=e.label,s=e.attributes;return o.createElement("li",(0,a.Z)({role:"tab",tabIndex:r===t?0:-1,"aria-selected":r===t,key:t,ref:function(e){return d.push(e)},onKeyDown:m,onClick:p},s,{className:(0,n.Z)("tabs__item",v,null==s?void 0:s.className,{"tabs__item--active":r===t})}),null!=i?i:t)})))}function k(e){var t=e.lazy,i=e.children,a=e.selectedValue,n=(Array.isArray(i)?i:[i]).filter(Boolean);if(t){var s=n.find((function(e){return e.props.value===a}));return s?(0,o.cloneElement)(s,{className:"margin-top--md"}):null}return o.createElement("div",{className:"margin-top--md"},n.map((function(e,t){return(0,o.cloneElement)(e,{key:t,hidden:e.props.value!==a})})))}function w(e){var t=u(e);return o.createElement("div",{className:(0,n.Z)("tabs-container",y)},o.createElement(b,(0,a.Z)({},e,t)),o.createElement(k,(0,a.Z)({},e,t)))}function S(e){var t=(0,g.Z)();return o.createElement(w,(0,a.Z)({key:String(t)},e))}},1794:function(e,t,i){i.r(t),i.d(t,{assets:function(){return d},contentTitle:function(){return c},default:function(){return m},frontMatter:function(){return r},metadata:function(){return l},toc:function(){return h}});var a=i(7462),o=i(3366),n=(i(7294),i(3905)),s=(i(4996),i(4866),i(5162),["components"]),r={id:"saf",sidebar_label:"SAF (Scope Admin File)",date:20230103},c="Scope Administration File (SAF)",l={unversionedId:"spec-files/saf",id:"spec-files/saf",title:"Scope Administration File (SAF)",description:"The entire section on Terminology Engine v 2 (TEv2) is still under construction.",source:"@site/docs/spec-files/11-saf.md",sourceDirName:"spec-files",slug:"/spec-files/saf",permalink:"/tev2-specifications/docs/spec-files/saf",draft:!1,editUrl:"https://github.com/tno-terminology-design/tev2-specifications/blob/master/docs/spec-files/11-saf.md",tags:[],version:"current",lastUpdatedBy:"Ca5e",lastUpdatedAt:1694182104,formattedLastUpdatedAt:"Sep 8, 2023",sidebarPosition:11,frontMatter:{id:"saf",sidebar_label:"SAF (Scope Admin File)",date:20230103},sidebar:"tev2SideBar",previous:{title:"Curated Texts",permalink:"/tev2-specifications/docs/spec-files/ctext"},next:{title:"Profile Templates",permalink:"/tev2-specifications/docs/spec-files/profile-templates"}},d={},h=[{value:"Scope Administration File Field Descriptions",id:"scope-administration-file-field-descriptions",level:2},{value:"SAF Terminology - Defining the Scope itself",id:"terminology",level:3},{value:"SAF Scopes - Mapping Scopetags and Scopedirs",id:"scopes",level:3},{value:"SAF Versions - Enabling changes and updates in a scope's Terminology",id:"versions",level:3}],p={toc:h};function m(e){var t=e.components,i=(0,o.Z)(e,s);return(0,n.kt)("wrapper",(0,a.Z)({},p,i,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"scope-administration-file-saf"},"Scope Administration File (SAF)"),(0,n.kt)("admonition",{type:"caution"},(0,n.kt)("p",{parentName:"admonition"},"The entire section on Terminology Engine v 2 (TEv2) is still under construction.",(0,n.kt)("br",null),"\nAs TEv2 is not (yet) available, the texts that specify the tool are still 'raw', i.e. not yet processed.",(0,n.kt)("br",null),(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/reader",title:"Reader: a person that reads a text that is authored by another person (its Author]), and that tries to understand the meaning of this text in the way its Author intended."},"readers")," will need to see through some (currently unprocessed) notational conventions.")),(0,n.kt)("p",null,"Every ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," MUST have exactly one Scope Administration File or ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"),", i.e. a file contains whatever needs to be administered in the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),", and that various tools need to find e.g. the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scopes: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope's")," ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG"),", ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-texts: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated texts"),", ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopetag",title:"Scopetags: a Tag that is used to Identify Scopes from within a specific Scope"},"scopetags"),", etc."),(0,n.kt)("p",null,"The ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF")," MUST be located in the (root of the) ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopedir",title:"Scopedir: a directory in a computer file system that contains all files that are either being Curated within a particular Scope, or generated to serve some purpose within that Scope."},"scopedir"),", and is called ",(0,n.kt)("inlineCode",{parentName:"p"},"saf.yaml"),". It is to be created and maintained by the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curator",title:"Curator: {(noRefs glossaryText)}"},"curators")," of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),"."),(0,n.kt)("p",null,"This document specifies the structure of such ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAFs"),"."),(0,n.kt)("h2",{id:"scope-administration-file-field-descriptions"},"Scope Administration File Field Descriptions"),(0,n.kt)("p",null,"A ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF")," has three main parts:"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"The ",(0,n.kt)("strong",{parentName:"li"},(0,n.kt)("inlineCode",{parentName:"strong"},"scope"))," (singular) section defines meta-data concerning the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," itself, both for technical use and human use. It shows where directories and files live that ar part of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),", and also ways in which people can contribute, raise issues, see what's going on, discuss, etc."),(0,n.kt)("li",{parentName:"ol"},"The ",(0,n.kt)("strong",{parentName:"li"},(0,n.kt)("inlineCode",{parentName:"strong"},"scopes"))," (plural) section contains a mapping between ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopetag",title:"Scopetags: a Tag that is used to Identify Scopes from within a specific Scope"},"scopetags")," that are used within the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),", and the associated ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopedir",title:"Scopedirs: a directory in a computer file system that contains all files that are either being Curated within a particular Scope, or generated to serve some purpose within that Scope."},"scopedirs"),". This enables tools to find the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF")," of these ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scopes: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scopes"),", and from there all other directories, files etc. that live within them, e.g. to use/import their data."),(0,n.kt)("li",{parentName:"ol"},"The ",(0,n.kt)("strong",{parentName:"li"},(0,n.kt)("inlineCode",{parentName:"strong"},"versions"))," section specifies all versions of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology")," that are actively maintained by the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curator",title:"Curator: {(noRefs glossaryText)}"},"curators")," of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),", and for each of them, the set of ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Terms: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"terms")," that constitute this ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology"),".")),(0,n.kt)("p",null,"The following sections specify the fields for each of these parts."),(0,n.kt)("h3",{id:"terminology"},"SAF Terminology - Defining the Scope itself"),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Example of a `scope` section"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-yaml"},"#\n# This is a Scope Administration File that can be used in conjunction with TEv2.\n#\n# The first section defines meta-data concerning the scope itself, both for technical use and human use.\n# It shows where directories and files live that ar part of the scope, and also\n# ways in which people can contribute, raise issues, see what's going on, discuss, etc.\n#\nscope:\n scopetag: tev2 # identifier that curators have determined for this terminology\n scopedir: https://github.com/tno-terminology-design/tev2-specifications/tree/master/docs # URL of the scope-directory\n curatedir: terms # directory where all curated files are located. Full URL is `scopedir`/`curatedir`\n glossarydir: glossaries # directory where all glossary files and related stuff are located. Full URL is `scopedir`/`glossarydir`\n defaultvsn: latest # vsntag that identifies the default terminology. MRG is located at `scopedir`/`glossarydir`/mrg.`scopetag`.`defaultvsn`.yaml\n license: LICENSE.md # file that contains the (default) licensing conditions. Full URL is `scopedir`/`license`\n statuses: [ proposed, approved, deprecated ] # list of status tags that are defined for knowledge artifacts in this scope\n issues: https://github.com/tno-terminology-design/tev2-specifications/issues # URL where issues can be raised and handled\n website: https://tno-terminology-design.github.io/tev2-specifications/docs-overview # base URL for creating links to rendered versions of Curated Texts\n curators: # contacting individual curators\n - name: RieksJ\n email: # we split up the email address to reduce the likelihood of the address being harvested for spamming\n id: rieks.joosten\n at: tno.nl\n"))),(0,n.kt)("p",null,"The following fields are defined for the ",(0,n.kt)("inlineCode",{parentName:"p"},"scope")," section of a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"),":"),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Legend"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("strong",{parentName:"li"},(0,n.kt)("inlineCode",{parentName:"strong"},"Name"))," contains the field name;"),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("strong",{parentName:"li"},(0,n.kt)("inlineCode",{parentName:"strong"},"Req'd"))," specifies whether (",(0,n.kt)("inlineCode",{parentName:"li"},"Y"),") or not (",(0,n.kt)("inlineCode",{parentName:"li"},"n"),", or ",(0,n.kt)("inlineCode",{parentName:"li"},"F"),") the field is required to be present as a header field. The ",(0,n.kt)("inlineCode",{parentName:"li"},"F")," means that we reserve this field for Future Use."),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("strong",{parentName:"li"},(0,n.kt)("inlineCode",{parentName:"strong"},"Description"))," specifies the meaning of the field, and other things you may need to know, e.g. why it is needed, a required syntax, etc."))),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:"left"},"Name"),(0,n.kt)("th",{parentName:"tr",align:"center"},"Req'd"),(0,n.kt)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"scopetag")),(0,n.kt)("td",{parentName:"tr",align:"center"},"Y"),(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopetag",title:"Scopetag: a Tag that is used to Identify Scopes from within a specific Scope"},"Scopetag")," that ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curator",title:"Curator: {(noRefs glossaryText)}"},"curators")," of this scope have determined for this ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology"),". The associated ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopedir",title:"Scopedir: a directory in a computer file system that contains all files that are either being Curated within a particular Scope, or generated to serve some purpose within that Scope."},"scopedir")," is specified in the section ",(0,n.kt)("inlineCode",{parentName:"td"},"scopes"),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"scopedir")),(0,n.kt)("td",{parentName:"tr",align:"center"},"Y"),(0,n.kt)("td",{parentName:"tr",align:"left"},"URL of the location of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopedir",title:"Scopedir: a directory in a computer file system that contains all files that are either being Curated within a particular Scope, or generated to serve some purpose within that Scope."},"scopedir")," associated with the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopetag",title:"Scopetags: a Tag that is used to Identify Scopes from within a specific Scope"},"scopetags")," listed in the ",(0,n.kt)("inlineCode",{parentName:"td"},"scopetags")," field.")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"curatedir")),(0,n.kt)("td",{parentName:"tr",align:"center"},"Y"),(0,n.kt)("td",{parentName:"tr",align:"left"},"Path to the directory where all ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-files: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated files")," are located. This directory may contain subdirectories to allow ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curator",title:"Curator: {(noRefs glossaryText)}"},"curators")," to organize the files in any way they see fit. Full URL is ",(0,n.kt)("inlineCode",{parentName:"td"},""),"/",(0,n.kt)("inlineCode",{parentName:"td"},""),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"glossarydir")),(0,n.kt)("td",{parentName:"tr",align:"center"},"Y"),(0,n.kt)("td",{parentName:"tr",align:"left"},"Path to the directory where all ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/glossary",title:"Glossary: an alphabetically sorted list of Terms with the (single) meaning it has in (at least) one context."},"glossary"),"-related files are located. Full URL is ",(0,n.kt)("inlineCode",{parentName:"td"},""),"/",(0,n.kt)("inlineCode",{parentName:"td"},""),". This directory SHOULD contain one ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," for every element in the version-section in the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"),", and one or multiple ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/hrg",title:"Human Readable Glossary (HRG): a Glossary that is designed to be easily understandable and accessible to humans. HRGs present terms and their meanings in a format that prioritizes human comprehension and may include additional contextual information to aid understanding."},"HRGs"),". It MAY contain other files, e.g. containing instructions, headers, footers or other things that are necessary for generating specific ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/glossary",title:"Glossaries: an alphabetically sorted list of Terms with the (single) meaning it has in (at least) one context."},"glossaries"),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"website")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:"left"},"base URL for creating links to rendered versions of ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-texts: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"Curated Texts"),". It should also serve as the home page of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology"),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"navpath")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:"left"},"Path to the directory where ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-texts: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"Curated Texts")," are rendered. What ",(0,n.kt)("inlineCode",{parentName:"td"},"curatedir")," is for ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-texts: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"Curated Texts")," is, ",(0,n.kt)("inlineCode",{parentName:"td"},"navpath")," is for the rendered versions of ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-texts: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"Curated Texts"),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"defaultvsn")),(0,n.kt)("td",{parentName:"tr",align:"center"},"Y"),(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/versiontag",title:"Versiontag: a Tag that is used to Identify a specific version of a Terminology from within a specific Scope."},"versiontag")," that ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identifies: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identifies")," the default ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology")," for this ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),". The associated ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," is located at ",(0,n.kt)("inlineCode",{parentName:"td"},"scopedir"),"/",(0,n.kt)("inlineCode",{parentName:"td"},"glossarydir"),"/mrg.",(0,n.kt)("inlineCode",{parentName:"td"},"scopetag"),".",(0,n.kt)("inlineCode",{parentName:"td"},"defaultvsn"),".yaml")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"license")),(0,n.kt)("td",{parentName:"tr",align:"center"},"Y"),(0,n.kt)("td",{parentName:"tr",align:"left"},"File in the root of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopedir",title:"Scopedir: a directory in a computer file system that contains all files that are either being Curated within a particular Scope, or generated to serve some purpose within that Scope."},"scopedir")," that contains the (default) licensing data.")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"statuses")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:"left"},"Ordered list of ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/tag",title:"Tags: an alphanumeric string that is used to identify Scopes (so called 'scopetags'), group Terms (so called 'grouptags'), or identify a specific version of a Terminology (so called 'versiontags') from within a specific Scope."},"tags")," that are defined in this ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," for specifying stages in the life-cycle of ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/knowledge-artifact",title:"Knowledge-artifacts: something that can be thought of as existing in a particular Knowledge, e.g. a Concept, or a Mental Model."},"knowledge artifacts"),". The first element in the list represents the first stage, and the last element the last stage in the life-cycle.")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"issues")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:"left"},"URL where issues can be reported and handled.")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"curators")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:"left"},"Data that can be used to contact individual ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curator",title:"Curator: {(noRefs glossaryText)}"},"curators"),".")))),(0,n.kt)("admonition",{title:"Editor's note",type:"info"},(0,n.kt)("p",{parentName:"admonition"},"It might be more practical to move all of the stuff that is particular to this scope, but that is currently documented in the ",(0,n.kt)("inlineCode",{parentName:"p"},"scopes")," section, to this section. We do then need to check throughout the documentation where that section is referenced, and correct such references.")),(0,n.kt)("h3",{id:"scopes"},"SAF Scopes - Mapping Scopetags and Scopedirs"),(0,n.kt)("p",null,"The ",(0,n.kt)("inlineCode",{parentName:"p"},"scopetags")," section is a list that specifies a mapping between ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopetag",title:"Scopetags: a Tag that is used to Identify Scopes from within a specific Scope"},"scopetags")," as they are used in this ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),", and the associated ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopedir",title:"Scopedir: a directory in a computer file system that contains all files that are either being Curated within a particular Scope, or generated to serve some purpose within that Scope."},"scopedir"),"."),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Example of a `scopes` section"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-yaml"},'#\n# The second section contains a mapping between scopetags that are used within the scope, and the associated scopedirs.\n# This enables tools to find the SAF of these scopes, and from there all other directories, files etc.\n# that live within them, e.g. to use/import their data.\n#\nscopes: #\n- scopetag: [ essiflab ] # definition of (scope) tag(s) that are used within this scope to refer to a specific terminology\n scopedir: https://github.com/essif-lab/framework/tree/master/docs # URL of the scope-directory\n- scopetag: [ essif-lab ] # define another scopetag for the same scopedir (just because you can)\n scopedir: https://github.com/essif-lab/framework/tree/master/docs # URL of the scope-directory\n- scopetag: [ ctwg ] # definition of (scope)tag(s) that are used within this scope to refer to a specific terminology\n scopedir: https://github.com/trustoverip/ctwg # URL of the scope-directory\n'))),(0,n.kt)("p",null,"The following fields are defined for the ",(0,n.kt)("inlineCode",{parentName:"p"},"scopes")," section of a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"),":"),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Legend"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("strong",{parentName:"li"},(0,n.kt)("inlineCode",{parentName:"strong"},"Name"))," contains the field name;"),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("strong",{parentName:"li"},(0,n.kt)("inlineCode",{parentName:"strong"},"Req'd"))," specifies whether (",(0,n.kt)("inlineCode",{parentName:"li"},"Y"),") or not (",(0,n.kt)("inlineCode",{parentName:"li"},"n"),", or ",(0,n.kt)("inlineCode",{parentName:"li"},"F"),") the field is required to be present as a header field. The ",(0,n.kt)("inlineCode",{parentName:"li"},"F")," means that we reserve this field for Future Use."),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("strong",{parentName:"li"},(0,n.kt)("inlineCode",{parentName:"strong"},"Description"))," specifies the meaning of the field, and other things you may need to know, e.g. why it is needed, a required syntax, etc."))),(0,n.kt)("admonition",{title:"Editor's note",type:"info"},(0,n.kt)("p",{parentName:"admonition"},"It may be simpler to change the ",(0,n.kt)("inlineCode",{parentName:"p"},"scopetags"),"-field, which is currently a list of scopetags, into a ",(0,n.kt)("inlineCode",{parentName:"p"},"scopetag"),"-field, which would specifiy a single scopetag. This would encourage curators to use no more than one scopetag for each scope they refer to, but if they really wanted to, they could make multiple entries with different scopetags that refer to the same scopedir.")),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:"center"},"Req'd"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"scopetag")),(0,n.kt)("td",{parentName:"tr",align:"center"},"Y"),(0,n.kt)("td",{parentName:"tr",align:null},"A (single) ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopetag",title:"Scopetag: a Tag that is used to Identify Scopes from within a specific Scope"},"scopetag"),", that the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curator",title:"Curator: {(noRefs glossaryText)}"},"curator(s)")," of this ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," has decided to use to refer to (the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology")," of) a specific ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"scopedir")),(0,n.kt)("td",{parentName:"tr",align:"center"},"Y"),(0,n.kt)("td",{parentName:"tr",align:null},"URL of the associated ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopedir",title:"Scopedir: a directory in a computer file system that contains all files that are either being Curated within a particular Scope, or generated to serve some purpose within that Scope."},"scopedir"),".")))),(0,n.kt)("h3",{id:"versions"},"SAF Versions - Enabling changes and updates in a scope's Terminology"),(0,n.kt)("p",null,"The third section in the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF")," specifies the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology")," of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),", in multiple versions that are actively maintained by the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curator",title:"Curator: {(noRefs glossaryText)}"},"curators"),". For each version, the set of ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Terms: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"terms")," is selected that constitute that version's ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology"),". Also, additional data is provided regarding the state/validity of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology")," over time, which may of interest for the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curator",title:"Curator: {(noRefs glossaryText)}"},"curators")," of other scopes as they need to decide whether or not to import ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Terms: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"terms")," from such a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology"),"."),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Example of a `versions` section"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-yaml"},'#\n# The third section specifies the versions that are actively maintained by the curators.\n# For each version, the set of terms is selected that constitute the terminology.\n# See the Glossary Generation Tool (GGT) for details about the syntax and semantics.\n#\nversions:\n - vsntag: v0.9.4 # a versiontag that identifies this version from all other versions in the SAF\n altvsntags: # alternative verstiontags\n - latest\n - 0x921456\n termselcrit:\n - "tags[management]@essif-lab" # import all terms from the mrg of `essif-lab:latest` that have grouptag `management`.\n - "terms[party,community](@essif-lab:0.9.4)" # import the terms `party` and `community` from the mrg of `essif-lab:0.9.4`.\n - "*@tev2" # import all terms defined in the scope `tev2`\n status: proposed\n from: 20220312\n to:\n - vsntag: test # a versiontag that identifies this version from all other versions in the SAF\n altvsntags: # alternative verstiontags\n - 0x654129\n termselcrit:\n - "*@essif-lab" # import all terms defined in the scope `essif-lab`\n - "-tags[terminology]" # remove all terms tagged with the grouptag `terminology`\n - "*@tev2" # import all terms defined in the scope `tev2`\n'))),(0,n.kt)("p",null,"The following fields are defined for the ",(0,n.kt)("inlineCode",{parentName:"p"},"versions")," section of a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"),":"),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Legend"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("strong",{parentName:"li"},(0,n.kt)("inlineCode",{parentName:"strong"},"Name"))," contains the field name;"),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("strong",{parentName:"li"},(0,n.kt)("inlineCode",{parentName:"strong"},"Req'd"))," specifies whether (",(0,n.kt)("inlineCode",{parentName:"li"},"Y"),") or not (",(0,n.kt)("inlineCode",{parentName:"li"},"n"),", or ",(0,n.kt)("inlineCode",{parentName:"li"},"F"),") the field is required to be present as a header field. The ",(0,n.kt)("inlineCode",{parentName:"li"},"F")," means that we reserve this field for Future Use."),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("strong",{parentName:"li"},(0,n.kt)("inlineCode",{parentName:"strong"},"Description"))," specifies the meaning of the field, and other things you may need to know, e.g. why it is needed, a required syntax, etc."))),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:"center"},"Req'd"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"vsntag")),(0,n.kt)("td",{parentName:"tr",align:"center"},"Y"),(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/versiontag",title:"Versiontag: a Tag that is used to Identify a specific version of a Terminology from within a specific Scope."},"Versiontag")," that that is used to ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identify: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identify")," this version within the set of all other versions that are maintained within this ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),". in this ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"),". It MUST NOT be changed during the lifetime of this version.",(0,n.kt)("br",null),"Must satisfy regex ",(0,n.kt)("inlineCode",{parentName:"td"},"[a-z0-9_-\\.]+"),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"altvsntags")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:null},"List of alternative ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/versiontag",title:"Versiontags: a Tag that is used to Identify a specific version of a Terminology from within a specific Scope."},"versiontags")," that may be used to refer to this version of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scopes: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope's")," ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology"),". A typical use of this field would be to tag a version as the 'latest' version.",(0,n.kt)("br",null),"Must satisfy regex ",(0,n.kt)("inlineCode",{parentName:"td"},"[a-z0-9_-\\.]+"),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"license")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:null},"File that contains the (default) licensing conditions. Full URL is ",(0,n.kt)("inlineCode",{parentName:"td"},"scopedir"),"/",(0,n.kt)("inlineCode",{parentName:"td"},"license"),". If not specified, its value defaults to the value of the ",(0,n.kt)("inlineCode",{parentName:"td"},"license")," field in the ",(0,n.kt)("inlineCode",{parentName:"td"},"scope")," section (of this ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"),"). The purpose of this field is to allow different versions of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scopes: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope's")," ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology")," to have different licenses.")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"termselcrit")),(0,n.kt)("td",{parentName:"tr",align:"center"},"Y"),(0,n.kt)("td",{parentName:"tr",align:null},"List of ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-selection-criteria",title:"Term Selection Criteria: criteria that are used within a particular Scope for the selection of Terms that are part of a particular Terminology."},"term selection criteria")," that are used to generate (this version of) the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scopes: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope's")," ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology"),". See ",(0,n.kt)("a",{parentName:"td",href:"/docs/spec-tools/terminology-construction"},"Terminology Construction")," for details.")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"status")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:null},"Text that ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identifies: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identifies")," the status of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Term: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"term"),". (",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/@",title:"Error - the reference cannot be resolved."},"Communities")," of) ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scopes: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scopes")," may specify values for this field. If not specified, the status SHOULD be assumed to be 'concept', 'draft', 'proposed', or similar. An example is the ",(0,n.kt)("a",{parentName:"td",href:"https://github.com/trustoverip/concepts-and-terminology-wg/blob/master/docs/status-tags.md"},"status tags used by ToIP"),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"from")),(0,n.kt)("td",{parentName:"tr",align:"center"},"F"),(0,n.kt)("td",{parentName:"tr",align:null},"Date at which it was decided to establish this version.")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"to")),(0,n.kt)("td",{parentName:"tr",align:"center"},"F"),(0,n.kt)("td",{parentName:"tr",align:null},"Date at which this version will expire (or has expired).")))),(0,n.kt)("admonition",{title:"Editor's note",type:"info"},(0,n.kt)("p",{parentName:"admonition"},"The ",(0,n.kt)("inlineCode",{parentName:"p"},"from")," and ",(0,n.kt)("inlineCode",{parentName:"p"},"to")," dates have been included to (in future) enable one to refer to a specific version of the terminology that was valid at a particular date. This feature needs to be worked out, and will impact ",(0,n.kt)("a",{parentName:"p",href:"/docs/spec-tools/terminology-construction"},"terminology construction"),", ",(0,n.kt)("a",{parentName:"p",href:"/docs/spec-syntax/term-ref-syntax"},"TermRef specs"),", and various tools.")))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/0fbf73e8.b1b3bfa2.js b/assets/js/0fbf73e8.7ec5a224.js similarity index 99% rename from assets/js/0fbf73e8.b1b3bfa2.js rename to assets/js/0fbf73e8.7ec5a224.js index ae4137080f..50d3383d14 100644 --- a/assets/js/0fbf73e8.b1b3bfa2.js +++ b/assets/js/0fbf73e8.7ec5a224.js @@ -1 +1 @@ -"use strict";(self.webpackChunktev2_specifications=self.webpackChunktev2_specifications||[]).push([[9446],{3905:function(e,t,i){i.d(t,{Zo:function(){return l},kt:function(){return m}});var o=i(7294);function n(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function s(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,o)}return i}function a(e){for(var t=1;t=0||(n[i]=e[i]);return n}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(n[i]=e[i])}return n}var c=o.createContext({}),h=function(e){var t=o.useContext(c),i=t;return e&&(i="function"==typeof e?e(t):a(a({},t),e)),i},l=function(e){var t=h(e.components);return o.createElement(c.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},d=o.forwardRef((function(e,t){var i=e.components,n=e.mdxType,s=e.originalType,c=e.parentName,l=r(e,["components","mdxType","originalType","parentName"]),d=h(i),m=n,f=d["".concat(c,".").concat(m)]||d[m]||p[m]||s;return i?o.createElement(f,a(a({ref:t},l),{},{components:i})):o.createElement(f,a({ref:t},l))}));function m(e,t){var i=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var s=i.length,a=new Array(s);a[0]=d;var r={};for(var c in t)hasOwnProperty.call(t,c)&&(r[c]=t[c]);r.originalType=e,r.mdxType="string"==typeof e?e:n,a[1]=r;for(var h=2;h=0||(n[i]=e[i]);return n}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(n[i]=e[i])}return n}var c=o.createContext({}),h=function(e){var t=o.useContext(c),i=t;return e&&(i="function"==typeof e?e(t):a(a({},t),e)),i},l=function(e){var t=h(e.components);return o.createElement(c.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},d=o.forwardRef((function(e,t){var i=e.components,n=e.mdxType,s=e.originalType,c=e.parentName,l=r(e,["components","mdxType","originalType","parentName"]),d=h(i),m=n,f=d["".concat(c,".").concat(m)]||d[m]||p[m]||s;return i?o.createElement(f,a(a({ref:t},l),{},{components:i})):o.createElement(f,a({ref:t},l))}));function m(e,t){var i=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var s=i.length,a=new Array(s);a[0]=d;var r={};for(var c in t)hasOwnProperty.call(t,c)&&(r[c]=t[c]);r.originalType=e,r.mdxType="string"==typeof e?e:n,a[1]=r;for(var h=2;h=0||(n[o]=e[o]);return n}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(n[o]=e[o])}return n}var l=i.createContext({}),p=function(e){var t=i.useContext(l),o=t;return e&&(o="function"==typeof e?e(t):a(a({},t),e)),o},c=function(e){var t=p(e.components);return i.createElement(l.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},u=i.forwardRef((function(e,t){var o=e.components,n=e.mdxType,r=e.originalType,l=e.parentName,c=s(e,["components","mdxType","originalType","parentName"]),u=p(o),h=n,m=u["".concat(l,".").concat(h)]||u[h]||d[h]||r;return o?i.createElement(m,a(a({ref:t},c),{},{components:o})):i.createElement(m,a({ref:t},c))}));function h(e,t){var o=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var r=o.length,a=new Array(r);a[0]=u;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s.mdxType="string"==typeof e?e:n,a[1]=s;for(var p=2;p")," ",(0,r.kt)("inlineCode",{parentName:"p"},"tno")," ",(0,r.kt)("inlineCode",{parentName:"p"},".")," ",(0,r.kt)("inlineCode",{parentName:"p"},"nl"),", or attend a ",(0,r.kt)("a",{parentName:"p",href:"https://wiki.trustoverip.org/display/HOME/CTWG+Meeting+Pages"},"ToIP CTWG meeting"),", where you express your interest and/or questions, and we'll take it from there."))}h.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunktev2_specifications=self.webpackChunktev2_specifications||[]).push([[1536],{3905:function(e,t,o){o.d(t,{Zo:function(){return c},kt:function(){return h}});var i=o(7294);function n(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function r(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,i)}return o}function a(e){for(var t=1;t=0||(n[o]=e[o]);return n}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(n[o]=e[o])}return n}var l=i.createContext({}),p=function(e){var t=i.useContext(l),o=t;return e&&(o="function"==typeof e?e(t):a(a({},t),e)),o},c=function(e){var t=p(e.components);return i.createElement(l.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},u=i.forwardRef((function(e,t){var o=e.components,n=e.mdxType,r=e.originalType,l=e.parentName,c=s(e,["components","mdxType","originalType","parentName"]),u=p(o),h=n,m=u["".concat(l,".").concat(h)]||u[h]||d[h]||r;return o?i.createElement(m,a(a({ref:t},c),{},{components:o})):i.createElement(m,a({ref:t},c))}));function h(e,t){var o=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var r=o.length,a=new Array(r);a[0]=u;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s.mdxType="string"==typeof e?e:n,a[1]=s;for(var p=2;p")," ",(0,r.kt)("inlineCode",{parentName:"p"},"tno")," ",(0,r.kt)("inlineCode",{parentName:"p"},".")," ",(0,r.kt)("inlineCode",{parentName:"p"},"nl"),", or attend a ",(0,r.kt)("a",{parentName:"p",href:"https://wiki.trustoverip.org/display/HOME/CTWG+Meeting+Pages"},"ToIP CTWG meeting"),", where you express your interest and/or questions, and we'll take it from there."))}h.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/156e271d.4c4814a3.js b/assets/js/156e271d.495a9d99.js similarity index 99% rename from assets/js/156e271d.4c4814a3.js rename to assets/js/156e271d.495a9d99.js index 3b1e1a80c6..530bc16992 100644 --- a/assets/js/156e271d.4c4814a3.js +++ b/assets/js/156e271d.495a9d99.js @@ -1 +1 @@ -"use strict";(self.webpackChunktev2_specifications=self.webpackChunktev2_specifications||[]).push([[7082],{3905:function(e,t,o){o.d(t,{Zo:function(){return l},kt:function(){return m}});var i=o(7294);function n(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function s(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,i)}return o}function r(e){for(var t=1;t=0||(n[o]=e[o]);return n}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(n[o]=e[o])}return n}var c=i.createContext({}),h=function(e){var t=i.useContext(c),o=t;return e&&(o="function"==typeof e?e(t):r(r({},t),e)),o},l=function(e){var t=h(e.components);return i.createElement(c.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},p=i.forwardRef((function(e,t){var o=e.components,n=e.mdxType,s=e.originalType,c=e.parentName,l=a(e,["components","mdxType","originalType","parentName"]),p=h(o),m=n,f=p["".concat(c,".").concat(m)]||p[m]||d[m]||s;return o?i.createElement(f,r(r({ref:t},l),{},{components:o})):i.createElement(f,r({ref:t},l))}));function m(e,t){var o=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var s=o.length,r=new Array(s);r[0]=p;var a={};for(var c in t)hasOwnProperty.call(t,c)&&(a[c]=t[c]);a.originalType=e,a.mdxType="string"==typeof e?e:n,r[1]=a;for(var h=2;h=0||(n[o]=e[o]);return n}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(n[o]=e[o])}return n}var c=i.createContext({}),h=function(e){var t=i.useContext(c),o=t;return e&&(o="function"==typeof e?e(t):r(r({},t),e)),o},l=function(e){var t=h(e.components);return i.createElement(c.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},p=i.forwardRef((function(e,t){var o=e.components,n=e.mdxType,s=e.originalType,c=e.parentName,l=a(e,["components","mdxType","originalType","parentName"]),p=h(o),m=n,f=p["".concat(c,".").concat(m)]||p[m]||d[m]||s;return o?i.createElement(f,r(r({ref:t},l),{},{components:o})):i.createElement(f,r({ref:t},l))}));function m(e,t){var o=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var s=o.length,r=new Array(s);r[0]=p;var a={};for(var c in t)hasOwnProperty.call(t,c)&&(a[c]=t[c]);a.originalType=e,a.mdxType="string"==typeof e?e:n,r[1]=a;for(var h=2;h=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var c=r.createContext({}),l=function(e){var t=r.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},d=function(e){var t=l(e.components);return r.createElement(c.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},p=r.forwardRef((function(e,t){var n=e.components,i=e.mdxType,a=e.originalType,c=e.parentName,d=s(e,["components","mdxType","originalType","parentName"]),p=l(n),h=i,u=p["".concat(c,".").concat(h)]||p[h]||m[h]||a;return n?r.createElement(u,o(o({ref:t},d),{},{components:n})):r.createElement(u,o({ref:t},d))}));function h(e,t){var n=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var a=n.length,o=new Array(a);o[0]=p;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s.mdxType="string"==typeof e?e:i,o[1]=s;for(var l=2;l=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var c=r.createContext({}),l=function(e){var t=r.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},d=function(e){var t=l(e.components);return r.createElement(c.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},p=r.forwardRef((function(e,t){var n=e.components,i=e.mdxType,a=e.originalType,c=e.parentName,d=s(e,["components","mdxType","originalType","parentName"]),p=l(n),h=i,u=p["".concat(c,".").concat(h)]||p[h]||m[h]||a;return n?r.createElement(u,o(o({ref:t},d),{},{components:n})):r.createElement(u,o({ref:t},d))}));function h(e,t){var n=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var a=n.length,o=new Array(a);o[0]=p;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s.mdxType="string"==typeof e?e:i,o[1]=s;for(var l=2;l=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var c=o.createContext({}),l=function(e){var t=o.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):a(a({},t),e)),n},d=function(e){var t=l(e.components);return o.createElement(c.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},u=o.forwardRef((function(e,t){var n=e.components,i=e.mdxType,r=e.originalType,c=e.parentName,d=s(e,["components","mdxType","originalType","parentName"]),u=l(n),m=i,h=u["".concat(c,".").concat(m)]||u[m]||p[m]||r;return n?o.createElement(h,a(a({ref:t},d),{},{components:n})):o.createElement(h,a({ref:t},d))}));function m(e,t){var n=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var r=n.length,a=new Array(r);a[0]=u;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s.mdxType="string"==typeof e?e:i,a[1]=s;for(var l=2;l=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var c=o.createContext({}),l=function(e){var t=o.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):a(a({},t),e)),n},d=function(e){var t=l(e.components);return o.createElement(c.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},u=o.forwardRef((function(e,t){var n=e.components,i=e.mdxType,r=e.originalType,c=e.parentName,d=s(e,["components","mdxType","originalType","parentName"]),u=l(n),m=i,h=u["".concat(c,".").concat(m)]||u[m]||p[m]||r;return n?o.createElement(h,a(a({ref:t},d),{},{components:n})):o.createElement(h,a({ref:t},d))}));function m(e,t){var n=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var r=n.length,a=new Array(r);a[0]=u;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s.mdxType="string"==typeof e?e:i,a[1]=s;for(var l=2;l=0||(r[a]=t[a]);return r}(t,e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,a)&&(r[a]=t[a])}return r}var c=n.createContext({}),h=function(t){var e=n.useContext(c),a=e;return t&&(a="function"==typeof t?t(e):i(i({},e),t)),a},d=function(t){var e=h(t.components);return n.createElement(c.Provider,{value:e},t.children)},l={inlineCode:"code",wrapper:function(t){var e=t.children;return n.createElement(n.Fragment,{},e)}},u=n.forwardRef((function(t,e){var a=t.components,r=t.mdxType,o=t.originalType,c=t.parentName,d=s(t,["components","mdxType","originalType","parentName"]),u=h(a),p=r,f=u["".concat(c,".").concat(p)]||u[p]||l[p]||o;return a?n.createElement(f,i(i({ref:e},d),{},{components:a})):n.createElement(f,i({ref:e},d))}));function p(t,e){var a=arguments,r=e&&e.mdxType;if("string"==typeof t||r){var o=a.length,i=new Array(o);i[0]=u;var s={};for(var c in e)hasOwnProperty.call(e,c)&&(s[c]=e[c]);s.originalType=t,s.mdxType="string"==typeof t?t:r,i[1]=s;for(var h=2;hconcept or other knowledge artifact of a specific community or other party, and is located within a scope that is owned by that community/party.\nsynonymOf:\ngrouptags:\nformPhrases: curated-text{ss}, ctext{ss}\n# Curation status\nstatus: proposed\ncreated: 2022-06-02\nupdated: 2022-08-04\n# Origins/Acknowledgements\ncontributors: RieksJ\nattribution: "[eSSIF-Lab](https://essif-lab.github.io/framework)"\noriginalLicense: "[CC BY-SA 4.0](http://creativecommons.org/licenses/by-sa/4.0/?ref=chooser-v1)"\n---\n\n# Curated Text\nA curated text starts with three dashes `---`.\nThis indicates the start of its (YAML) header.\nTypically, the header consists of a sequence of key-value pairs.\nThe header is terminated with onother three dashes and a new line.\n\nThe body of the curated text starts behind the header block.\nIt is typically markdown, but other constructs may be inserted\nthat contribute to the rendering of these texts in a (static) website.\nAn example of this is [MDX](https://mdxjs.com/).\nA discussion on these other constructs is outside the scope of this document.\n')))),(0,o.kt)("h2",{id:"notes"},"Notes"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"The header is crucial for categorizing and managing curated texts, enabling efficient retrieval and navigation of relevant information."),(0,o.kt)("li",{parentName:"ul"},"The information within the header ensures consistency and accuracy in the curation process.")))}p.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunktev2_specifications=self.webpackChunktev2_specifications||[]).push([[9901],{3905:function(t,e,a){a.d(e,{Zo:function(){return d},kt:function(){return p}});var n=a(7294);function r(t,e,a){return e in t?Object.defineProperty(t,e,{value:a,enumerable:!0,configurable:!0,writable:!0}):t[e]=a,t}function o(t,e){var a=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),a.push.apply(a,n)}return a}function i(t){for(var e=1;e=0||(r[a]=t[a]);return r}(t,e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,a)&&(r[a]=t[a])}return r}var c=n.createContext({}),h=function(t){var e=n.useContext(c),a=e;return t&&(a="function"==typeof t?t(e):i(i({},e),t)),a},d=function(t){var e=h(t.components);return n.createElement(c.Provider,{value:e},t.children)},l={inlineCode:"code",wrapper:function(t){var e=t.children;return n.createElement(n.Fragment,{},e)}},u=n.forwardRef((function(t,e){var a=t.components,r=t.mdxType,o=t.originalType,c=t.parentName,d=s(t,["components","mdxType","originalType","parentName"]),u=h(a),p=r,f=u["".concat(c,".").concat(p)]||u[p]||l[p]||o;return a?n.createElement(f,i(i({ref:e},d),{},{components:a})):n.createElement(f,i({ref:e},d))}));function p(t,e){var a=arguments,r=e&&e.mdxType;if("string"==typeof t||r){var o=a.length,i=new Array(o);i[0]=u;var s={};for(var c in e)hasOwnProperty.call(e,c)&&(s[c]=e[c]);s.originalType=t,s.mdxType="string"==typeof t?t:r,i[1]=s;for(var h=2;hconcept or other knowledge artifact of a specific community or other party, and is located within a scope that is owned by that community/party.\nsynonymOf:\ngrouptags:\nformPhrases: curated-text{ss}, ctext{ss}\n# Curation status\nstatus: proposed\ncreated: 2022-06-02\nupdated: 2022-08-04\n# Origins/Acknowledgements\ncontributors: RieksJ\nattribution: "[eSSIF-Lab](https://essif-lab.github.io/framework)"\noriginalLicense: "[CC BY-SA 4.0](http://creativecommons.org/licenses/by-sa/4.0/?ref=chooser-v1)"\n---\n\n# Curated Text\nA curated text starts with three dashes `---`.\nThis indicates the start of its (YAML) header.\nTypically, the header consists of a sequence of key-value pairs.\nThe header is terminated with onother three dashes and a new line.\n\nThe body of the curated text starts behind the header block.\nIt is typically markdown, but other constructs may be inserted\nthat contribute to the rendering of these texts in a (static) website.\nAn example of this is [MDX](https://mdxjs.com/).\nA discussion on these other constructs is outside the scope of this document.\n')))),(0,o.kt)("h2",{id:"notes"},"Notes"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"The header is crucial for categorizing and managing curated texts, enabling efficient retrieval and navigation of relevant information."),(0,o.kt)("li",{parentName:"ul"},"The information within the header ensures consistency and accuracy in the curation process.")))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/205d9948.b0452e40.js b/assets/js/205d9948.f842ebb6.js similarity index 99% rename from assets/js/205d9948.b0452e40.js rename to assets/js/205d9948.f842ebb6.js index 52862c4c5a..68b9b1158f 100644 --- a/assets/js/205d9948.b0452e40.js +++ b/assets/js/205d9948.f842ebb6.js @@ -1 +1 @@ -"use strict";(self.webpackChunktev2_specifications=self.webpackChunktev2_specifications||[]).push([[7523],{3905:function(t,e,i){i.d(e,{Zo:function(){return h},kt:function(){return f}});var a=i(7294);function o(t,e,i){return e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}function n(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,a)}return i}function s(t){for(var e=1;e=0||(o[i]=t[i]);return o}(t,e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(t,i)&&(o[i]=t[i])}return o}var c=a.createContext({}),l=function(t){var e=a.useContext(c),i=e;return t&&(i="function"==typeof t?t(e):s(s({},e),t)),i},h=function(t){var e=l(t.components);return a.createElement(c.Provider,{value:e},t.children)},d={inlineCode:"code",wrapper:function(t){var e=t.children;return a.createElement(a.Fragment,{},e)}},p=a.forwardRef((function(t,e){var i=t.components,o=t.mdxType,n=t.originalType,c=t.parentName,h=r(t,["components","mdxType","originalType","parentName"]),p=l(i),f=o,m=p["".concat(c,".").concat(f)]||p[f]||d[f]||n;return i?a.createElement(m,s(s({ref:e},h),{},{components:i})):a.createElement(m,s({ref:e},h))}));function f(t,e){var i=arguments,o=e&&e.mdxType;if("string"==typeof t||o){var n=i.length,s=new Array(n);s[0]=p;var r={};for(var c in e)hasOwnProperty.call(e,c)&&(r[c]=e[c]);r.originalType=t,r.mdxType="string"==typeof t?t:o,s[1]=r;for(var l=2;l child <"+("string"==typeof t.type?t.type:t.type.name)+'>: all children of the component should be , and every should have a unique "value" prop.')})))?void 0:i.filter(Boolean))?e:[]}(t).map((function(t){var e=t.props;return{value:e.value,label:e.label,attributes:e.attributes,default:e.default}}))}function p(t){var e=t.values,i=t.children;return(0,o.useMemo)((function(){var t=null!=e?e:d(i);return function(t){var e=(0,l.l)(t,(function(t,e){return t.value===e.value}));if(e.length>0)throw new Error('Docusaurus error: Duplicate values "'+e.map((function(t){return t.value})).join(", ")+'" found in . Every value needs to be unique.')}(t),t}),[e,i])}function f(t){var e=t.value;return t.tabValues.some((function(t){return t.value===e}))}function m(t){var e=t.queryString,i=void 0!==e&&e,a=t.groupId,n=(0,r.k6)(),s=function(t){var e=t.queryString,i=void 0!==e&&e,a=t.groupId;if("string"==typeof i)return i;if(!1===i)return null;if(!0===i&&!a)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return null!=a?a:null}({queryString:i,groupId:a});return[(0,c._X)(s),(0,o.useCallback)((function(t){if(s){var e=new URLSearchParams(n.location.search);e.set(s,t),n.replace(Object.assign({},n.location,{search:e.toString()}))}}),[s,n])]}function g(t){var e,i,a,n,s=t.defaultValue,r=t.queryString,c=void 0!==r&&r,l=t.groupId,d=p(t),g=(0,o.useState)((function(){return function(t){var e,i=t.defaultValue,a=t.tabValues;if(0===a.length)throw new Error("Docusaurus error: the component requires at least one children component");if(i){if(!f({value:i,tabValues:a}))throw new Error('Docusaurus error: The has a defaultValue "'+i+'" but none of its children has the corresponding value. Available values are: '+a.map((function(t){return t.value})).join(", ")+". If you intend to show no default tab, use defaultValue={null} instead.");return i}var o=null!=(e=a.find((function(t){return t.default})))?e:a[0];if(!o)throw new Error("Unexpected error: 0 tabValues");return o.value}({defaultValue:s,tabValues:d})})),u=g[0],y=g[1],b=m({queryString:c,groupId:l}),v=b[0],w=b[1],k=(e=function(t){return t?"docusaurus.tab."+t:null}({groupId:l}.groupId),i=(0,h.Nk)(e),a=i[0],n=i[1],[a,(0,o.useCallback)((function(t){e&&n.set(t)}),[e,n])]),T=k[0],G=k[1],M=function(){var t=null!=v?v:T;return f({value:t,tabValues:d})?t:null}();return(0,o.useLayoutEffect)((function(){M&&y(M)}),[M]),{selectedValue:u,selectValue:(0,o.useCallback)((function(t){if(!f({value:t,tabValues:d}))throw new Error("Can't select invalid tab value="+t);y(t),w(t),G(t)}),[w,G,d]),tabValues:d}}var u=i(2389),y="tabList__CuJ",b="tabItem_LNqP";function v(t){var e=t.className,i=t.block,r=t.selectedValue,c=t.selectValue,l=t.tabValues,h=[],d=(0,s.o5)().blockElementScrollPositionUntilNextRender,p=function(t){var e=t.currentTarget,i=h.indexOf(e),a=l[i].value;a!==r&&(d(e),c(a))},f=function(t){var e,i=null;switch(t.key){case"Enter":p(t);break;case"ArrowRight":var a,o=h.indexOf(t.currentTarget)+1;i=null!=(a=h[o])?a:h[0];break;case"ArrowLeft":var n,s=h.indexOf(t.currentTarget)-1;i=null!=(n=h[s])?n:h[h.length-1]}null==(e=i)||e.focus()};return o.createElement("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,n.Z)("tabs",{"tabs--block":i},e)},l.map((function(t){var e=t.value,i=t.label,s=t.attributes;return o.createElement("li",(0,a.Z)({role:"tab",tabIndex:r===e?0:-1,"aria-selected":r===e,key:e,ref:function(t){return h.push(t)},onKeyDown:f,onClick:p},s,{className:(0,n.Z)("tabs__item",b,null==s?void 0:s.className,{"tabs__item--active":r===e})}),null!=i?i:e)})))}function w(t){var e=t.lazy,i=t.children,a=t.selectedValue,n=(Array.isArray(i)?i:[i]).filter(Boolean);if(e){var s=n.find((function(t){return t.props.value===a}));return s?(0,o.cloneElement)(s,{className:"margin-top--md"}):null}return o.createElement("div",{className:"margin-top--md"},n.map((function(t,e){return(0,o.cloneElement)(t,{key:e,hidden:t.props.value!==a})})))}function k(t){var e=g(t);return o.createElement("div",{className:(0,n.Z)("tabs-container",y)},o.createElement(v,(0,a.Z)({},t,e)),o.createElement(w,(0,a.Z)({},t,e)))}function T(t){var e=(0,u.Z)();return o.createElement(k,(0,a.Z)({key:String(e)},t))}},2219:function(t,e,i){i.r(e),i.d(e,{assets:function(){return h},contentTitle:function(){return c},default:function(){return m},frontMatter:function(){return r},mark:function(){return p},metadata:function(){return l},toc:function(){return d}});var a=i(7462),o=i(3366),n=(i(7294),i(3905)),s=(i(4996),i(4866),i(5162),["components"]),r={id:"mrgt",sidebar_label:"MR Glossary Generation",date:20221127},c="Machine Readable Glossary Generation Tool",l={unversionedId:"spec-tools/mrgt",id:"spec-tools/mrgt",title:"Machine Readable Glossary Generation Tool",description:"text to mark",source:"@site/docs/spec-tools/21-mrgt.md",sourceDirName:"spec-tools",slug:"/spec-tools/mrgt",permalink:"/tev2-specifications/docs/spec-tools/mrgt",draft:!1,editUrl:"https://github.com/tno-terminology-design/tev2-specifications/blob/master/docs/spec-tools/21-mrgt.md",tags:[],version:"current",lastUpdatedBy:"Kees",lastUpdatedAt:1694174606,formattedLastUpdatedAt:"Sep 8, 2023",sidebarPosition:21,frontMatter:{id:"mrgt",sidebar_label:"MR Glossary Generation",date:20221127},sidebar:"tev2SideBar",previous:{title:"Terminology Construction",permalink:"/tev2-specifications/docs/spec-tools/terminology-construction"},next:{title:"HR Glossary Generation (previous version)",permalink:"/tev2-specifications/docs/spec-tools/hrgt-old"}},h={},d=[{value:"Installing the Tool",id:"installing-the-tool",level:2},{value:"Calling the Tool",id:"calling-the-tool",level:2},{value:"Generating an MRG",id:"generating-an-mrg",level:2},{value:"Creating an MRG Entry",id:"creating-an-mrg-entry",level:3},{value:"Copying an MRG Entry from an existing MRG",id:"copying-an-mrg-entry-from-an-existing-mrg",level:4},{value:"Constructing an MRG Entry from a Curated Text",id:"constructing-an-mrg-entry-from-a-curated-text",level:4},{value:"Exceptions, Warnings, and Logging",id:"exceptions",level:2},{value:"Notes",id:"notes",level:2}],p=function(t){var e=t.children;return(0,n.kt)("span",{style:{color:"black",backgroundColor:"yellow",padding:"0.2rem",borderRadius:"2px"}},e)},f={toc:d,mark:p};function m(t){var e=t.components,i=(0,o.Z)(t,s);return(0,n.kt)("wrapper",(0,a.Z)({},f,i,{components:e,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"machine-readable-glossary-generation-tool"},"Machine Readable Glossary Generation Tool"),(0,n.kt)("admonition",{type:"caution"},(0,n.kt)("p",{parentName:"admonition"},"The entire section on Terminology Engine v 2 (TEv2) is still under construction.",(0,n.kt)("br",null),"\nAs TEv2 is not (yet) available, the texts that specify the tool are still 'raw', i.e. not yet processed.",(0,n.kt)("br",null),(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/reader",title:"Reader: a person that reads a text that is authored by another person (its Author]), and that tries to understand the meaning of this text in the way its Author intended."},"readers")," will need to see through some (currently unprocessed) notational conventions.")),(0,n.kt)("p",null,"The ",(0,n.kt)("strong",{parentName:"p"},"Machine Readable Glossary generation Tool (",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrgt",title:"MRGT: a software tool designed to create, manage, and process Machine Readable Glossaries (MRGs), as [specified by TEv2](/docs/spec-tools/mrgt). MRGTs offer features for selecting Terms that are Curated within the Scope it is run in, or from other Scopes."},"MRGT"),")")," generates a Machine Readable Glossary or ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG"),") for (a specific version of) the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology")," of a specific ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," into a specific, well-defined ",(0,n.kt)("a",{parentName:"p",href:"/docs/spec-files/mrg"},"format"),". An ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," contains so-called ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entries: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entries")," for every ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Term: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"term")," in its ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),", which represent not only ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/concept",title:"Concepts: a Knowledge Artifact that captures the ideas/thoughts behind a classification of Entities (what makes Entities in that class 'the same')."},"concepts")," but also other ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/knowledge-artifact",title:"Knowledge-artifacts: something that can be thought of as existing in a particular Knowledge, e.g. a Concept, or a Mental Model."},"knowledge artifacts")," of other kinds, such as ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mental-model",title:"Mental-models: A Knowledge Artifact that relates a set of Concepts (ideas), Relations between them, and constraints about a certain topic, into a coherent and consistent whole (sometimes called 'viewpoint', or 'way of thinking')."},"mental models")," and ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/@",title:"Error - the reference cannot be resolved."},"use cases"),"."),(0,n.kt)("p",null,"The (newly generated) ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," is meant to be processed by the other tools in the ",(0,n.kt)("a",{parentName:"p",href:"/docs-toolbox"},"toolbox"),", regardless of whether such tools are called from within the context of another ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),". As it contains every ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Term: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"term")," that is used in the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),", and includes all the relevant meta-data, an ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," serves as the single, authoritative source of that (version of the) ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scopes: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope's")," ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology"),"."),(0,n.kt)("p",null,"There is currently one (JAVA) implementation of the tool:"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"the repo is ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/trustoverip/ctwg-toolkit-mrg/"},"here")),(0,n.kt)("li",{parentName:"ul"},"the documentation is ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/trustoverip/ctwg-toolkit-mrg#readme"},"here")),(0,n.kt)("li",{parentName:"ul"},"the (deprecated) specifications for this tool are ",(0,n.kt)("a",{parentName:"li",href:"https://essif-lab.github.io/framework/docs/spec-tools/mrgt"},"here"))),(0,n.kt)("p",null,"A new implementation is envisaged (but not yet available), which will be built similar to the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/trrt",title:"TRRT (TermRef Rendering Tool): a TEv2 Tool that is designed to facilitate the visualization and rendering of TermRefs."},"TRRT")," and ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-importer",title:"MRG Importer: is a tool in the TEv2 toolbox that is run within a particular Scope for the purpose of obtaining MRGs from other Scopes, as specified in the Scope's SAF, and putting them in the Scope's Glossarydir."},"MRG Importer"),"."),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"the repo is ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/tno-terminology-design/mrgt"},"here"),"."),(0,n.kt)("li",{parentName:"ul"},"the documentation is ","[",(0,n.kt)("mark",null,"tbd"),"]",".")),(0,n.kt)("h2",{id:"installing-the-tool"},"Installing the Tool"),(0,n.kt)("p",null,"The tool can be installed from the command line and made globally available by executing"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre"},"npm install tno-terminology-design/mrgt -g\n")),(0,n.kt)("h2",{id:"calling-the-tool"},"Calling the Tool"),(0,n.kt)("p",null,"The behavior of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrgt",title:"MRGT: a software tool designed to create, manage, and process Machine Readable Glossaries (MRGs), as [specified by TEv2](/docs/spec-tools/mrgt). MRGTs offer features for selecting Terms that are Curated within the Scope it is run in, or from other Scopes."},"MRGT")," can be configured per call e.g. by a configuration file and/or command-line parameters. The command-line syntax is as follows:"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre"},"mrgt [ ]\n")),(0,n.kt)("p",null,"where:"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("inlineCode",{parentName:"li"},"")," (optional) is a list of key-value pairs")),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Legend"),(0,n.kt)("p",null,"The columns in the following table are defined as follows:"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("strong",{parentName:"li"},(0,n.kt)("inlineCode",{parentName:"strong"},"Key"))," is the text to be used as a key."),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("strong",{parentName:"li"},(0,n.kt)("inlineCode",{parentName:"strong"},"Value"))," represents the kind of value to be used."),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("strong",{parentName:"li"},(0,n.kt)("inlineCode",{parentName:"strong"},"Req'd"))," specifies whether (",(0,n.kt)("inlineCode",{parentName:"li"},"Y"),") or not (",(0,n.kt)("inlineCode",{parentName:"li"},"n"),") the field is required to be present when the tool is being called. If required, it MUST either be present in the configuration file, or as a command-line parameter."),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("strong",{parentName:"li"},(0,n.kt)("inlineCode",{parentName:"strong"},"Description"))," specifies the meaning of the ",(0,n.kt)("inlineCode",{parentName:"li"},"Value")," field, and other things you may need to know, e.g. why it is needed, a required syntax, etc."))),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:"left"},"Key"),(0,n.kt)("th",{parentName:"tr",align:"left"},"Value"),(0,n.kt)("th",{parentName:"tr",align:"center"},"Req'd"),(0,n.kt)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"config")),(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:"left"},"Path (including the filename) of the tool's (YAML) configuration file. This file contains the default key-value pairs to be used. Allowed keys (and the associated values) are documented in this table. Command-line arguments override key-value pairs specified in the configuration file. This parameter MUST NOT appear in the configuration file itself.")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"scopedir")),(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"")),(0,n.kt)("td",{parentName:"tr",align:"center"},"Y"),(0,n.kt)("td",{parentName:"tr",align:"left"},"Path of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopedir",title:"Scope-directory: a directory in a computer file system that contains all files that are either being Curated within a particular Scope, or generated to serve some purpose within that Scope."},"scope directory")," from which the tool is called. It MUST contain the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF")," for that ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),", which we will refer to as the 'current scope' for the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-importer",title:"MRG Importer: is a tool in the TEv2 toolbox that is run within a particular Scope for the purpose of obtaining MRGs from other Scopes, as specified in the Scope's SAF, and putting them in the Scope's Glossarydir."},"MRG importer"),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"vsntag")),(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/versiontag",title:"Versiontag: a Tag that is used to Identify a specific version of a Terminology from within a specific Scope."},"versiontag")," for which the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," needs to be (re)generated. When omitted, an ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," will be generated for every version of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology")," that is specified in the ",(0,n.kt)("a",{parentName:"td",href:"/docs/spec-files/saf#versions"},"versions section")," of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"))),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"onNotExist")),(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:"left"},"specifies the action to take in case a ",(0,n.kt)("inlineCode",{parentName:"td"},"vsntag")," was specified, but wasn't found in the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"),". Default is ",(0,n.kt)("inlineCode",{parentName:"td"},"'throw'"),".")))),(0,n.kt)("p",null,"The ",(0,n.kt)("inlineCode",{parentName:"p"},"")," parameter can take the following values:"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"th"},"")),(0,n.kt)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"'throw'")),(0,n.kt)("td",{parentName:"tr",align:"left"},"an error is thrown (an exception is raised), and processing will stop.")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"'warn'")),(0,n.kt)("td",{parentName:"tr",align:"left"},"a message is displayed (and logged) and processing continues.")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"'log'")),(0,n.kt)("td",{parentName:"tr",align:"left"},"a message is written to a log(file) and processing continues.")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"'ignore'")),(0,n.kt)("td",{parentName:"tr",align:"left"},"processing continues as if nothing happened.")))),(0,n.kt)("h2",{id:"generating-an-mrg"},"Generating an MRG"),(0,n.kt)("p",null,"The ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrgt",title:"MRGT: a software tool designed to create, manage, and process Machine Readable Glossaries (MRGs), as [specified by TEv2](/docs/spec-tools/mrgt). MRGTs offer features for selecting Terms that are Curated within the Scope it is run in, or from other Scopes."},"MRGT")," starts by reading the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF")," that exists in the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopedir",title:"Scopedir: a directory in a computer file system that contains all files that are either being Curated within a particular Scope, or generated to serve some purpose within that Scope."},"scopedir")," that was provided as one of the calling parameters. If a ",(0,n.kt)("inlineCode",{parentName:"p"},"vsntag")," argument is provided, it will search the ",(0,n.kt)("a",{parentName:"p",href:"/docs/spec-files/saf#versions"},"versions section")," of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF")," to find the corresponding entry. This corresponding entry will have the value of the ",(0,n.kt)("inlineCode",{parentName:"p"},"vsntag")," parameter either in its ",(0,n.kt)("inlineCode",{parentName:"p"},"vsntag")," field, or it is one of the elements in the ",(0,n.kt)("inlineCode",{parentName:"p"},"altvsntags")," field. If the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF")," does not have a corresponding entry, the action specified in the ",(0,n.kt)("inlineCode",{parentName:"p"},"onNotExist")," parameter will determine whether or not (and how) to proceed."),(0,n.kt)("p",null,"The corresponding entry in the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF")," specifies (a specific version of) a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology"),". It not only includes meta-data for that ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology"),", but also the set of '",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-selection-criteria",title:"Term Selection Criteria: criteria that are used within a particular Scope for the selection of Terms that are part of a particular Terminology."},"term selection criteria"),"' that specify how the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology")," needs to be ",(0,n.kt)("a",{parentName:"p",href:"/docs/spec-tools/terminology-construction"},"constructed"),", and the file to which the result needs to be written."),(0,n.kt)("p",null,"The ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," is then created as follows (starting with an empty file):"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"The ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," ",(0,n.kt)("inlineCode",{parentName:"li"},"terminology")," section is created, by copying ",(0,n.kt)("a",{parentName:"li",href:"/docs/spec-files/mrg#mrg-terminology"},"relevant fields")," from the ",(0,n.kt)("inlineCode",{parentName:"li"},"terminology")," section in the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"),"."),(0,n.kt)("li",{parentName:"ol"},"Then, ",(0,n.kt)("a",{parentName:"li",href:"/docs/spec-tools/terminology-construction"},"terminology construction")," takes place, which can be thought of as constructing a set of tuples ",(0,n.kt)("inlineCode",{parentName:"li"},"{ [term, grouptags] }"),", where ",(0,n.kt)("inlineCode",{parentName:"li"},"term")," ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identifies: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identifies")," (the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text")," that documents) the particular ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/knowledge-artifact",title:"Knowledge-artifact: something that can be thought of as existing in a particular Knowledge, e.g. a Concept, or a Mental Model."},"knowledge artifact"),", and ",(0,n.kt)("inlineCode",{parentName:"li"},"grouptags")," is a set of ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/grouptag",title:"Grouptags: a Tag that is used to group Terms within a specific Scope."},"grouptags")," associated with that tuple."),(0,n.kt)("li",{parentName:"ol"},"For every tuple in this set, an ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," is created, and added to the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," under construction. The structure of each such ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"entry")," depends on the type of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/knowledge-artifact",title:"Knowledge-artifact: something that can be thought of as existing in a particular Knowledge, e.g. a Concept, or a Mental Model."},"knowledge artifact")," that the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Term: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"term")," represents, as the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/header",title:"Header (of a Curated Text): the part at the beginning of that curated text, that starts with a line that (only) contains three subsequent '-'characters, and that ends with a second occurrance of such a line."},"header")," of a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text")," depends on that type.")),(0,n.kt)("p",null,"After the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," has been created, it is written to the file ",(0,n.kt)("inlineCode",{parentName:"p"},"mrg...yaml"),", where:"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("inlineCode",{parentName:"li"},"")," is the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopetag",title:"Scopetag: a Tag that is used to Identify Scopes from within a specific Scope"},"scopetag")," that is used within the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," to refer to itself. Its value can be found in the ",(0,n.kt)("inlineCode",{parentName:"li"},"scopetag"),"-field in the ",(0,n.kt)("a",{parentName:"li",href:"docs/spec-files/saf#terminology"},"scope section")," of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"),"."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("inlineCode",{parentName:"li"},"")," is the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/versiontag",title:"Versiontag: a Tag that is used to Identify a specific version of a Terminology from within a specific Scope."},"versiontag")," that ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identifies: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identifies")," the version of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology")," for which the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," contains ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"entries"),". Its value must be equal to that found in the ",(0,n.kt)("inlineCode",{parentName:"li"},"vsntag"),"-field of the element in the ",(0,n.kt)("a",{parentName:"li",href:"/docs/spec-files/saf#versions"},"versions section")," of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF")," from which the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," was generated. NOTE that ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/versiontag",title:"Versiontags: a Tag that is used to Identify a specific version of a Terminology from within a specific Scope."},"versiontags")," that are listed in the ",(0,n.kt)("inlineCode",{parentName:"li"},"altvsntags"),"-field of such an element MUST NOT be used in the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG"),"-filename.")),(0,n.kt)("p",null,"The ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," file must be written to the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/glossarydir",title:"Glossarydir: a directory within a Scopedir within which the different versions of its (Machine Readable and Human Readable) Glossaries are created and maintained."},"glossarydir")," of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),", which is located at ",(0,n.kt)("inlineCode",{parentName:"p"},"/"),", where"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("inlineCode",{parentName:"li"},"")," is the home-directory of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),", and"),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("inlineCode",{parentName:"li"},"")," is the path to the directorty where all ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/glossary",title:"Glossary: an alphabetically sorted list of Terms with the (single) meaning it has in (at least) one context."},"glossary"),"-related files are located. Its value can be found in the ",(0,n.kt)("a",{parentName:"li",href:"/docs/spec-files/saf#terminology"},"scope section")," of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"),".")),(0,n.kt)("p",null,"After the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," file has been written, the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrgt",title:"MRGT: a software tool designed to create, manage, and process Machine Readable Glossaries (MRGs), as [specified by TEv2](/docs/spec-tools/mrgt). MRGTs offer features for selecting Terms that are Curated within the Scope it is run in, or from other Scopes."},"MRGT")," will create, a ",(0,n.kt)("a",{parentName:"p",href:"https://en.wikipedia.org/wiki/Symbolic_link"},"symbolic link")," for every ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/versiontag",title:"Versiontag: a Tag that is used to Identify a specific version of a Terminology from within a specific Scope."},"versiontag")," that it finds in the ",(0,n.kt)("inlineCode",{parentName:"p"},"altvsntags"),"-field of the element in the ",(0,n.kt)("a",{parentName:"p",href:"/docs/spec-files/saf#versions"},"versions section")," of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF")," from which the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," was generated. The symbolic link will point to the file that has just been written and contains the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," that has just been generated. The name of this symbolic link is ",(0,n.kt)("inlineCode",{parentName:"p"},"mrg...yaml"),", which is the same name as the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," file, except that the ",(0,n.kt)("inlineCode",{parentName:"p"},"")," part of that filename is replaced with the value of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/versiontag",title:"Versiontag: a Tag that is used to Identify a specific version of a Terminology from within a specific Scope."},"versiontag")," found in the ",(0,n.kt)("inlineCode",{parentName:"p"},"altvsntags"),"-field."),(0,n.kt)("h3",{id:"creating-an-mrg-entry"},"Creating an MRG Entry"),(0,n.kt)("p",null,"An ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," is either"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"a copy of an (existing) ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," that is found in an ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," that lives in another ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),", or"),(0,n.kt)("li",{parentName:"ul"},"it is constructed from a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text"),", the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/header",title:"Header (of a Curated Text): the part at the beginning of that curated text, that starts with a line that (only) contains three subsequent '-'characters, and that ends with a second occurrance of such a line."},"header")," of which always lives in a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-file: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated file")," that is located in the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curatedir",title:"Curatedir: a directory within a Scopedir within which every file contains a Curated Texts for that Scope."},"curatedir")," of the current ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),", as ",(0,n.kt)("a",{parentName:"li",href:"/docs/spec-files/saf#terminology"},"specified")," in the ",(0,n.kt)("inlineCode",{parentName:"li"},"curatedir")," field of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"),", and the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/body",title:"Body (of a Curated Text) the part of a curated text that comes after its its header (also called the 'front-matter')."},"body")," of which can either be found in that same file, or in the file that can be found at the location in the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopedir",title:"Scopedir: a directory in a computer file system that contains all files that are either being Curated within a particular Scope, or generated to serve some purpose within that Scope."},"scopedir")," as specified by the ",(0,n.kt)("inlineCode",{parentName:"li"},"bodyFile"),"-field in the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/header",title:"Header (of a Curated Text): the part at the beginning of that curated text, that starts with a line that (only) contains three subsequent '-'characters, and that ends with a second occurrance of such a line."},"header")," of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text"),".")),(0,n.kt)("h4",{id:"copying-an-mrg-entry-from-an-existing-mrg"},"Copying an MRG Entry from an existing MRG"),(0,n.kt)("admonition",{type:"info"},(0,n.kt)("p",{parentName:"admonition"},"A prerequisite for generating an ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," that includes ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entries: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entries")," from ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRGs")," that are maintained in other ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scopes: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scopes"),", is that such other ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRGs")," must be available in the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/glossarydir",title:"Glossarydir: a directory within a Scopedir within which the different versions of its (Machine Readable and Human Readable) Glossaries are created and maintained."},"glossarydir")," of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," within which the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrgt",title:"MRGT: a software tool designed to create, manage, and process Machine Readable Glossaries (MRGs), as [specified by TEv2](/docs/spec-tools/mrgt). MRGTs offer features for selecting Terms that are Curated within the Scope it is run in, or from other Scopes."},"MRGT")," is run. This can be achieved by running the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-importer",title:"MRG Importer: is a tool in the TEv2 toolbox that is run within a particular Scope for the purpose of obtaining MRGs from other Scopes, as specified in the Scope's SAF, and putting them in the Scope's Glossarydir."},"MRG importer")," ",(0,n.kt)("a",{parentName:"p",href:"/docs/spec-tools/mrg-importer"},"tool"),". If the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," that is to be generated doesn't include such ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entries: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entries"),", the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-importer",title:"MRG Importer: is a tool in the TEv2 toolbox that is run within a particular Scope for the purpose of obtaining MRGs from other Scopes, as specified in the Scope's SAF, and putting them in the Scope's Glossarydir."},"MRG importer")," need not be invoked.")),(0,n.kt)("admonition",{title:"Editor's note",type:"info"},(0,n.kt)("p",{parentName:"admonition"},"this section needs to be reviewed/revisded to ensure it fits with the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-importer",title:"MRG Importer: is a tool in the TEv2 toolbox that is run within a particular Scope for the purpose of obtaining MRGs from other Scopes, as specified in the Scope's SAF, and putting them in the Scope's Glossarydir."},"MRG importer")," specs.")),(0,n.kt)("p",null,"In case the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," is a copy, the ",(0,n.kt)("inlineCode",{parentName:"p"},"vsntag")," ",(0,n.kt)("a",{parentName:"p",href:"/docs/spec-files/mrg#mrg-entries"},"field")," of that ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," should be given the value of the ",(0,n.kt)("inlineCode",{parentName:"p"},"vsntag")," field that is found in the ",(0,n.kt)("a",{parentName:"p",href:"/docs/spec-files/mrg#mrg-terminology"},"'terminology' section")," of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," from which ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," contents was copied."),(0,n.kt)("h4",{id:"constructing-an-mrg-entry-from-a-curated-text"},"Constructing an MRG Entry from a Curated Text"),(0,n.kt)("p",null,"Constructing an ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," from a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text")," is done as follows:"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"create an empty/new ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry"),";"),(0,n.kt)("li",{parentName:"ol"},"if the ",(0,n.kt)("inlineCode",{parentName:"li"},"synonymOf")," field contains a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-identifier",title:"Term Identifier: a Text that Identifies a Knowledge Artifact within a particular Scope, and hence also the Curated Text that describes it, which includes its Definition."},"term identifier")," that ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identifies: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identifies"),(0,n.kt)("ul",{parentName:"li"},(0,n.kt)("li",{parentName:"ul"},"a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text")," in the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," in which the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," is being created, then copy the entire front matter of that ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text")," into the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry"),";",(0,n.kt)("sup",{parentName:"li",id:"fnref-1"},(0,n.kt)("a",{parentName:"sup",href:"#fn-1",className:"footnote-ref"},"1"))),(0,n.kt)("li",{parentName:"ul"},"an ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," in an ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," other than the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," that is being created, then copy that ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," into the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," that has just been created;"))),(0,n.kt)("li",{parentName:"ol"},"if the ",(0,n.kt)("inlineCode",{parentName:"li"},"synonymOf")," field contains a text that is not a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-identifier",title:"Term Identifier: a Text that Identifies a Knowledge Artifact within a particular Scope, and hence also the Curated Text that describes it, which includes its Definition."},"term identifier"),", raise an ",(0,n.kt)("a",{parentName:"li",href:"#exceptions"},"appropriate warning"),";"),(0,n.kt)("li",{parentName:"ol"},"copy every field in the front-matter of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text")," into the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry"),"; if the field already exists in the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry"),", it will be overwritten;"),(0,n.kt)("li",{parentName:"ol"},"discard every field that has a field name that, when converted into lowercase, matches any of the field names in the table below;"),(0,n.kt)("li",{parentName:"ol"},"add the fields in the below table with the specified contents, as follows:")),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Field"),(0,n.kt)("th",{parentName:"tr",align:"left"},"Value(s) that are assigned to the fields"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"scopetag")),(0,n.kt)("td",{parentName:"tr",align:"left"},"overwrite the ",(0,n.kt)("inlineCode",{parentName:"td"},"scopetag")," field with the ",(0,n.kt)("inlineCode",{parentName:"td"},"scopetag")," field as found in the ",(0,n.kt)("inlineCode",{parentName:"td"},"scope")," section of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"locator")),(0,n.kt)("td",{parentName:"tr",align:"left"},"path, relative to ",(0,n.kt)("inlineCode",{parentName:"td"},"scopedir"),"/",(0,n.kt)("inlineCode",{parentName:"td"},"curatedir"),"/, of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text"),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"navurl")),(0,n.kt)("td",{parentName:"tr",align:"left"},"path, relative to the URL as specified in the ",(0,n.kt)("inlineCode",{parentName:"td"},"website")," field in the ",(0,n.kt)("a",{parentName:"td",href:"/docs/spec-files/saf#terminology"},(0,n.kt)("inlineCode",{parentName:"a"},"scope")," section")," of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"),", where the rendered version of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text")," is located.")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"headingids")),(0,n.kt)("td",{parentName:"tr",align:"left"},"a list of the ",(0,n.kt)("a",{parentName:"td",href:"https://www.markdownguide.org/basic-syntax/#headings"},"markdown headings")," and/or ",(0,n.kt)("a",{parentName:"td",href:"https://www.markdownguide.org/extended-syntax/#linking-to-heading-ids"},"heading ids")," that are found in the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/body",title:"Body (of a Curated Text) the part of a curated text that comes after its its header (also called the 'front-matter')."},"body")," of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text"),". Note that this ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/body",title:"Body (of a Curated Text) the part of a curated text that comes after its its header (also called the 'front-matter')."},"body")," can be in a another file that that which contains the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/header",title:"Header (of a Curated Text): the part at the beginning of that curated text, that starts with a line that (only) contains three subsequent '-'characters, and that ends with a second occurrance of such a line."},"header")," of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text"))))),(0,n.kt)("h2",{id:"exceptions"},"Exceptions, Warnings, and Logging"),(0,n.kt)("admonition",{title:"Editor's note",type:"info"},(0,n.kt)("p",{parentName:"admonition"},"This section needs to be reviewed/revised so as to enable a consistent way of error checking and logging, similar to what is done in the TRRT")),(0,n.kt)("p",null,"The general principle is that the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrgt",title:"MRGT: a software tool designed to create, manage, and process Machine Readable Glossaries (MRGs), as [specified by TEv2](/docs/spec-tools/mrgt). MRGTs offer features for selecting Terms that are Curated within the Scope it is run in, or from other Scopes."},"MRGT")," helps its users to do their jobs. This means that errors that terminate the processing are limited to the max, that warnings (perhaps at different 'levels' of detail/severity) are given output whenever possible (yet may be limited by command-line options), and that texts are tailored for the envisaged users of the tool."),(0,n.kt)("p",null,"The ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrgt",title:"MRGT: a software tool designed to create, manage, and process Machine Readable Glossaries (MRGs), as [specified by TEv2](/docs/spec-tools/mrgt). MRGTs offer features for selecting Terms that are Curated within the Scope it is run in, or from other Scopes."},"MRGT")," logs conditions that prevent it from properly:"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"obtaining the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopedir",title:"Scopedir: a directory in a computer file system that contains all files that are either being Curated within a particular Scope, or generated to serve some purpose within that Scope."},"scopedir")," from a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopetag",title:"Scopetag: a Tag that is used to Identify Scopes from within a specific Scope"},"scopetag"),";"),(0,n.kt)("li",{parentName:"ul"},"parsing a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text")," (e.g. because it is not in the expected format);"),(0,n.kt)("li",{parentName:"ul"},"resolving ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Terms: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"terms"),", ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopetag",title:"Scope-tags: a Tag that is used to Identify Scopes from within a specific Scope"},"scope tags"),", ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/grouptag",title:"Group-tags: a Tag that is used to group Terms within a specific Scope."},"group tags"),", or ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/versiontag",title:"Version-tags: a Tag that is used to Identify a specific version of a Terminology from within a specific Scope."},"version tags"),";"),(0,n.kt)("li",{parentName:"ul"},"writing the output (e.g. because it has no write-permission for the designated location);"),(0,n.kt)("li",{parentName:"ul"},"etc.;")),(0,n.kt)("p",null,"Also, the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrgt",title:"MRGT: a software tool designed to create, manage, and process Machine Readable Glossaries (MRGs), as [specified by TEv2](/docs/spec-tools/mrgt). MRGTs offer features for selecting Terms that are Curated within the Scope it is run in, or from other Scopes."},"MRGT")," provides suggestions that help tool-operators (",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curator",title:"Curator: {(noRefs glossaryText)}"},"curators"),") to not only identify, but also fix any problems."),(0,n.kt)("p",null,"The ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrgt",title:"MRGT: a software tool designed to create, manage, and process Machine Readable Glossaries (MRGs), as [specified by TEv2](/docs/spec-tools/mrgt). MRGTs offer features for selecting Terms that are Curated within the Scope it is run in, or from other Scopes."},"MRGT")," comes with documentation that enables developers to ascertain its correct functioning (e.g. by using a test set of files, test scripts that exercise its parameters, etc.), and also enables them to deploy the tool in a git repo and author/modify CI-pipes to use that deployment."),(0,n.kt)("h2",{id:"notes"},"Notes"),(0,n.kt)("div",{className:"footnotes"},(0,n.kt)("hr",{parentName:"div"}),(0,n.kt)("ol",{parentName:"div"},(0,n.kt)("li",{parentName:"ol",id:"fn-1"},"The algorithm ensures that an ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," for a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Term: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"term")," that is a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/synonym",title:"Synonym: a Term that has the same (or similar) meaning as another Term."},"synonym")," of another ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Term: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"term")," identical to the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," for that other ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Term: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"term"),", but if the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text")," that specifies the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/synonym",title:"Synonym: a Term that has the same (or similar) meaning as another Term."},"synonym")," has additional front matter (e.g. a slightly modified ",(0,n.kt)("inlineCode",{parentName:"li"},"glossaryText")," field), that front matter is retained in the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry"),". It is up to the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/author",title:"Author: a person that creates a text that is meant to be read and understood by others - usually, a particular audience."},"author")," of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text")," to make sure this does not pose any problems, and up to the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/ict",title:"Integrity Checker Tool (ICT): a software tool designed to check the integrity and conformity of various files used in the curation and management of Glossaries, Dictionaries, Curated Texts, and other data within a terminology project. The ICT verifies that the files adhere to the TEv2 File Specifications, ensuring the consistency and accuracy of the terminology data."},"ICT")," to do appropriate checks.",(0,n.kt)("a",{parentName:"li",href:"#fnref-1",className:"footnote-backref"},"\u21a9")))))}m.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunktev2_specifications=self.webpackChunktev2_specifications||[]).push([[7523],{3905:function(t,e,i){i.d(e,{Zo:function(){return h},kt:function(){return f}});var a=i(7294);function o(t,e,i){return e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}function n(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,a)}return i}function s(t){for(var e=1;e=0||(o[i]=t[i]);return o}(t,e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(t,i)&&(o[i]=t[i])}return o}var c=a.createContext({}),l=function(t){var e=a.useContext(c),i=e;return t&&(i="function"==typeof t?t(e):s(s({},e),t)),i},h=function(t){var e=l(t.components);return a.createElement(c.Provider,{value:e},t.children)},d={inlineCode:"code",wrapper:function(t){var e=t.children;return a.createElement(a.Fragment,{},e)}},p=a.forwardRef((function(t,e){var i=t.components,o=t.mdxType,n=t.originalType,c=t.parentName,h=r(t,["components","mdxType","originalType","parentName"]),p=l(i),f=o,m=p["".concat(c,".").concat(f)]||p[f]||d[f]||n;return i?a.createElement(m,s(s({ref:e},h),{},{components:i})):a.createElement(m,s({ref:e},h))}));function f(t,e){var i=arguments,o=e&&e.mdxType;if("string"==typeof t||o){var n=i.length,s=new Array(n);s[0]=p;var r={};for(var c in e)hasOwnProperty.call(e,c)&&(r[c]=e[c]);r.originalType=t,r.mdxType="string"==typeof t?t:o,s[1]=r;for(var l=2;l child <"+("string"==typeof t.type?t.type:t.type.name)+'>: all children of the component should be , and every should have a unique "value" prop.')})))?void 0:i.filter(Boolean))?e:[]}(t).map((function(t){var e=t.props;return{value:e.value,label:e.label,attributes:e.attributes,default:e.default}}))}function p(t){var e=t.values,i=t.children;return(0,o.useMemo)((function(){var t=null!=e?e:d(i);return function(t){var e=(0,l.l)(t,(function(t,e){return t.value===e.value}));if(e.length>0)throw new Error('Docusaurus error: Duplicate values "'+e.map((function(t){return t.value})).join(", ")+'" found in . Every value needs to be unique.')}(t),t}),[e,i])}function f(t){var e=t.value;return t.tabValues.some((function(t){return t.value===e}))}function m(t){var e=t.queryString,i=void 0!==e&&e,a=t.groupId,n=(0,r.k6)(),s=function(t){var e=t.queryString,i=void 0!==e&&e,a=t.groupId;if("string"==typeof i)return i;if(!1===i)return null;if(!0===i&&!a)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return null!=a?a:null}({queryString:i,groupId:a});return[(0,c._X)(s),(0,o.useCallback)((function(t){if(s){var e=new URLSearchParams(n.location.search);e.set(s,t),n.replace(Object.assign({},n.location,{search:e.toString()}))}}),[s,n])]}function g(t){var e,i,a,n,s=t.defaultValue,r=t.queryString,c=void 0!==r&&r,l=t.groupId,d=p(t),g=(0,o.useState)((function(){return function(t){var e,i=t.defaultValue,a=t.tabValues;if(0===a.length)throw new Error("Docusaurus error: the component requires at least one children component");if(i){if(!f({value:i,tabValues:a}))throw new Error('Docusaurus error: The has a defaultValue "'+i+'" but none of its children has the corresponding value. Available values are: '+a.map((function(t){return t.value})).join(", ")+". If you intend to show no default tab, use defaultValue={null} instead.");return i}var o=null!=(e=a.find((function(t){return t.default})))?e:a[0];if(!o)throw new Error("Unexpected error: 0 tabValues");return o.value}({defaultValue:s,tabValues:d})})),u=g[0],y=g[1],b=m({queryString:c,groupId:l}),v=b[0],w=b[1],k=(e=function(t){return t?"docusaurus.tab."+t:null}({groupId:l}.groupId),i=(0,h.Nk)(e),a=i[0],n=i[1],[a,(0,o.useCallback)((function(t){e&&n.set(t)}),[e,n])]),T=k[0],G=k[1],M=function(){var t=null!=v?v:T;return f({value:t,tabValues:d})?t:null}();return(0,o.useLayoutEffect)((function(){M&&y(M)}),[M]),{selectedValue:u,selectValue:(0,o.useCallback)((function(t){if(!f({value:t,tabValues:d}))throw new Error("Can't select invalid tab value="+t);y(t),w(t),G(t)}),[w,G,d]),tabValues:d}}var u=i(2389),y="tabList__CuJ",b="tabItem_LNqP";function v(t){var e=t.className,i=t.block,r=t.selectedValue,c=t.selectValue,l=t.tabValues,h=[],d=(0,s.o5)().blockElementScrollPositionUntilNextRender,p=function(t){var e=t.currentTarget,i=h.indexOf(e),a=l[i].value;a!==r&&(d(e),c(a))},f=function(t){var e,i=null;switch(t.key){case"Enter":p(t);break;case"ArrowRight":var a,o=h.indexOf(t.currentTarget)+1;i=null!=(a=h[o])?a:h[0];break;case"ArrowLeft":var n,s=h.indexOf(t.currentTarget)-1;i=null!=(n=h[s])?n:h[h.length-1]}null==(e=i)||e.focus()};return o.createElement("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,n.Z)("tabs",{"tabs--block":i},e)},l.map((function(t){var e=t.value,i=t.label,s=t.attributes;return o.createElement("li",(0,a.Z)({role:"tab",tabIndex:r===e?0:-1,"aria-selected":r===e,key:e,ref:function(t){return h.push(t)},onKeyDown:f,onClick:p},s,{className:(0,n.Z)("tabs__item",b,null==s?void 0:s.className,{"tabs__item--active":r===e})}),null!=i?i:e)})))}function w(t){var e=t.lazy,i=t.children,a=t.selectedValue,n=(Array.isArray(i)?i:[i]).filter(Boolean);if(e){var s=n.find((function(t){return t.props.value===a}));return s?(0,o.cloneElement)(s,{className:"margin-top--md"}):null}return o.createElement("div",{className:"margin-top--md"},n.map((function(t,e){return(0,o.cloneElement)(t,{key:e,hidden:t.props.value!==a})})))}function k(t){var e=g(t);return o.createElement("div",{className:(0,n.Z)("tabs-container",y)},o.createElement(v,(0,a.Z)({},t,e)),o.createElement(w,(0,a.Z)({},t,e)))}function T(t){var e=(0,u.Z)();return o.createElement(k,(0,a.Z)({key:String(e)},t))}},2219:function(t,e,i){i.r(e),i.d(e,{assets:function(){return h},contentTitle:function(){return c},default:function(){return m},frontMatter:function(){return r},mark:function(){return p},metadata:function(){return l},toc:function(){return d}});var a=i(7462),o=i(3366),n=(i(7294),i(3905)),s=(i(4996),i(4866),i(5162),["components"]),r={id:"mrgt",sidebar_label:"MR Glossary Generation",date:20221127},c="Machine Readable Glossary Generation Tool",l={unversionedId:"spec-tools/mrgt",id:"spec-tools/mrgt",title:"Machine Readable Glossary Generation Tool",description:"text to mark",source:"@site/docs/spec-tools/21-mrgt.md",sourceDirName:"spec-tools",slug:"/spec-tools/mrgt",permalink:"/tev2-specifications/docs/spec-tools/mrgt",draft:!1,editUrl:"https://github.com/tno-terminology-design/tev2-specifications/blob/master/docs/spec-tools/21-mrgt.md",tags:[],version:"current",lastUpdatedBy:"Ca5e",lastUpdatedAt:1694182104,formattedLastUpdatedAt:"Sep 8, 2023",sidebarPosition:21,frontMatter:{id:"mrgt",sidebar_label:"MR Glossary Generation",date:20221127},sidebar:"tev2SideBar",previous:{title:"Terminology Construction",permalink:"/tev2-specifications/docs/spec-tools/terminology-construction"},next:{title:"HR Glossary Generation (previous version)",permalink:"/tev2-specifications/docs/spec-tools/hrgt-old"}},h={},d=[{value:"Installing the Tool",id:"installing-the-tool",level:2},{value:"Calling the Tool",id:"calling-the-tool",level:2},{value:"Generating an MRG",id:"generating-an-mrg",level:2},{value:"Creating an MRG Entry",id:"creating-an-mrg-entry",level:3},{value:"Copying an MRG Entry from an existing MRG",id:"copying-an-mrg-entry-from-an-existing-mrg",level:4},{value:"Constructing an MRG Entry from a Curated Text",id:"constructing-an-mrg-entry-from-a-curated-text",level:4},{value:"Exceptions, Warnings, and Logging",id:"exceptions",level:2},{value:"Notes",id:"notes",level:2}],p=function(t){var e=t.children;return(0,n.kt)("span",{style:{color:"black",backgroundColor:"yellow",padding:"0.2rem",borderRadius:"2px"}},e)},f={toc:d,mark:p};function m(t){var e=t.components,i=(0,o.Z)(t,s);return(0,n.kt)("wrapper",(0,a.Z)({},f,i,{components:e,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"machine-readable-glossary-generation-tool"},"Machine Readable Glossary Generation Tool"),(0,n.kt)("admonition",{type:"caution"},(0,n.kt)("p",{parentName:"admonition"},"The entire section on Terminology Engine v 2 (TEv2) is still under construction.",(0,n.kt)("br",null),"\nAs TEv2 is not (yet) available, the texts that specify the tool are still 'raw', i.e. not yet processed.",(0,n.kt)("br",null),(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/reader",title:"Reader: a person that reads a text that is authored by another person (its Author]), and that tries to understand the meaning of this text in the way its Author intended."},"readers")," will need to see through some (currently unprocessed) notational conventions.")),(0,n.kt)("p",null,"The ",(0,n.kt)("strong",{parentName:"p"},"Machine Readable Glossary generation Tool (",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrgt",title:"MRGT: a software tool designed to create, manage, and process Machine Readable Glossaries (MRGs), as [specified by TEv2](/docs/spec-tools/mrgt). MRGTs offer features for selecting Terms that are Curated within the Scope it is run in, or from other Scopes."},"MRGT"),")")," generates a Machine Readable Glossary or ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG"),") for (a specific version of) the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology")," of a specific ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," into a specific, well-defined ",(0,n.kt)("a",{parentName:"p",href:"/docs/spec-files/mrg"},"format"),". An ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," contains so-called ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entries: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entries")," for every ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Term: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"term")," in its ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),", which represent not only ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/concept",title:"Concepts: a Knowledge Artifact that captures the ideas/thoughts behind a classification of Entities (what makes Entities in that class 'the same')."},"concepts")," but also other ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/knowledge-artifact",title:"Knowledge-artifacts: something that can be thought of as existing in a particular Knowledge, e.g. a Concept, or a Mental Model."},"knowledge artifacts")," of other kinds, such as ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mental-model",title:"Mental-models: A Knowledge Artifact that relates a set of Concepts (ideas), Relations between them, and constraints about a certain topic, into a coherent and consistent whole (sometimes called 'viewpoint', or 'way of thinking')."},"mental models")," and ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/@",title:"Error - the reference cannot be resolved."},"use cases"),"."),(0,n.kt)("p",null,"The (newly generated) ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," is meant to be processed by the other tools in the ",(0,n.kt)("a",{parentName:"p",href:"/docs-toolbox"},"toolbox"),", regardless of whether such tools are called from within the context of another ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),". As it contains every ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Term: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"term")," that is used in the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),", and includes all the relevant meta-data, an ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," serves as the single, authoritative source of that (version of the) ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scopes: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope's")," ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology"),"."),(0,n.kt)("p",null,"There is currently one (JAVA) implementation of the tool:"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"the repo is ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/trustoverip/ctwg-toolkit-mrg/"},"here")),(0,n.kt)("li",{parentName:"ul"},"the documentation is ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/trustoverip/ctwg-toolkit-mrg#readme"},"here")),(0,n.kt)("li",{parentName:"ul"},"the (deprecated) specifications for this tool are ",(0,n.kt)("a",{parentName:"li",href:"https://essif-lab.github.io/framework/docs/spec-tools/mrgt"},"here"))),(0,n.kt)("p",null,"A new implementation is envisaged (but not yet available), which will be built similar to the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/trrt",title:"TRRT (TermRef Rendering Tool): a TEv2 Tool that is designed to facilitate the visualization and rendering of TermRefs."},"TRRT")," and ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-importer",title:"MRG Importer: is a tool in the TEv2 toolbox that is run within a particular Scope for the purpose of obtaining MRGs from other Scopes, as specified in the Scope's SAF, and putting them in the Scope's Glossarydir."},"MRG Importer"),"."),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"the repo is ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/tno-terminology-design/mrgt"},"here"),"."),(0,n.kt)("li",{parentName:"ul"},"the documentation is ","[",(0,n.kt)("mark",null,"tbd"),"]",".")),(0,n.kt)("h2",{id:"installing-the-tool"},"Installing the Tool"),(0,n.kt)("p",null,"The tool can be installed from the command line and made globally available by executing"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre"},"npm install tno-terminology-design/mrgt -g\n")),(0,n.kt)("h2",{id:"calling-the-tool"},"Calling the Tool"),(0,n.kt)("p",null,"The behavior of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrgt",title:"MRGT: a software tool designed to create, manage, and process Machine Readable Glossaries (MRGs), as [specified by TEv2](/docs/spec-tools/mrgt). MRGTs offer features for selecting Terms that are Curated within the Scope it is run in, or from other Scopes."},"MRGT")," can be configured per call e.g. by a configuration file and/or command-line parameters. The command-line syntax is as follows:"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre"},"mrgt [ ]\n")),(0,n.kt)("p",null,"where:"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("inlineCode",{parentName:"li"},"")," (optional) is a list of key-value pairs")),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Legend"),(0,n.kt)("p",null,"The columns in the following table are defined as follows:"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("strong",{parentName:"li"},(0,n.kt)("inlineCode",{parentName:"strong"},"Key"))," is the text to be used as a key."),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("strong",{parentName:"li"},(0,n.kt)("inlineCode",{parentName:"strong"},"Value"))," represents the kind of value to be used."),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("strong",{parentName:"li"},(0,n.kt)("inlineCode",{parentName:"strong"},"Req'd"))," specifies whether (",(0,n.kt)("inlineCode",{parentName:"li"},"Y"),") or not (",(0,n.kt)("inlineCode",{parentName:"li"},"n"),") the field is required to be present when the tool is being called. If required, it MUST either be present in the configuration file, or as a command-line parameter."),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("strong",{parentName:"li"},(0,n.kt)("inlineCode",{parentName:"strong"},"Description"))," specifies the meaning of the ",(0,n.kt)("inlineCode",{parentName:"li"},"Value")," field, and other things you may need to know, e.g. why it is needed, a required syntax, etc."))),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:"left"},"Key"),(0,n.kt)("th",{parentName:"tr",align:"left"},"Value"),(0,n.kt)("th",{parentName:"tr",align:"center"},"Req'd"),(0,n.kt)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"config")),(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:"left"},"Path (including the filename) of the tool's (YAML) configuration file. This file contains the default key-value pairs to be used. Allowed keys (and the associated values) are documented in this table. Command-line arguments override key-value pairs specified in the configuration file. This parameter MUST NOT appear in the configuration file itself.")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"scopedir")),(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"")),(0,n.kt)("td",{parentName:"tr",align:"center"},"Y"),(0,n.kt)("td",{parentName:"tr",align:"left"},"Path of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopedir",title:"Scope-directory: a directory in a computer file system that contains all files that are either being Curated within a particular Scope, or generated to serve some purpose within that Scope."},"scope directory")," from which the tool is called. It MUST contain the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF")," for that ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),", which we will refer to as the 'current scope' for the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-importer",title:"MRG Importer: is a tool in the TEv2 toolbox that is run within a particular Scope for the purpose of obtaining MRGs from other Scopes, as specified in the Scope's SAF, and putting them in the Scope's Glossarydir."},"MRG importer"),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"vsntag")),(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/versiontag",title:"Versiontag: a Tag that is used to Identify a specific version of a Terminology from within a specific Scope."},"versiontag")," for which the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," needs to be (re)generated. When omitted, an ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," will be generated for every version of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology")," that is specified in the ",(0,n.kt)("a",{parentName:"td",href:"/docs/spec-files/saf#versions"},"versions section")," of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"))),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"onNotExist")),(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:"left"},"specifies the action to take in case a ",(0,n.kt)("inlineCode",{parentName:"td"},"vsntag")," was specified, but wasn't found in the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"),". Default is ",(0,n.kt)("inlineCode",{parentName:"td"},"'throw'"),".")))),(0,n.kt)("p",null,"The ",(0,n.kt)("inlineCode",{parentName:"p"},"")," parameter can take the following values:"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"th"},"")),(0,n.kt)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"'throw'")),(0,n.kt)("td",{parentName:"tr",align:"left"},"an error is thrown (an exception is raised), and processing will stop.")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"'warn'")),(0,n.kt)("td",{parentName:"tr",align:"left"},"a message is displayed (and logged) and processing continues.")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"'log'")),(0,n.kt)("td",{parentName:"tr",align:"left"},"a message is written to a log(file) and processing continues.")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"'ignore'")),(0,n.kt)("td",{parentName:"tr",align:"left"},"processing continues as if nothing happened.")))),(0,n.kt)("h2",{id:"generating-an-mrg"},"Generating an MRG"),(0,n.kt)("p",null,"The ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrgt",title:"MRGT: a software tool designed to create, manage, and process Machine Readable Glossaries (MRGs), as [specified by TEv2](/docs/spec-tools/mrgt). MRGTs offer features for selecting Terms that are Curated within the Scope it is run in, or from other Scopes."},"MRGT")," starts by reading the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF")," that exists in the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopedir",title:"Scopedir: a directory in a computer file system that contains all files that are either being Curated within a particular Scope, or generated to serve some purpose within that Scope."},"scopedir")," that was provided as one of the calling parameters. If a ",(0,n.kt)("inlineCode",{parentName:"p"},"vsntag")," argument is provided, it will search the ",(0,n.kt)("a",{parentName:"p",href:"/docs/spec-files/saf#versions"},"versions section")," of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF")," to find the corresponding entry. This corresponding entry will have the value of the ",(0,n.kt)("inlineCode",{parentName:"p"},"vsntag")," parameter either in its ",(0,n.kt)("inlineCode",{parentName:"p"},"vsntag")," field, or it is one of the elements in the ",(0,n.kt)("inlineCode",{parentName:"p"},"altvsntags")," field. If the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF")," does not have a corresponding entry, the action specified in the ",(0,n.kt)("inlineCode",{parentName:"p"},"onNotExist")," parameter will determine whether or not (and how) to proceed."),(0,n.kt)("p",null,"The corresponding entry in the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF")," specifies (a specific version of) a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology"),". It not only includes meta-data for that ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology"),", but also the set of '",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-selection-criteria",title:"Term Selection Criteria: criteria that are used within a particular Scope for the selection of Terms that are part of a particular Terminology."},"term selection criteria"),"' that specify how the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology")," needs to be ",(0,n.kt)("a",{parentName:"p",href:"/docs/spec-tools/terminology-construction"},"constructed"),", and the file to which the result needs to be written."),(0,n.kt)("p",null,"The ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," is then created as follows (starting with an empty file):"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"The ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," ",(0,n.kt)("inlineCode",{parentName:"li"},"terminology")," section is created, by copying ",(0,n.kt)("a",{parentName:"li",href:"/docs/spec-files/mrg#mrg-terminology"},"relevant fields")," from the ",(0,n.kt)("inlineCode",{parentName:"li"},"terminology")," section in the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"),"."),(0,n.kt)("li",{parentName:"ol"},"Then, ",(0,n.kt)("a",{parentName:"li",href:"/docs/spec-tools/terminology-construction"},"terminology construction")," takes place, which can be thought of as constructing a set of tuples ",(0,n.kt)("inlineCode",{parentName:"li"},"{ [term, grouptags] }"),", where ",(0,n.kt)("inlineCode",{parentName:"li"},"term")," ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identifies: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identifies")," (the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text")," that documents) the particular ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/knowledge-artifact",title:"Knowledge-artifact: something that can be thought of as existing in a particular Knowledge, e.g. a Concept, or a Mental Model."},"knowledge artifact"),", and ",(0,n.kt)("inlineCode",{parentName:"li"},"grouptags")," is a set of ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/grouptag",title:"Grouptags: a Tag that is used to group Terms within a specific Scope."},"grouptags")," associated with that tuple."),(0,n.kt)("li",{parentName:"ol"},"For every tuple in this set, an ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," is created, and added to the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," under construction. The structure of each such ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"entry")," depends on the type of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/knowledge-artifact",title:"Knowledge-artifact: something that can be thought of as existing in a particular Knowledge, e.g. a Concept, or a Mental Model."},"knowledge artifact")," that the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Term: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"term")," represents, as the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/header",title:"Header (of a Curated Text): the part at the beginning of that curated text, that starts with a line that (only) contains three subsequent '-'characters, and that ends with a second occurrance of such a line."},"header")," of a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text")," depends on that type.")),(0,n.kt)("p",null,"After the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," has been created, it is written to the file ",(0,n.kt)("inlineCode",{parentName:"p"},"mrg...yaml"),", where:"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("inlineCode",{parentName:"li"},"")," is the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopetag",title:"Scopetag: a Tag that is used to Identify Scopes from within a specific Scope"},"scopetag")," that is used within the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," to refer to itself. Its value can be found in the ",(0,n.kt)("inlineCode",{parentName:"li"},"scopetag"),"-field in the ",(0,n.kt)("a",{parentName:"li",href:"docs/spec-files/saf#terminology"},"scope section")," of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"),"."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("inlineCode",{parentName:"li"},"")," is the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/versiontag",title:"Versiontag: a Tag that is used to Identify a specific version of a Terminology from within a specific Scope."},"versiontag")," that ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identifies: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identifies")," the version of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology")," for which the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," contains ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"entries"),". Its value must be equal to that found in the ",(0,n.kt)("inlineCode",{parentName:"li"},"vsntag"),"-field of the element in the ",(0,n.kt)("a",{parentName:"li",href:"/docs/spec-files/saf#versions"},"versions section")," of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF")," from which the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," was generated. NOTE that ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/versiontag",title:"Versiontags: a Tag that is used to Identify a specific version of a Terminology from within a specific Scope."},"versiontags")," that are listed in the ",(0,n.kt)("inlineCode",{parentName:"li"},"altvsntags"),"-field of such an element MUST NOT be used in the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG"),"-filename.")),(0,n.kt)("p",null,"The ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," file must be written to the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/glossarydir",title:"Glossarydir: a directory within a Scopedir within which the different versions of its (Machine Readable and Human Readable) Glossaries are created and maintained."},"glossarydir")," of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),", which is located at ",(0,n.kt)("inlineCode",{parentName:"p"},"/"),", where"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("inlineCode",{parentName:"li"},"")," is the home-directory of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),", and"),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("inlineCode",{parentName:"li"},"")," is the path to the directorty where all ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/glossary",title:"Glossary: an alphabetically sorted list of Terms with the (single) meaning it has in (at least) one context."},"glossary"),"-related files are located. Its value can be found in the ",(0,n.kt)("a",{parentName:"li",href:"/docs/spec-files/saf#terminology"},"scope section")," of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"),".")),(0,n.kt)("p",null,"After the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," file has been written, the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrgt",title:"MRGT: a software tool designed to create, manage, and process Machine Readable Glossaries (MRGs), as [specified by TEv2](/docs/spec-tools/mrgt). MRGTs offer features for selecting Terms that are Curated within the Scope it is run in, or from other Scopes."},"MRGT")," will create, a ",(0,n.kt)("a",{parentName:"p",href:"https://en.wikipedia.org/wiki/Symbolic_link"},"symbolic link")," for every ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/versiontag",title:"Versiontag: a Tag that is used to Identify a specific version of a Terminology from within a specific Scope."},"versiontag")," that it finds in the ",(0,n.kt)("inlineCode",{parentName:"p"},"altvsntags"),"-field of the element in the ",(0,n.kt)("a",{parentName:"p",href:"/docs/spec-files/saf#versions"},"versions section")," of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF")," from which the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," was generated. The symbolic link will point to the file that has just been written and contains the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," that has just been generated. The name of this symbolic link is ",(0,n.kt)("inlineCode",{parentName:"p"},"mrg...yaml"),", which is the same name as the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," file, except that the ",(0,n.kt)("inlineCode",{parentName:"p"},"")," part of that filename is replaced with the value of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/versiontag",title:"Versiontag: a Tag that is used to Identify a specific version of a Terminology from within a specific Scope."},"versiontag")," found in the ",(0,n.kt)("inlineCode",{parentName:"p"},"altvsntags"),"-field."),(0,n.kt)("h3",{id:"creating-an-mrg-entry"},"Creating an MRG Entry"),(0,n.kt)("p",null,"An ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," is either"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"a copy of an (existing) ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," that is found in an ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," that lives in another ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),", or"),(0,n.kt)("li",{parentName:"ul"},"it is constructed from a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text"),", the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/header",title:"Header (of a Curated Text): the part at the beginning of that curated text, that starts with a line that (only) contains three subsequent '-'characters, and that ends with a second occurrance of such a line."},"header")," of which always lives in a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-file: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated file")," that is located in the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curatedir",title:"Curatedir: a directory within a Scopedir within which every file contains a Curated Texts for that Scope."},"curatedir")," of the current ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),", as ",(0,n.kt)("a",{parentName:"li",href:"/docs/spec-files/saf#terminology"},"specified")," in the ",(0,n.kt)("inlineCode",{parentName:"li"},"curatedir")," field of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"),", and the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/body",title:"Body (of a Curated Text) the part of a curated text that comes after its its header (also called the 'front-matter')."},"body")," of which can either be found in that same file, or in the file that can be found at the location in the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopedir",title:"Scopedir: a directory in a computer file system that contains all files that are either being Curated within a particular Scope, or generated to serve some purpose within that Scope."},"scopedir")," as specified by the ",(0,n.kt)("inlineCode",{parentName:"li"},"bodyFile"),"-field in the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/header",title:"Header (of a Curated Text): the part at the beginning of that curated text, that starts with a line that (only) contains three subsequent '-'characters, and that ends with a second occurrance of such a line."},"header")," of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text"),".")),(0,n.kt)("h4",{id:"copying-an-mrg-entry-from-an-existing-mrg"},"Copying an MRG Entry from an existing MRG"),(0,n.kt)("admonition",{type:"info"},(0,n.kt)("p",{parentName:"admonition"},"A prerequisite for generating an ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," that includes ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entries: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entries")," from ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRGs")," that are maintained in other ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scopes: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scopes"),", is that such other ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRGs")," must be available in the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/glossarydir",title:"Glossarydir: a directory within a Scopedir within which the different versions of its (Machine Readable and Human Readable) Glossaries are created and maintained."},"glossarydir")," of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," within which the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrgt",title:"MRGT: a software tool designed to create, manage, and process Machine Readable Glossaries (MRGs), as [specified by TEv2](/docs/spec-tools/mrgt). MRGTs offer features for selecting Terms that are Curated within the Scope it is run in, or from other Scopes."},"MRGT")," is run. This can be achieved by running the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-importer",title:"MRG Importer: is a tool in the TEv2 toolbox that is run within a particular Scope for the purpose of obtaining MRGs from other Scopes, as specified in the Scope's SAF, and putting them in the Scope's Glossarydir."},"MRG importer")," ",(0,n.kt)("a",{parentName:"p",href:"/docs/spec-tools/mrg-importer"},"tool"),". If the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," that is to be generated doesn't include such ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entries: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entries"),", the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-importer",title:"MRG Importer: is a tool in the TEv2 toolbox that is run within a particular Scope for the purpose of obtaining MRGs from other Scopes, as specified in the Scope's SAF, and putting them in the Scope's Glossarydir."},"MRG importer")," need not be invoked.")),(0,n.kt)("admonition",{title:"Editor's note",type:"info"},(0,n.kt)("p",{parentName:"admonition"},"this section needs to be reviewed/revisded to ensure it fits with the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-importer",title:"MRG Importer: is a tool in the TEv2 toolbox that is run within a particular Scope for the purpose of obtaining MRGs from other Scopes, as specified in the Scope's SAF, and putting them in the Scope's Glossarydir."},"MRG importer")," specs.")),(0,n.kt)("p",null,"In case the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," is a copy, the ",(0,n.kt)("inlineCode",{parentName:"p"},"vsntag")," ",(0,n.kt)("a",{parentName:"p",href:"/docs/spec-files/mrg#mrg-entries"},"field")," of that ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," should be given the value of the ",(0,n.kt)("inlineCode",{parentName:"p"},"vsntag")," field that is found in the ",(0,n.kt)("a",{parentName:"p",href:"/docs/spec-files/mrg#mrg-terminology"},"'terminology' section")," of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," from which ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," contents was copied."),(0,n.kt)("h4",{id:"constructing-an-mrg-entry-from-a-curated-text"},"Constructing an MRG Entry from a Curated Text"),(0,n.kt)("p",null,"Constructing an ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," from a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text")," is done as follows:"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"create an empty/new ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry"),";"),(0,n.kt)("li",{parentName:"ol"},"if the ",(0,n.kt)("inlineCode",{parentName:"li"},"synonymOf")," field contains a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-identifier",title:"Term Identifier: a Text that Identifies a Knowledge Artifact within a particular Scope, and hence also the Curated Text that describes it, which includes its Definition."},"term identifier")," that ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identifies: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identifies"),(0,n.kt)("ul",{parentName:"li"},(0,n.kt)("li",{parentName:"ul"},"a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text")," in the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," in which the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," is being created, then copy the entire front matter of that ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text")," into the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry"),";",(0,n.kt)("sup",{parentName:"li",id:"fnref-1"},(0,n.kt)("a",{parentName:"sup",href:"#fn-1",className:"footnote-ref"},"1"))),(0,n.kt)("li",{parentName:"ul"},"an ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," in an ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," other than the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," that is being created, then copy that ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," into the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," that has just been created;"))),(0,n.kt)("li",{parentName:"ol"},"if the ",(0,n.kt)("inlineCode",{parentName:"li"},"synonymOf")," field contains a text that is not a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-identifier",title:"Term Identifier: a Text that Identifies a Knowledge Artifact within a particular Scope, and hence also the Curated Text that describes it, which includes its Definition."},"term identifier"),", raise an ",(0,n.kt)("a",{parentName:"li",href:"#exceptions"},"appropriate warning"),";"),(0,n.kt)("li",{parentName:"ol"},"copy every field in the front-matter of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text")," into the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry"),"; if the field already exists in the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry"),", it will be overwritten;"),(0,n.kt)("li",{parentName:"ol"},"discard every field that has a field name that, when converted into lowercase, matches any of the field names in the table below;"),(0,n.kt)("li",{parentName:"ol"},"add the fields in the below table with the specified contents, as follows:")),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Field"),(0,n.kt)("th",{parentName:"tr",align:"left"},"Value(s) that are assigned to the fields"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"scopetag")),(0,n.kt)("td",{parentName:"tr",align:"left"},"overwrite the ",(0,n.kt)("inlineCode",{parentName:"td"},"scopetag")," field with the ",(0,n.kt)("inlineCode",{parentName:"td"},"scopetag")," field as found in the ",(0,n.kt)("inlineCode",{parentName:"td"},"scope")," section of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"locator")),(0,n.kt)("td",{parentName:"tr",align:"left"},"path, relative to ",(0,n.kt)("inlineCode",{parentName:"td"},"scopedir"),"/",(0,n.kt)("inlineCode",{parentName:"td"},"curatedir"),"/, of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text"),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"navurl")),(0,n.kt)("td",{parentName:"tr",align:"left"},"path, relative to the URL as specified in the ",(0,n.kt)("inlineCode",{parentName:"td"},"website")," field in the ",(0,n.kt)("a",{parentName:"td",href:"/docs/spec-files/saf#terminology"},(0,n.kt)("inlineCode",{parentName:"a"},"scope")," section")," of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"),", where the rendered version of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text")," is located.")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"headingids")),(0,n.kt)("td",{parentName:"tr",align:"left"},"a list of the ",(0,n.kt)("a",{parentName:"td",href:"https://www.markdownguide.org/basic-syntax/#headings"},"markdown headings")," and/or ",(0,n.kt)("a",{parentName:"td",href:"https://www.markdownguide.org/extended-syntax/#linking-to-heading-ids"},"heading ids")," that are found in the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/body",title:"Body (of a Curated Text) the part of a curated text that comes after its its header (also called the 'front-matter')."},"body")," of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text"),". Note that this ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/body",title:"Body (of a Curated Text) the part of a curated text that comes after its its header (also called the 'front-matter')."},"body")," can be in a another file that that which contains the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/header",title:"Header (of a Curated Text): the part at the beginning of that curated text, that starts with a line that (only) contains three subsequent '-'characters, and that ends with a second occurrance of such a line."},"header")," of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text"))))),(0,n.kt)("h2",{id:"exceptions"},"Exceptions, Warnings, and Logging"),(0,n.kt)("admonition",{title:"Editor's note",type:"info"},(0,n.kt)("p",{parentName:"admonition"},"This section needs to be reviewed/revised so as to enable a consistent way of error checking and logging, similar to what is done in the TRRT")),(0,n.kt)("p",null,"The general principle is that the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrgt",title:"MRGT: a software tool designed to create, manage, and process Machine Readable Glossaries (MRGs), as [specified by TEv2](/docs/spec-tools/mrgt). MRGTs offer features for selecting Terms that are Curated within the Scope it is run in, or from other Scopes."},"MRGT")," helps its users to do their jobs. This means that errors that terminate the processing are limited to the max, that warnings (perhaps at different 'levels' of detail/severity) are given output whenever possible (yet may be limited by command-line options), and that texts are tailored for the envisaged users of the tool."),(0,n.kt)("p",null,"The ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrgt",title:"MRGT: a software tool designed to create, manage, and process Machine Readable Glossaries (MRGs), as [specified by TEv2](/docs/spec-tools/mrgt). MRGTs offer features for selecting Terms that are Curated within the Scope it is run in, or from other Scopes."},"MRGT")," logs conditions that prevent it from properly:"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"obtaining the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopedir",title:"Scopedir: a directory in a computer file system that contains all files that are either being Curated within a particular Scope, or generated to serve some purpose within that Scope."},"scopedir")," from a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopetag",title:"Scopetag: a Tag that is used to Identify Scopes from within a specific Scope"},"scopetag"),";"),(0,n.kt)("li",{parentName:"ul"},"parsing a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text")," (e.g. because it is not in the expected format);"),(0,n.kt)("li",{parentName:"ul"},"resolving ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Terms: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"terms"),", ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopetag",title:"Scope-tags: a Tag that is used to Identify Scopes from within a specific Scope"},"scope tags"),", ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/grouptag",title:"Group-tags: a Tag that is used to group Terms within a specific Scope."},"group tags"),", or ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/versiontag",title:"Version-tags: a Tag that is used to Identify a specific version of a Terminology from within a specific Scope."},"version tags"),";"),(0,n.kt)("li",{parentName:"ul"},"writing the output (e.g. because it has no write-permission for the designated location);"),(0,n.kt)("li",{parentName:"ul"},"etc.;")),(0,n.kt)("p",null,"Also, the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrgt",title:"MRGT: a software tool designed to create, manage, and process Machine Readable Glossaries (MRGs), as [specified by TEv2](/docs/spec-tools/mrgt). MRGTs offer features for selecting Terms that are Curated within the Scope it is run in, or from other Scopes."},"MRGT")," provides suggestions that help tool-operators (",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curator",title:"Curator: {(noRefs glossaryText)}"},"curators"),") to not only identify, but also fix any problems."),(0,n.kt)("p",null,"The ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrgt",title:"MRGT: a software tool designed to create, manage, and process Machine Readable Glossaries (MRGs), as [specified by TEv2](/docs/spec-tools/mrgt). MRGTs offer features for selecting Terms that are Curated within the Scope it is run in, or from other Scopes."},"MRGT")," comes with documentation that enables developers to ascertain its correct functioning (e.g. by using a test set of files, test scripts that exercise its parameters, etc.), and also enables them to deploy the tool in a git repo and author/modify CI-pipes to use that deployment."),(0,n.kt)("h2",{id:"notes"},"Notes"),(0,n.kt)("div",{className:"footnotes"},(0,n.kt)("hr",{parentName:"div"}),(0,n.kt)("ol",{parentName:"div"},(0,n.kt)("li",{parentName:"ol",id:"fn-1"},"The algorithm ensures that an ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," for a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Term: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"term")," that is a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/synonym",title:"Synonym: a Term that has the same (or similar) meaning as another Term."},"synonym")," of another ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Term: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"term")," identical to the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," for that other ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Term: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"term"),", but if the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text")," that specifies the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/synonym",title:"Synonym: a Term that has the same (or similar) meaning as another Term."},"synonym")," has additional front matter (e.g. a slightly modified ",(0,n.kt)("inlineCode",{parentName:"li"},"glossaryText")," field), that front matter is retained in the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry"),". It is up to the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/author",title:"Author: a person that creates a text that is meant to be read and understood by others - usually, a particular audience."},"author")," of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text")," to make sure this does not pose any problems, and up to the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/ict",title:"Integrity Checker Tool (ICT): a software tool designed to check the integrity and conformity of various files used in the curation and management of Glossaries, Dictionaries, Curated Texts, and other data within a terminology project. The ICT verifies that the files adhere to the TEv2 File Specifications, ensuring the consistency and accuracy of the terminology data."},"ICT")," to do appropriate checks.",(0,n.kt)("a",{parentName:"li",href:"#fnref-1",className:"footnote-backref"},"\u21a9")))))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/23374ca6.8f01ae36.js b/assets/js/23374ca6.7f75b21e.js similarity index 99% rename from assets/js/23374ca6.8f01ae36.js rename to assets/js/23374ca6.7f75b21e.js index 5fca224e11..9ba82bc68b 100644 --- a/assets/js/23374ca6.8f01ae36.js +++ b/assets/js/23374ca6.7f75b21e.js @@ -1 +1 @@ -"use strict";(self.webpackChunktev2_specifications=self.webpackChunktev2_specifications||[]).push([[8421],{3905:function(e,t,o){o.d(t,{Zo:function(){return u},kt:function(){return f}});var n=o(7294);function r(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function i(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,n)}return o}function a(e){for(var t=1;t=0||(r[o]=e[o]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(r[o]=e[o])}return r}var c=n.createContext({}),l=function(e){var t=n.useContext(c),o=t;return e&&(o="function"==typeof e?e(t):a(a({},t),e)),o},u=function(e){var t=l(e.components);return n.createElement(c.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var o=e.components,r=e.mdxType,i=e.originalType,c=e.parentName,u=s(e,["components","mdxType","originalType","parentName"]),m=l(o),f=r,d=m["".concat(c,".").concat(f)]||m[f]||p[f]||i;return o?n.createElement(d,a(a({ref:t},u),{},{components:o})):n.createElement(d,a({ref:t},u))}));function f(e,t){var o=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=o.length,a=new Array(i);a[0]=m;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s.mdxType="string"==typeof e?e:r,a[1]=s;for(var l=2;l=0||(r[o]=e[o]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(r[o]=e[o])}return r}var c=n.createContext({}),l=function(e){var t=n.useContext(c),o=t;return e&&(o="function"==typeof e?e(t):a(a({},t),e)),o},u=function(e){var t=l(e.components);return n.createElement(c.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var o=e.components,r=e.mdxType,i=e.originalType,c=e.parentName,u=s(e,["components","mdxType","originalType","parentName"]),m=l(o),f=r,d=m["".concat(c,".").concat(f)]||m[f]||p[f]||i;return o?n.createElement(d,a(a({ref:t},u),{},{components:o})):n.createElement(d,a({ref:t},u))}));function f(e,t){var o=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=o.length,a=new Array(i);a[0]=m;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s.mdxType="string"==typeof e?e:r,a[1]=s;for(var l=2;l=0||(n[o]=e[o]);return n}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(n[o]=e[o])}return n}var c=i.createContext({}),l=function(e){var t=i.useContext(c),o=t;return e&&(o="function"==typeof e?e(t):a(a({},t),e)),o},m=function(e){var t=l(e.components);return i.createElement(c.Provider,{value:t},e.children)},h={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},d=i.forwardRef((function(e,t){var o=e.components,n=e.mdxType,s=e.originalType,c=e.parentName,m=r(e,["components","mdxType","originalType","parentName"]),d=l(o),p=n,g=d["".concat(c,".").concat(p)]||d[p]||h[p]||s;return o?i.createElement(g,a(a({ref:t},m),{},{components:o})):i.createElement(g,a({ref:t},m))}));function p(e,t){var o=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var s=o.length,a=new Array(s);a[0]=d;var r={};for(var c in t)hasOwnProperty.call(t,c)&&(r[c]=t[c]);r.originalType=e,r.mdxType="string"==typeof e?e:n,a[1]=r;for(var l=2;l=0||(n[o]=e[o]);return n}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(n[o]=e[o])}return n}var c=i.createContext({}),l=function(e){var t=i.useContext(c),o=t;return e&&(o="function"==typeof e?e(t):a(a({},t),e)),o},m=function(e){var t=l(e.components);return i.createElement(c.Provider,{value:t},e.children)},h={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},d=i.forwardRef((function(e,t){var o=e.components,n=e.mdxType,s=e.originalType,c=e.parentName,m=r(e,["components","mdxType","originalType","parentName"]),d=l(o),p=n,g=d["".concat(c,".").concat(p)]||d[p]||h[p]||s;return o?i.createElement(g,a(a({ref:t},m),{},{components:o})):i.createElement(g,a({ref:t},m))}));function p(e,t){var o=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var s=o.length,a=new Array(s);a[0]=d;var r={};for(var c in t)hasOwnProperty.call(t,c)&&(r[c]=t[c]);r.originalType=e,r.mdxType="string"==typeof e?e:n,a[1]=r;for(var l=2;l=0||(n[i]=e[i]);return n}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(n[i]=e[i])}return n}var c=o.createContext({}),l=function(e){var t=o.useContext(c),i=t;return e&&(i="function"==typeof e?e(t):a(a({},t),e)),i},p=function(e){var t=l(e.components);return o.createElement(c.Provider,{value:t},e.children)},h={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},d=o.forwardRef((function(e,t){var i=e.components,n=e.mdxType,s=e.originalType,c=e.parentName,p=r(e,["components","mdxType","originalType","parentName"]),d=l(i),f=n,u=d["".concat(c,".").concat(f)]||d[f]||h[f]||s;return i?o.createElement(u,a(a({ref:t},p),{},{components:i})):o.createElement(u,a({ref:t},p))}));function f(e,t){var i=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var s=i.length,a=new Array(s);a[0]=d;var r={};for(var c in t)hasOwnProperty.call(t,c)&&(r[c]=t[c]);r.originalType=e,r.mdxType="string"==typeof e?e:n,a[1]=r;for(var l=2;l=0||(n[i]=e[i]);return n}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(n[i]=e[i])}return n}var c=o.createContext({}),l=function(e){var t=o.useContext(c),i=t;return e&&(i="function"==typeof e?e(t):a(a({},t),e)),i},p=function(e){var t=l(e.components);return o.createElement(c.Provider,{value:t},e.children)},h={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},d=o.forwardRef((function(e,t){var i=e.components,n=e.mdxType,s=e.originalType,c=e.parentName,p=r(e,["components","mdxType","originalType","parentName"]),d=l(i),f=n,u=d["".concat(c,".").concat(f)]||d[f]||h[f]||s;return i?o.createElement(u,a(a({ref:t},p),{},{components:i})):o.createElement(u,a({ref:t},p))}));function f(e,t){var i=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var s=i.length,a=new Array(s);a[0]=d;var r={};for(var c in t)hasOwnProperty.call(t,c)&&(r[c]=t[c]);r.originalType=e,r.mdxType="string"==typeof e?e:n,a[1]=r;for(var l=2;l=0||(a[o]=t[o]);return a}(t,e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(t,o)&&(a[o]=t[o])}return a}var c=i.createContext({}),h=function(t){var e=i.useContext(c),o=e;return t&&(o="function"==typeof t?t(e):s(s({},e),t)),o},d=function(t){var e=h(t.components);return i.createElement(c.Provider,{value:e},t.children)},u={inlineCode:"code",wrapper:function(t){var e=t.children;return i.createElement(i.Fragment,{},e)}},l=i.forwardRef((function(t,e){var o=t.components,a=t.mdxType,n=t.originalType,c=t.parentName,d=r(t,["components","mdxType","originalType","parentName"]),l=h(o),m=a,p=l["".concat(c,".").concat(m)]||l[m]||u[m]||n;return o?i.createElement(p,s(s({ref:e},d),{},{components:o})):i.createElement(p,s({ref:e},d))}));function m(t,e){var o=arguments,a=e&&e.mdxType;if("string"==typeof t||a){var n=o.length,s=new Array(n);s[0]=l;var r={};for(var c in e)hasOwnProperty.call(e,c)&&(r[c]=e[c]);r.originalType=t,r.mdxType="string"==typeof t?t:a,s[1]=r;for(var h=2;h=0||(a[o]=t[o]);return a}(t,e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(t,o)&&(a[o]=t[o])}return a}var c=i.createContext({}),h=function(t){var e=i.useContext(c),o=e;return t&&(o="function"==typeof t?t(e):s(s({},e),t)),o},d=function(t){var e=h(t.components);return i.createElement(c.Provider,{value:e},t.children)},u={inlineCode:"code",wrapper:function(t){var e=t.children;return i.createElement(i.Fragment,{},e)}},l=i.forwardRef((function(t,e){var o=t.components,a=t.mdxType,n=t.originalType,c=t.parentName,d=r(t,["components","mdxType","originalType","parentName"]),l=h(o),m=a,p=l["".concat(c,".").concat(m)]||l[m]||u[m]||n;return o?i.createElement(p,s(s({ref:e},d),{},{components:o})):i.createElement(p,s({ref:e},d))}));function m(t,e){var o=arguments,a=e&&e.mdxType;if("string"==typeof t||a){var n=o.length,s=new Array(n);s[0]=l;var r={};for(var c in e)hasOwnProperty.call(e,c)&&(r[c]=e[c]);r.originalType=t,r.mdxType="string"==typeof t?t:a,s[1]=r;for(var h=2;h=0||(i[o]=e[o]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(i[o]=e[o])}return i}var c=n.createContext({}),l=function(e){var t=n.useContext(c),o=t;return e&&(o="function"==typeof e?e(t):s(s({},t),e)),o},h=function(e){var t=l(e.components);return n.createElement(c.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},p=n.forwardRef((function(e,t){var o=e.components,i=e.mdxType,a=e.originalType,c=e.parentName,h=r(e,["components","mdxType","originalType","parentName"]),p=l(o),m=i,u=p["".concat(c,".").concat(m)]||p[m]||d[m]||a;return o?n.createElement(u,s(s({ref:t},h),{},{components:o})):n.createElement(u,s({ref:t},h))}));function m(e,t){var o=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var a=o.length,s=new Array(a);s[0]=p;var r={};for(var c in t)hasOwnProperty.call(t,c)&&(r[c]=t[c]);r.originalType=e,r.mdxType="string"==typeof e?e:i,s[1]=r;for(var l=2;l=0||(i[o]=e[o]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(i[o]=e[o])}return i}var c=n.createContext({}),l=function(e){var t=n.useContext(c),o=t;return e&&(o="function"==typeof e?e(t):s(s({},t),e)),o},h=function(e){var t=l(e.components);return n.createElement(c.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},p=n.forwardRef((function(e,t){var o=e.components,i=e.mdxType,a=e.originalType,c=e.parentName,h=r(e,["components","mdxType","originalType","parentName"]),p=l(o),m=i,u=p["".concat(c,".").concat(m)]||p[m]||d[m]||a;return o?n.createElement(u,s(s({ref:t},h),{},{components:o})):n.createElement(u,s({ref:t},h))}));function m(e,t){var o=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var a=o.length,s=new Array(a);s[0]=p;var r={};for(var c in t)hasOwnProperty.call(t,c)&&(r[c]=t[c]);r.originalType=e,r.mdxType="string"==typeof e?e:i,s[1]=r;for(var l=2;l=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var c=o.createContext({}),l=function(e){var t=o.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):a(a({},t),e)),n},d=function(e){var t=l(e.components);return o.createElement(c.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},p=o.forwardRef((function(e,t){var n=e.components,i=e.mdxType,r=e.originalType,c=e.parentName,d=s(e,["components","mdxType","originalType","parentName"]),p=l(n),h=i,u=p["".concat(c,".").concat(h)]||p[h]||m[h]||r;return n?o.createElement(u,a(a({ref:t},d),{},{components:n})):o.createElement(u,a({ref:t},d))}));function h(e,t){var n=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var r=n.length,a=new Array(r);a[0]=p;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s.mdxType="string"==typeof e?e:i,a[1]=s;for(var l=2;l=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var c=o.createContext({}),l=function(e){var t=o.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):a(a({},t),e)),n},d=function(e){var t=l(e.components);return o.createElement(c.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},p=o.forwardRef((function(e,t){var n=e.components,i=e.mdxType,r=e.originalType,c=e.parentName,d=s(e,["components","mdxType","originalType","parentName"]),p=l(n),h=i,u=p["".concat(c,".").concat(h)]||p[h]||m[h]||r;return n?o.createElement(u,a(a({ref:t},d),{},{components:n})):o.createElement(u,a({ref:t},d))}));function h(e,t){var n=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var r=n.length,a=new Array(r);a[0]=p;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s.mdxType="string"==typeof e?e:i,a[1]=s;for(var l=2;l=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var l=n.createContext({}),c=function(e){var t=n.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},d=function(e){var t=c(e.components);return n.createElement(l.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},u=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,o=e.originalType,l=e.parentName,d=s(e,["components","mdxType","originalType","parentName"]),u=c(r),m=a,f=u["".concat(l,".").concat(m)]||u[m]||p[m]||o;return r?n.createElement(f,i(i({ref:t},d),{},{components:r})):n.createElement(f,i({ref:t},d))}));function m(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=r.length,i=new Array(o);i[0]=u;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s.mdxType="string"==typeof e?e:a,i[1]=s;for(var c=2;c=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var l=n.createContext({}),c=function(e){var t=n.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},d=function(e){var t=c(e.components);return n.createElement(l.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},u=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,o=e.originalType,l=e.parentName,d=s(e,["components","mdxType","originalType","parentName"]),u=c(r),m=a,f=u["".concat(l,".").concat(m)]||u[m]||p[m]||o;return r?n.createElement(f,i(i({ref:t},d),{},{components:r})):n.createElement(f,i({ref:t},d))}));function m(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=r.length,i=new Array(o);i[0]=u;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s.mdxType="string"==typeof e?e:a,i[1]=s;for(var c=2;c=0||(n[i]=e[i]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(n[i]=e[i])}return n}var l=a.createContext({}),c=function(e){var t=a.useContext(l),i=t;return e&&(i="function"==typeof e?e(t):r(r({},t),e)),i},d=function(e){var t=c(e.components);return a.createElement(l.Provider,{value:t},e.children)},h={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},p=a.forwardRef((function(e,t){var i=e.components,n=e.mdxType,o=e.originalType,l=e.parentName,d=s(e,["components","mdxType","originalType","parentName"]),p=c(i),m=n,f=p["".concat(l,".").concat(m)]||p[m]||h[m]||o;return i?a.createElement(f,r(r({ref:t},d),{},{components:i})):a.createElement(f,r({ref:t},d))}));function m(e,t){var i=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=i.length,r=new Array(o);r[0]=p;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s.mdxType="string"==typeof e?e:n,r[1]=s;for(var c=2;c child <"+("string"==typeof e.type?e.type:e.type.name)+'>: all children of the component should be , and every should have a unique "value" prop.')})))?void 0:i.filter(Boolean))?t:[]}(e).map((function(e){var t=e.props;return{value:t.value,label:t.label,attributes:t.attributes,default:t.default}}))}function p(e){var t=e.values,i=e.children;return(0,n.useMemo)((function(){var e=null!=t?t:h(i);return function(e){var t=(0,c.l)(e,(function(e,t){return e.value===t.value}));if(t.length>0)throw new Error('Docusaurus error: Duplicate values "'+t.map((function(e){return e.value})).join(", ")+'" found in . Every value needs to be unique.')}(e),e}),[t,i])}function m(e){var t=e.value;return e.tabValues.some((function(e){return e.value===t}))}function f(e){var t=e.queryString,i=void 0!==t&&t,a=e.groupId,o=(0,s.k6)(),r=function(e){var t=e.queryString,i=void 0!==t&&t,a=e.groupId;if("string"==typeof i)return i;if(!1===i)return null;if(!0===i&&!a)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return null!=a?a:null}({queryString:i,groupId:a});return[(0,l._X)(r),(0,n.useCallback)((function(e){if(r){var t=new URLSearchParams(o.location.search);t.set(r,e),o.replace(Object.assign({},o.location,{search:t.toString()}))}}),[r,o])]}function u(e){var t,i,a,o,r=e.defaultValue,s=e.queryString,l=void 0!==s&&s,c=e.groupId,h=p(e),u=(0,n.useState)((function(){return function(e){var t,i=e.defaultValue,a=e.tabValues;if(0===a.length)throw new Error("Docusaurus error: the component requires at least one children component");if(i){if(!m({value:i,tabValues:a}))throw new Error('Docusaurus error: The has a defaultValue "'+i+'" but none of its children has the corresponding value. Available values are: '+a.map((function(e){return e.value})).join(", ")+". If you intend to show no default tab, use defaultValue={null} instead.");return i}var n=null!=(t=a.find((function(e){return e.default})))?t:a[0];if(!n)throw new Error("Unexpected error: 0 tabValues");return n.value}({defaultValue:r,tabValues:h})})),g=u[0],y=u[1],k=f({queryString:l,groupId:c}),v=k[0],b=k[1],C=(t=function(e){return e?"docusaurus.tab."+e:null}({groupId:c}.groupId),i=(0,d.Nk)(t),a=i[0],o=i[1],[a,(0,n.useCallback)((function(e){t&&o.set(e)}),[t,o])]),w=C[0],T=C[1],N=function(){var e=null!=v?v:w;return m({value:e,tabValues:h})?e:null}();return(0,n.useLayoutEffect)((function(){N&&y(N)}),[N]),{selectedValue:g,selectValue:(0,n.useCallback)((function(e){if(!m({value:e,tabValues:h}))throw new Error("Can't select invalid tab value="+e);y(e),b(e),T(e)}),[b,T,h]),tabValues:h}}var g=i(2389),y="tabList__CuJ",k="tabItem_LNqP";function v(e){var t=e.className,i=e.block,s=e.selectedValue,l=e.selectValue,c=e.tabValues,d=[],h=(0,r.o5)().blockElementScrollPositionUntilNextRender,p=function(e){var t=e.currentTarget,i=d.indexOf(t),a=c[i].value;a!==s&&(h(t),l(a))},m=function(e){var t,i=null;switch(e.key){case"Enter":p(e);break;case"ArrowRight":var a,n=d.indexOf(e.currentTarget)+1;i=null!=(a=d[n])?a:d[0];break;case"ArrowLeft":var o,r=d.indexOf(e.currentTarget)-1;i=null!=(o=d[r])?o:d[d.length-1]}null==(t=i)||t.focus()};return n.createElement("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,o.Z)("tabs",{"tabs--block":i},t)},c.map((function(e){var t=e.value,i=e.label,r=e.attributes;return n.createElement("li",(0,a.Z)({role:"tab",tabIndex:s===t?0:-1,"aria-selected":s===t,key:t,ref:function(e){return d.push(e)},onKeyDown:m,onClick:p},r,{className:(0,o.Z)("tabs__item",k,null==r?void 0:r.className,{"tabs__item--active":s===t})}),null!=i?i:t)})))}function b(e){var t=e.lazy,i=e.children,a=e.selectedValue,o=(Array.isArray(i)?i:[i]).filter(Boolean);if(t){var r=o.find((function(e){return e.props.value===a}));return r?(0,n.cloneElement)(r,{className:"margin-top--md"}):null}return n.createElement("div",{className:"margin-top--md"},o.map((function(e,t){return(0,n.cloneElement)(e,{key:t,hidden:e.props.value!==a})})))}function C(e){var t=u(e);return n.createElement("div",{className:(0,o.Z)("tabs-container",y)},n.createElement(v,(0,a.Z)({},e,t)),n.createElement(b,(0,a.Z)({},e,t)))}function w(e){var t=(0,g.Z)();return n.createElement(C,(0,a.Z)({key:String(t)},e))}},6592:function(e,t,i){i.r(t),i.d(t,{assets:function(){return p},contentTitle:function(){return d},default:function(){return g},frontMatter:function(){return c},mark:function(){return f},metadata:function(){return h},toc:function(){return m}});var a=i(7462),n=i(3366),o=(i(7294),i(3905)),r=(i(4996),i(4866)),s=i(5162),l=["components"],c={id:"ict",sidebar_label:"Integrity Checking",date:20220421},d=void 0,h={unversionedId:"spec-tools/ict",id:"spec-tools/ict",title:"ict",description:"text to mark",source:"@site/docs/spec-tools/11-ict.md",sourceDirName:"spec-tools",slug:"/spec-tools/ict",permalink:"/tev2-specifications/docs/spec-tools/ict",draft:!1,editUrl:"https://github.com/tno-terminology-design/tev2-specifications/blob/master/docs/spec-tools/11-ict.md",tags:[],version:"current",lastUpdatedBy:"Kees",lastUpdatedAt:1694174606,formattedLastUpdatedAt:"Sep 8, 2023",sidebarPosition:11,frontMatter:{id:"ict",sidebar_label:"Integrity Checking",date:20220421},sidebar:"tev2SideBar",previous:{title:"TEv2 Terminology Toolbox",permalink:"/tev2-specifications/docs/tev2-toolbox"},next:{title:"MRG Importer",permalink:"/tev2-specifications/docs/spec-tools/mrg-importer"}},p={},m=[{value:"Calling the Tool",id:"calling-the-tool",level:2},{value:"Parameters (Command-line arguments)",id:"parameters-command-line-arguments",level:3},{value:"Integrity Checks",id:"integrity-checks",level:2},{value:"SAF integrity",id:"saf-integrity",level:3},{value:"MRG integrity",id:"mrg-integrity",level:3},{value:"Header fields for termType: relation",id:"header-fields-for-termtype-relation",level:3},{value:"Curated Text integrity",id:"curated-text-integrity",level:3},{value:"Concepts",id:"concepts",level:4},{value:"Patterns",id:"patterns",level:4},{value:"Processing, Errors and Warnings",id:"processing-errors-and-warnings",level:2},{value:"Deploying the Tool",id:"deploying-the-tool",level:2},{value:"Discussion Notes",id:"discussion-notes",level:2}],f=function(e){var t=e.children;return(0,o.kt)("span",{style:{color:"black",backgroundColor:"yellow",padding:"0.2rem",borderRadius:"2px"}},t)},u={toc:m,mark:f};function g(e){var t=e.components,i=(0,n.Z)(e,l);return(0,o.kt)("wrapper",(0,a.Z)({},u,i,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("admonition",{title:"Editor's note",type:"info"},(0,o.kt)("p",{parentName:"admonition"},"The text below will need a thorough revision due to various changes that have not yet been taken into account")),(0,o.kt)("h1",{id:"integrity-checker-tool-ict"},"Integrity Checker Tool (ICT)"),(0,o.kt)("admonition",{type:"caution"},(0,o.kt)("p",{parentName:"admonition"},"The entire section on Terminology Engine v 2 (TEv2) is still under construction.",(0,o.kt)("br",null),"\nAs TEv2 is not (yet) available, the texts that specify the tool are still 'raw', i.e. not yet processed.",(0,o.kt)("br",null),(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/reader",title:"Reader: a person that reads a text that is authored by another person (its Author]), and that tries to understand the meaning of this text in the way its Author intended."},"readers")," will need to see through some (currently unprocessed) notational conventions.")),(0,o.kt)("p",null,"The ",(0,o.kt)("strong",{parentName:"p"},"Integrity Checker Tool (",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/ict",title:"Integrity Checker Tool (ICT): a software tool designed to check the integrity and conformity of various files used in the curation and management of Glossaries, Dictionaries, Curated Texts, and other data within a terminology project. The ICT verifies that the files adhere to the TEv2 File Specifications, ensuring the consistency and accuracy of the terminology data."},"ICT"),")")," tests the integrity of (a selection of) the data in files that are ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curate",title:"Curate: to select, organize, and present Terms, Definitions, and other, related content in a thoughtful and purposeful manner to establish shared understanding among a Community working together on a particular set of objectives."},"curated")," within a particular ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),", i.e. the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"),", the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRGs"),", and ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-texts: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated texts"),". The integrity checking of other data, e.g. ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/formatted-text",title:"Formatted Text: a text that has been processed and arranged to have a specific layout, style, and presentation, making it visually appealing and easy to read."},"formatted texts"),", such as ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/hrg",title:"Human Readable Glossary (HRG): a Glossary that is designed to be easily understandable and accessible to humans. HRGs present terms and their meanings in a format that prioritizes human comprehension and may include additional contextual information to aid understanding."},"HRGs"),", is outside the scope of the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/ict",title:"Integrity Checker Tool (ICT): a software tool designed to check the integrity and conformity of various files used in the curation and management of Glossaries, Dictionaries, Curated Texts, and other data within a terminology project. The ICT verifies that the files adhere to the TEv2 File Specifications, ensuring the consistency and accuracy of the terminology data."},"ICT"),"."),(0,o.kt)("p",null,"In order for the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/ict",title:"Integrity Checker Tool (ICT): a software tool designed to check the integrity and conformity of various files used in the curation and management of Glossaries, Dictionaries, Curated Texts, and other data within a terminology project. The ICT verifies that the files adhere to the TEv2 File Specifications, ensuring the consistency and accuracy of the terminology data."},"ICT")," to be used optimally, it will assume for specific kinds of files that the integrity of other files is guaranteed, as follows:"),(0,o.kt)("table",null,(0,o.kt)("thead",{parentName:"table"},(0,o.kt)("tr",{parentName:"thead"},(0,o.kt)("th",{parentName:"tr",align:"left"},"When testing a ... ,"),(0,o.kt)("th",{parentName:"tr",align:"left"},"the integrity is assumed of"))),(0,o.kt)("tbody",{parentName:"table"},(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:"left"},(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")),(0,o.kt)("td",{parentName:"tr",align:"left"},(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"))),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:"left"},(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-file: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated file")),(0,o.kt)("td",{parentName:"tr",align:"left"},(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," and ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"))))),(0,o.kt)("p",null,"The idea behind this is to enable ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curator",title:"Curator: {(noRefs glossaryText)}"},"curators")," to only test changes they have made rather than testing the entire set of files."),(0,o.kt)("admonition",{title:"Editor's Note",type:"info"},(0,o.kt)("p",{parentName:"admonition"},"As the tool hasn't been made, and no practical experience has been gained, many of these optimizations may not work in the first versions.")),(0,o.kt)("admonition",{title:"Editor's Note",type:"info"},(0,o.kt)("p",{parentName:"admonition"},"There's a lot of duplication in syntax specs. For example, the ",(0,o.kt)("a",{parentName:"p",href:"docs/spec-files/saf"},"SAF spec")," and ",(0,o.kt)("a",{parentName:"p",href:"/docs/spec-files/mrg"},"MRG spec")," define the regex for various kinds of tags all over the place. It would be nice to have a way by which syntax can be specified in one location that is 'naturally predictable' so that both readers and maintainers of the documentation can easily find it. One way might be to include the syntax in a 'popover', i.e. that we define stuff with particular syntax as a ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/concept",title:"Concept: a Knowledge Artifact that captures the ideas/thoughts behind a classification of Entities (what makes Entities in that class 'the same')."},"concept")," and have the syntax be included in its ",(0,o.kt)("inlineCode",{parentName:"p"},"hoverText"),".")),(0,o.kt)("h2",{id:"calling-the-tool"},"Calling the Tool"),(0,o.kt)("p",null,"The behavior of the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/ict",title:"Integrity Checker Tool (ICT): a software tool designed to check the integrity and conformity of various files used in the curation and management of Glossaries, Dictionaries, Curated Texts, and other data within a terminology project. The ICT verifies that the files adhere to the TEv2 File Specifications, ensuring the consistency and accuracy of the terminology data."},"ICT")," can be configured per call e.g. by a configuration file and/or command-line parameters. Examples include specifications for:"),(0,o.kt)("p",null,"The command-line syntax is as follows:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre"},"ict [ ] [ ]\n")),(0,o.kt)("table",null,(0,o.kt)("thead",{parentName:"table"},(0,o.kt)("tr",{parentName:"thead"},(0,o.kt)("th",{parentName:"tr",align:"left"},"Where:"),(0,o.kt)("th",{parentName:"tr",align:"left"}))),(0,o.kt)("tbody",{parentName:"table"},(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:"left"},(0,o.kt)("inlineCode",{parentName:"td"},"")),(0,o.kt)("td",{parentName:"tr",align:"left"},"(optional) specifies the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopedir",title:"Scopedir: a directory in a computer file system that contains all files that are either being Curated within a particular Scope, or generated to serve some purpose within that Scope."},"scopedir")," of the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," whose integrity is to be tested. If ",(0,o.kt)("inlineCode",{parentName:"td"},"")," is omitted and a configuration file is used, its value is read from that file. If cases where ",(0,o.kt)("inlineCode",{parentName:"td"},"")," isn't specified, the current directory is assumed to be the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopedir",title:"Scopedir: a directory in a computer file system that contains all files that are either being Curated within a particular Scope, or generated to serve some purpose within that Scope."},"scopedir"),".",(0,o.kt)("br",null),'In this document, we use the term "',(0,o.kt)("strong",{parentName:"td"},"this scopedir"),'" to refer to the value of ',(0,o.kt)("inlineCode",{parentName:"td"},""),", and ",(0,o.kt)("strong",{parentName:"td"},"this scope"),'" to refer to the associated ',(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),".")),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:"left"},(0,o.kt)("inlineCode",{parentName:"td"},"")),(0,o.kt)("td",{parentName:"tr",align:"left"},"The following commands are valid:",(0,o.kt)("br",null),(0,o.kt)("ul",null,(0,o.kt)("li",null,(0,o.kt)("inlineCode",{parentName:"td"},"-saf"),": check the integrity of the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scopes: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope's")," ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"),". It does not take any further parameters."),(0,o.kt)("li",null,(0,o.kt)("inlineCode",{parentName:"td"},"-mrg"),": check the integrity of (one of) the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scopes: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope's")," ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG(s)"),". Additional parameters can be used, e.g. to specify a particular version of the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," to be checked."),(0,o.kt)("li",null,(0,o.kt)("inlineCode",{parentName:"td"},"-txt"),": check the integrity of ",(0,o.kt)("em",{parentName:"td"},"this scope's")," ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-files: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated files"),". Additional parameters can be used, e.g. to select a particular subset of these files."),(0,o.kt)("li",null,(0,o.kt)("inlineCode",{parentName:"td"},"-all"),": check all ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curate",title:"Curate: to select, organize, and present Terms, Definitions, and other, related content in a thoughtful and purposeful manner to establish shared understanding among a Community working together on a particular set of objectives."},"curated")," files within ",(0,o.kt)("em",{parentName:"td"},"this scope"),". Additional parameters may be used, e.g. to skip the checking of specific files.")))),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:"left"},(0,o.kt)("inlineCode",{parentName:"td"},"")),(0,o.kt)("td",{parentName:"tr",align:"left"},"a list of parameters that provide further specifications for what the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/ict",title:"Integrity Checker Tool (ICT): a software tool designed to check the integrity and conformity of various files used in the curation and management of Glossaries, Dictionaries, Curated Texts, and other data within a terminology project. The ICT verifies that the files adhere to the TEv2 File Specifications, ensuring the consistency and accuracy of the terminology data."},"ICT")," should be checking.")))),(0,o.kt)("h3",{id:"parameters-command-line-arguments"},"Parameters (Command-line arguments)"),(0,o.kt)("admonition",{title:"Editor's Note",type:"info"},(0,o.kt)("p",{parentName:"admonition"},"The current set of parameters is just an initial suggestion. We'll need to see what will actually be needed in practice.")),(0,o.kt)("details",null,(0,o.kt)("summary",null,"Legend"),(0,o.kt)("p",null,"The columns in the following table are defined as follows:"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("strong",{parentName:"li"},(0,o.kt)("inlineCode",{parentName:"strong"},"Key"))," is the text to be used as a key."),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("strong",{parentName:"li"},(0,o.kt)("inlineCode",{parentName:"strong"},"Value"))," represents the kind of value to be used."),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("strong",{parentName:"li"},(0,o.kt)("inlineCode",{parentName:"strong"},"Req'd"))," specifies whether (",(0,o.kt)("inlineCode",{parentName:"li"},"Y"),") or not (",(0,o.kt)("inlineCode",{parentName:"li"},"n"),") the field is required to be present when the tool is being called. If (always) required, it MUST either be present in the configuration file, or as a command-line parameter."),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("strong",{parentName:"li"},(0,o.kt)("inlineCode",{parentName:"strong"},"Cmd"))," specifies a ",(0,o.kt)("inlineCode",{parentName:"li"},"")," value: if the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/ict",title:"Integrity Checker Tool (ICT): a software tool designed to check the integrity and conformity of various files used in the curation and management of Glossaries, Dictionaries, Curated Texts, and other data within a terminology project. The ICT verifies that the files adhere to the TEv2 File Specifications, ensuring the consistency and accuracy of the terminology data."},"ICT")," is called with this ",(0,o.kt)("inlineCode",{parentName:"li"},""),", then this parameter will be used by the tool as described. A ",(0,o.kt)("inlineCode",{parentName:"li"},"*")," in this field indicates that this parameter can be used with every command."),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("strong",{parentName:"li"},(0,o.kt)("inlineCode",{parentName:"strong"},"Description"))," specifies the meaning of the ",(0,o.kt)("inlineCode",{parentName:"li"},"Value")," field, and other things you may need to know, e.g. why it is needed, a required syntax, etc."))),(0,o.kt)("table",null,(0,o.kt)("thead",{parentName:"table"},(0,o.kt)("tr",{parentName:"thead"},(0,o.kt)("th",{parentName:"tr",align:"left"},"Key"),(0,o.kt)("th",{parentName:"tr",align:"left"},"Value"),(0,o.kt)("th",{parentName:"tr",align:"center"},"Req'd"),(0,o.kt)("th",{parentName:"tr",align:"center"},"Cmds"),(0,o.kt)("th",{parentName:"tr",align:"left"},"Description"))),(0,o.kt)("tbody",{parentName:"table"},(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:"left"},(0,o.kt)("inlineCode",{parentName:"td"},"config")),(0,o.kt)("td",{parentName:"tr",align:"left"},(0,o.kt)("inlineCode",{parentName:"td"},"")),(0,o.kt)("td",{parentName:"tr",align:"center"},"n"),(0,o.kt)("td",{parentName:"tr",align:"center"},"*"),(0,o.kt)("td",{parentName:"tr",align:"left"},"Path (including the filename) of the tool's (YAML) configuration file. This file contains the default key-value pairs to be used. Allowed keys (and the associated values) are documented in this table. Command-line arguments override key-value pairs specified in the configuration file. This parameter SHOULD NOT appear in the configuration file itself.")),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:"left"},(0,o.kt)("inlineCode",{parentName:"td"},"scopedir")),(0,o.kt)("td",{parentName:"tr",align:"left"},(0,o.kt)("inlineCode",{parentName:"td"},"")),(0,o.kt)("td",{parentName:"tr",align:"center"},"Y"),(0,o.kt)("td",{parentName:"tr",align:"center"},"*"),(0,o.kt)("td",{parentName:"tr",align:"left"},"Path to the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopedir",title:"Scopedir: a directory in a computer file system that contains all files that are either being Curated within a particular Scope, or generated to serve some purpose within that Scope."},"scopedir")," within which the tool is to operate, i.e.: ",(0,o.kt)("em",{parentName:"td"},"this scopedir"),".")),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:"left"},(0,o.kt)("inlineCode",{parentName:"td"},"syntax")),(0,o.kt)("td",{parentName:"tr",align:"left"}),(0,o.kt)("td",{parentName:"tr",align:"center"},"n"),(0,o.kt)("td",{parentName:"tr",align:"center"},"*"),(0,o.kt)("td",{parentName:"tr",align:"left"},"This argument has no value. If present, the syntax of all (YAML) fields in the file is checked against their specifications (see e.g. ",(0,o.kt)("a",{parentName:"td",href:"docs/spec-files/saf"},"SAF specs"),", ",(0,o.kt)("a",{parentName:"td",href:"/docs/spec-tools/terminology-construction"},"terminology construction"),", ",(0,o.kt)("a",{parentName:"td",href:"/docs/spec-files/mrg"},"MRG specs"),", ",(0,o.kt)("a",{parentName:"td",href:"/docs/spec-files/ctext"},"Curated Texts"),", ",(0,o.kt)("a",{parentName:"td",href:"/docs/spec-syntax/term-ref-syntax"},"TermRefs"),").")),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:"left"},(0,o.kt)("inlineCode",{parentName:"td"},"vsntag")),(0,o.kt)("td",{parentName:"tr",align:"left"},(0,o.kt)("inlineCode",{parentName:"td"},"")),(0,o.kt)("td",{parentName:"tr",align:"center"}),(0,o.kt)("td",{parentName:"tr",align:"center"},(0,o.kt)("inlineCode",{parentName:"td"},"-mrg")),(0,o.kt)("td",{parentName:"tr",align:"left"},(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/versiontag",title:"Versiontag: a Tag that is used to Identify a specific version of a Terminology from within a specific Scope."},"versiontag")," that is used to select the version of the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," to be checked. The ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," that is selected will either have ",(0,o.kt)("inlineCode",{parentName:"td"},"")," as the contents of the field ",(0,o.kt)("inlineCode",{parentName:"td"},"terminology.vsntag"),", or as an element in the list of ",(0,o.kt)("inlineCode",{parentName:"td"},"terminology.alvsntags"),".")),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:"left"},(0,o.kt)("inlineCode",{parentName:"td"},"term")),(0,o.kt)("td",{parentName:"tr",align:"left"},(0,o.kt)("inlineCode",{parentName:"td"},"")),(0,o.kt)("td",{parentName:"tr",align:"center"},"n"),(0,o.kt)("td",{parentName:"tr",align:"center"},"-txt"),(0,o.kt)("td",{parentName:"tr",align:"left"},(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Term: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"term")," that ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identifies: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identifies")," a particular ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-file: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated file"),". The ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-file: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated file"),", whose (front-matter) field ",(0,o.kt)("inlineCode",{parentName:"td"},"term")," matches this parameter, will be integrity-checked.")),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:"left"},(0,o.kt)("inlineCode",{parentName:"td"},"termtypes")),(0,o.kt)("td",{parentName:"tr",align:"left"},(0,o.kt)("inlineCode",{parentName:"td"},"")),(0,o.kt)("td",{parentName:"tr",align:"center"},"n"),(0,o.kt)("td",{parentName:"tr",align:"center"},"-txt"),(0,o.kt)("td",{parentName:"tr",align:"left"},"List of texts that serve to identify a specific kind of ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/knowledge-artifact",title:"Knowledge-artifact: something that can be thought of as existing in a particular Knowledge, e.g. a Concept, or a Mental Model."},"knowledge artifact"),", e.g. ",(0,o.kt)("inlineCode",{parentName:"td"},"concept"),", or ",(0,o.kt)("inlineCode",{parentName:"td"},"pattern"),". Every ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-file: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated file"),", whose (front-matter) field ",(0,o.kt)("inlineCode",{parentName:"td"},"termtype")," appears as an element in the ",(0,o.kt)("inlineCode",{parentName:"td"},"")," list, will be integrity-checked.")),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:"left"},(0,o.kt)("inlineCode",{parentName:"td"},"grouptags")),(0,o.kt)("td",{parentName:"tr",align:"left"},(0,o.kt)("inlineCode",{parentName:"td"},"")),(0,o.kt)("td",{parentName:"tr",align:"center"},"n"),(0,o.kt)("td",{parentName:"tr",align:"center"},"-txt"),(0,o.kt)("td",{parentName:"tr",align:"left"},"List of ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/grouptag",title:"Grouptags: a Tag that is used to group Terms within a specific Scope."},"grouptags"),". Every ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-file: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated file"),", whose (front-matter) field ",(0,o.kt)("inlineCode",{parentName:"td"},"grouptags")," has an element that also appears as an element in the ",(0,o.kt)("inlineCode",{parentName:"td"},"")," list, will be integrity-checked.")))),(0,o.kt)("h2",{id:"integrity-checks"},"Integrity Checks"),(0,o.kt)("p",null,"The checks that are done on files depend on the kind of file that is being checked. This section lists the tests for the various kinds of files. Every file is assumed to be part of ",(0,o.kt)("em",{parentName:"p"},"this scope"),", and reside in the associated ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopedir",title:"Scopedir: a directory in a computer file system that contains all files that are either being Curated within a particular Scope, or generated to serve some purpose within that Scope."},"scopedir")," (i.e.: ",(0,o.kt)("em",{parentName:"p"},"this scopedir"),")."),(0,o.kt)("h3",{id:"saf-integrity"},"SAF integrity"),(0,o.kt)("p",null,"The ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF")," must be a file that contains valid YAML syntax."),(0,o.kt)("p",null,"The integrity of a ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF")," requires the following conditions to be satisfied for the key's in the ",(0,o.kt)("inlineCode",{parentName:"p"},"scope")," section:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("inlineCode",{parentName:"li"},"scopedir")," must point to the directory in which the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF")," is stored for public use (i.e. in this scopedir)."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("inlineCode",{parentName:"li"},"curatedir"),', when appended to the value of "',(0,o.kt)("inlineCode",{parentName:"li"},"scopedir"),'/", must point to the directory that stores the ',(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-files: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated files"),"."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("inlineCode",{parentName:"li"},"glossarydir")," must point to an existing directory."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("inlineCode",{parentName:"li"},"mrgfile"),' must be an existing file in directory "',(0,o.kt)("inlineCode",{parentName:"li"},"scopedir"),'/" (note that an empty ',(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology")," is still a ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology")," that can have an ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG"),")."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("inlineCode",{parentName:"li"},"hrgfile"),' must be an existing file in directory "',(0,o.kt)("inlineCode",{parentName:"li"},"scopedir"),'/" (note that an empty ',(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology")," is still a ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology")," that can have a ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/hrg",title:"Human Readable Glossary (HRG): a Glossary that is designed to be easily understandable and accessible to humans. HRGs present terms and their meanings in a format that prioritizes human comprehension and may include additional contextual information to aid understanding."},"HRG"),")."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("inlineCode",{parentName:"li"},"license")," must be an existing file in the directory pointed to by ",(0,o.kt)("inlineCode",{parentName:"li"},"scopedir"),".")),(0,o.kt)("p",null,"The integrity of a ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF")," requires the following conditions to be satisfied for every element in the ",(0,o.kt)("inlineCode",{parentName:"p"},"scopes")," section:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("inlineCode",{parentName:"li"},"scopetags")," must be a nonempty list of ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopetag",title:"Scopetags: a Tag that is used to Identify Scopes from within a specific Scope"},"scopetags"),"."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("inlineCode",{parentName:"li"},"scopedir")," must be a valid URL, that points to an existing directory resource.")),(0,o.kt)("p",null,"The integrity of a ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF")," requires the following conditions to be satisfied for every element in the ",(0,o.kt)("inlineCode",{parentName:"p"},"versions")," section:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("inlineCode",{parentName:"li"},"vsntag")," SHOULD not appear as an element in the ",(0,o.kt)("inlineCode",{parentName:"li"},"altvsntags")," field of this ",(0,o.kt)("inlineCode",{parentName:"li"},"version")," element, and it MUST NOT appear in the ",(0,o.kt)("inlineCode",{parentName:"li"},"vsntag")," or ",(0,o.kt)("inlineCode",{parentName:"li"},"altvsntags")," fields of any other element in the ",(0,o.kt)("inlineCode",{parentName:"li"},"versions")," section."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("inlineCode",{parentName:"li"},"altvsntags")," must be a (possibly empty) list of ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/versiontag",title:"Versiontags: a Tag that is used to Identify a specific version of a Terminology from within a specific Scope."},"versiontags"),", each of which SHOULD not appear in the ",(0,o.kt)("inlineCode",{parentName:"li"},"vsntag")," field of the element, and MUST NOT appear in the ",(0,o.kt)("inlineCode",{parentName:"li"},"vsntag")," or ",(0,o.kt)("inlineCode",{parentName:"li"},"altvsntags")," fields of any other element in the ",(0,o.kt)("inlineCode",{parentName:"li"},"versions")," section."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("inlineCode",{parentName:"li"},"termselcrit")," must be a non-emptly list of ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-selection-criteria",title:"Term Selection Criteria: criteria that are used within a particular Scope for the selection of Terms that are part of a particular Terminology."},"term selection criteria"),"."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("inlineCode",{parentName:"li"},"status")," SHOULD be a non-empty field.")),(0,o.kt)("h3",{id:"mrg-integrity"},"MRG integrity"),(0,o.kt)("p",null,"The integrity checking for ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," files assumes that the integrity conditions of a ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF")," file are satisfied, and that the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," file itself contains valid YAML syntax."),(0,o.kt)("p",null,"The integrity checking comprises every (group of) test(s) as specified in this sub-section."),(0,o.kt)("p",null,"The ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," MUST have sections named ",(0,o.kt)("inlineCode",{parentName:"p"},"terminology"),", ",(0,o.kt)("inlineCode",{parentName:"p"},"scopes"),", and ",(0,o.kt)("inlineCode",{parentName:"p"},"entries"),"."),(0,o.kt)("p",null,"Integrity checks for the ",(0,o.kt)("inlineCode",{parentName:"p"},"terminology")," section include:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("inlineCode",{parentName:"li"},"scopedir")," must point to the directory in which the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF")," is stored for public use (i.e. in this scopedir)."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("inlineCode",{parentName:"li"},"vsntag")," must be a ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/versiontag",title:"Versiontag: a Tag that is used to Identify a specific version of a Terminology from within a specific Scope."},"versiontag")," that SHOULD not appear as an element in the ",(0,o.kt)("inlineCode",{parentName:"li"},"altvsntags")," field."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("inlineCode",{parentName:"li"},"altvsntags")," must be a (possibly empty) list of ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/versiontag",title:"Versiontags: a Tag that is used to Identify a specific version of a Terminology from within a specific Scope."},"versiontags"),", none of which appear in the ",(0,o.kt)("inlineCode",{parentName:"li"},"vsntag")," field."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("inlineCode",{parentName:"li"},"license")," must be an existing file in the directory pointed to by ",(0,o.kt)("inlineCode",{parentName:"li"},"scopedir"),".")),(0,o.kt)("p",null,"Integrity checks for the ",(0,o.kt)("inlineCode",{parentName:"p"},"scopes")," section include:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("inlineCode",{parentName:"li"},"scopetags")," must be a nonempty list of ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopetag",title:"Scopetags: a Tag that is used to Identify Scopes from within a specific Scope"},"scopetags"),"."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("inlineCode",{parentName:"li"},"scopedir")," must be a valid URL, that points to an existing directory resource other than the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopedir",title:"Scopedir: a directory in a computer file system that contains all files that are either being Curated within a particular Scope, or generated to serve some purpose within that Scope."},"scopedir")," of the current ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),". This directory MUST contain a ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"),". ",(0,o.kt)("mark",null,"Do we need an option to test the integrity of such ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAFs"),"?"))),(0,o.kt)("p",null,"Integrity checks for the ",(0,o.kt)("inlineCode",{parentName:"p"},"entries")," section consist of one part that is generic for all entries, and another part that depends on the value of the ",(0,o.kt)("inlineCode",{parentName:"p"},"termtype")," field (so that checking of e.g. entries of type ",(0,o.kt)("inlineCode",{parentName:"p"},"concept")," and of type ",(0,o.kt)("inlineCode",{parentName:"p"},"pattern")," can have different checks.) The checks that every entry must pass include the following:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("inlineCode",{parentName:"li"},"scopetag")," MUST also appear as the value of ",(0,o.kt)("inlineCode",{parentName:"li"},"terminology.scopetag"),", or as an element in one of the ",(0,o.kt)("inlineCode",{parentName:"li"},"scopes.scopetags")," elements."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("inlineCode",{parentName:"li"},"termtype")," SHOULD be ",(0,o.kt)("mark",null,"tbd.")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("inlineCode",{parentName:"li"},"grouptags")," MUST be a list of ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/grouptag",title:"Grouptag: a Tag that is used to group Terms within a specific Scope."},"grouptag")," elements."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("inlineCode",{parentName:"li"},"license")," MUST be an existing file in the directory pointed to by ",(0,o.kt)("inlineCode",{parentName:"li"},"scopedir"),"."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("inlineCode",{parentName:"li"},"status")," SHOULD match an element in the list ",(0,o.kt)("inlineCode",{parentName:"li"},"scope.statuses")," of the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"),"."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("inlineCode",{parentName:"li"},"locator"),", if specified, MUST have a readable resource (file) at ",(0,o.kt)("inlineCode",{parentName:"li"},"scopedir"),"/",(0,o.kt)("inlineCode",{parentName:"li"},"curatedir"),"/",(0,o.kt)("inlineCode",{parentName:"li"},"locator"),", where ",(0,o.kt)("inlineCode",{parentName:"li"},"scopedir")," and ",(0,o.kt)("inlineCode",{parentName:"li"},"curatedir")," are specified in the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"),"."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("inlineCode",{parentName:"li"},"navurl"),", if specified, MUST return an HTML-resource when specified as the URL in a HTTP(S) request method ",(0,o.kt)("inlineCode",{parentName:"li"},"GET")," or ",(0,o.kt)("inlineCode",{parentName:"li"},"HEAD"),".")),(0,o.kt)("p",null,"For specific kinds of ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entries: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entries"),", the following additional constraints MUST be satisfied:"),(0,o.kt)(r.Z,{defaultValue:"concept",values:[{label:"Terms",value:"term"},{label:"Concepts",value:"concept"},{label:"Relations",value:"relation"},{label:"Mental Models",value:"pattern"}],mdxType:"Tabs"},(0,o.kt)(s.Z,{value:"concept",mdxType:"TabItem"},(0,o.kt)("br",null),(0,o.kt)("p",null,"The following constraints MUST hold for ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entries: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entries")," of type ",(0,o.kt)("inlineCode",{parentName:"p"},"concept"),":"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"if a ",(0,o.kt)("inlineCode",{parentName:"li"},"glossaryText")," contains a ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRef"),", then the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRef")," SHOULD be resolvable ",(0,o.kt)("mark",null,"(reference to the term-ref-integrity checks)"),"."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("inlineCode",{parentName:"li"},"hoverText")," MUST NOT contain any ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRef"),", nor any other ",(0,o.kt)("a",{parentName:"li",href:"https://www.markdownguide.org/basic-syntax/#links"},"markdown links"),"."))),(0,o.kt)(s.Z,{value:"term",mdxType:"TabItem"},(0,o.kt)("br",null),(0,o.kt)("admonition",{title:"Editor's note",type:"info"},(0,o.kt)("p",{parentName:"admonition"},"As header fields for ",(0,o.kt)("inlineCode",{parentName:"p"},"term")," termtypes need to be discussed, we do not yet specify any constraints"))),(0,o.kt)(s.Z,{value:"relation",mdxType:"TabItem"},(0,o.kt)("br",null),(0,o.kt)("h3",{id:"header-fields-for-termtype-relation"},"Header fields for ",(0,o.kt)("inlineCode",{parentName:"h3"},"termType: relation")),(0,o.kt)("admonition",{title:"Editor's note",type:"info"},(0,o.kt)("p",{parentName:"admonition"},"As ",(0,o.kt)("inlineCode",{parentName:"p"},"relation"),"s need to be discussed, we do not yet specify any constraints."))),(0,o.kt)(s.Z,{value:"pattern",mdxType:"TabItem"},(0,o.kt)("br",null),(0,o.kt)("admonition",{title:"Editor's note",type:"info"},(0,o.kt)("p",{parentName:"admonition"},"As ",(0,o.kt)("inlineCode",{parentName:"p"},"pattern"),"s need to be discussed, we do not yet specify any constraints.")))),(0,o.kt)("admonition",{title:"Editor's note",type:"info"},(0,o.kt)("p",{parentName:"admonition"},"Checks need to be added to ensure congruence between terms and any synonyms that are defined for them. For example, they should have the same value in various fields, e.g., ",(0,o.kt)("inlineCode",{parentName:"p"},"termType"),", ",(0,o.kt)("inlineCode",{parentName:"p"},"isa")," (but not ",(0,o.kt)("inlineCode",{parentName:"p"},"glossaryText")," or ",(0,o.kt)("inlineCode",{parentName:"p"},"synonymOf"),")")),(0,o.kt)("h3",{id:"curated-text-integrity"},"Curated Text integrity"),(0,o.kt)("p",null,"The integrity of any ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text")," file requires the integrity conditions of the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," file to be satisfied, as well as the following conditions:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("mark",null,"TBD"))),(0,o.kt)("h4",{id:"concepts"},"Concepts"),(0,o.kt)("p",null,"The integrity of any ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text")," file that has ",(0,o.kt)("inlineCode",{parentName:"p"},"termType: concept")," requires the integrity conditions of a ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text")," file to be satisfied, as well as the following conditions:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("mark",null,"TBD"))),(0,o.kt)("h4",{id:"patterns"},"Patterns"),(0,o.kt)("p",null,"The integrity of any ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text")," file that has ",(0,o.kt)("inlineCode",{parentName:"p"},"termType: concept")," requires the integrity conditions of a ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text")," file to be satisfied, as well as the following conditions:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("mark",null,"TBD"))),(0,o.kt)("h2",{id:"processing-errors-and-warnings"},"Processing, Errors and Warnings"),(0,o.kt)("p",null,"The ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/ict",title:"Integrity Checker Tool (ICT): a software tool designed to check the integrity and conformity of various files used in the curation and management of Glossaries, Dictionaries, Curated Texts, and other data within a terminology project. The ICT verifies that the files adhere to the TEv2 File Specifications, ensuring the consistency and accuracy of the terminology data."},"ICT")," starts by reading its command-line and configuration file. If the command-line has a key that is also found in the configuration file, the command-line key-value pair takes precedence. The resulting set of key-value pairs is tested for proper syntax and validity. Every improper syntax and every invalidity found will be logged."),(0,o.kt)("p",null,"Then, the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/ict",title:"Integrity Checker Tool (ICT): a software tool designed to check the integrity and conformity of various files used in the curation and management of Glossaries, Dictionaries, Curated Texts, and other data within a terminology project. The ICT verifies that the files adhere to the TEv2 File Specifications, ensuring the consistency and accuracy of the terminology data."},"ICT")," ",(0,o.kt)("mark",null,"TBD")),(0,o.kt)("p",null,"The ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/ict",title:"Integrity Checker Tool (ICT): a software tool designed to check the integrity and conformity of various files used in the curation and management of Glossaries, Dictionaries, Curated Texts, and other data within a terminology project. The ICT verifies that the files adhere to the TEv2 File Specifications, ensuring the consistency and accuracy of the terminology data."},"ICT")," logs every error- and/or warning condition that it comes across while processing its configuration file, commandline parameters, and input files, in a way that helps tool-operators and document ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/author",title:"Author: a person that creates a text that is meant to be read and understood by others - usually, a particular audience."},"authors")," to identify and fix such conditions."),(0,o.kt)("h2",{id:"deploying-the-tool"},"Deploying the Tool"),(0,o.kt)("p",null,"The ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/ict",title:"Integrity Checker Tool (ICT): a software tool designed to check the integrity and conformity of various files used in the curation and management of Glossaries, Dictionaries, Curated Texts, and other data within a terminology project. The ICT verifies that the files adhere to the TEv2 File Specifications, ensuring the consistency and accuracy of the terminology data."},"ICT")," comes with documentation that enables developers to ascertain its correct functioning (e.g. by using a test set of files, test scripts that exercise its parameters, etc.), and also enables them to deploy the tool in a git repo and ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/author",title:"Author: a person that creates a text that is meant to be read and understood by others - usually, a particular audience."},"author"),"/modify CI-pipes to use that deployment."),(0,o.kt)("h2",{id:"discussion-notes"},"Discussion Notes"),(0,o.kt)("p",null,"This section lists the topics that may need further discission"))}g.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunktev2_specifications=self.webpackChunktev2_specifications||[]).push([[4060],{3905:function(e,t,i){i.d(t,{Zo:function(){return d},kt:function(){return m}});var a=i(7294);function n(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function o(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,a)}return i}function r(e){for(var t=1;t=0||(n[i]=e[i]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(n[i]=e[i])}return n}var l=a.createContext({}),c=function(e){var t=a.useContext(l),i=t;return e&&(i="function"==typeof e?e(t):r(r({},t),e)),i},d=function(e){var t=c(e.components);return a.createElement(l.Provider,{value:t},e.children)},h={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},p=a.forwardRef((function(e,t){var i=e.components,n=e.mdxType,o=e.originalType,l=e.parentName,d=s(e,["components","mdxType","originalType","parentName"]),p=c(i),m=n,f=p["".concat(l,".").concat(m)]||p[m]||h[m]||o;return i?a.createElement(f,r(r({ref:t},d),{},{components:i})):a.createElement(f,r({ref:t},d))}));function m(e,t){var i=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=i.length,r=new Array(o);r[0]=p;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s.mdxType="string"==typeof e?e:n,r[1]=s;for(var c=2;c child <"+("string"==typeof e.type?e.type:e.type.name)+'>: all children of the component should be , and every should have a unique "value" prop.')})))?void 0:i.filter(Boolean))?t:[]}(e).map((function(e){var t=e.props;return{value:t.value,label:t.label,attributes:t.attributes,default:t.default}}))}function p(e){var t=e.values,i=e.children;return(0,n.useMemo)((function(){var e=null!=t?t:h(i);return function(e){var t=(0,c.l)(e,(function(e,t){return e.value===t.value}));if(t.length>0)throw new Error('Docusaurus error: Duplicate values "'+t.map((function(e){return e.value})).join(", ")+'" found in . Every value needs to be unique.')}(e),e}),[t,i])}function m(e){var t=e.value;return e.tabValues.some((function(e){return e.value===t}))}function f(e){var t=e.queryString,i=void 0!==t&&t,a=e.groupId,o=(0,s.k6)(),r=function(e){var t=e.queryString,i=void 0!==t&&t,a=e.groupId;if("string"==typeof i)return i;if(!1===i)return null;if(!0===i&&!a)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return null!=a?a:null}({queryString:i,groupId:a});return[(0,l._X)(r),(0,n.useCallback)((function(e){if(r){var t=new URLSearchParams(o.location.search);t.set(r,e),o.replace(Object.assign({},o.location,{search:t.toString()}))}}),[r,o])]}function u(e){var t,i,a,o,r=e.defaultValue,s=e.queryString,l=void 0!==s&&s,c=e.groupId,h=p(e),u=(0,n.useState)((function(){return function(e){var t,i=e.defaultValue,a=e.tabValues;if(0===a.length)throw new Error("Docusaurus error: the component requires at least one children component");if(i){if(!m({value:i,tabValues:a}))throw new Error('Docusaurus error: The has a defaultValue "'+i+'" but none of its children has the corresponding value. Available values are: '+a.map((function(e){return e.value})).join(", ")+". If you intend to show no default tab, use defaultValue={null} instead.");return i}var n=null!=(t=a.find((function(e){return e.default})))?t:a[0];if(!n)throw new Error("Unexpected error: 0 tabValues");return n.value}({defaultValue:r,tabValues:h})})),g=u[0],y=u[1],k=f({queryString:l,groupId:c}),v=k[0],b=k[1],C=(t=function(e){return e?"docusaurus.tab."+e:null}({groupId:c}.groupId),i=(0,d.Nk)(t),a=i[0],o=i[1],[a,(0,n.useCallback)((function(e){t&&o.set(e)}),[t,o])]),w=C[0],T=C[1],N=function(){var e=null!=v?v:w;return m({value:e,tabValues:h})?e:null}();return(0,n.useLayoutEffect)((function(){N&&y(N)}),[N]),{selectedValue:g,selectValue:(0,n.useCallback)((function(e){if(!m({value:e,tabValues:h}))throw new Error("Can't select invalid tab value="+e);y(e),b(e),T(e)}),[b,T,h]),tabValues:h}}var g=i(2389),y="tabList__CuJ",k="tabItem_LNqP";function v(e){var t=e.className,i=e.block,s=e.selectedValue,l=e.selectValue,c=e.tabValues,d=[],h=(0,r.o5)().blockElementScrollPositionUntilNextRender,p=function(e){var t=e.currentTarget,i=d.indexOf(t),a=c[i].value;a!==s&&(h(t),l(a))},m=function(e){var t,i=null;switch(e.key){case"Enter":p(e);break;case"ArrowRight":var a,n=d.indexOf(e.currentTarget)+1;i=null!=(a=d[n])?a:d[0];break;case"ArrowLeft":var o,r=d.indexOf(e.currentTarget)-1;i=null!=(o=d[r])?o:d[d.length-1]}null==(t=i)||t.focus()};return n.createElement("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,o.Z)("tabs",{"tabs--block":i},t)},c.map((function(e){var t=e.value,i=e.label,r=e.attributes;return n.createElement("li",(0,a.Z)({role:"tab",tabIndex:s===t?0:-1,"aria-selected":s===t,key:t,ref:function(e){return d.push(e)},onKeyDown:m,onClick:p},r,{className:(0,o.Z)("tabs__item",k,null==r?void 0:r.className,{"tabs__item--active":s===t})}),null!=i?i:t)})))}function b(e){var t=e.lazy,i=e.children,a=e.selectedValue,o=(Array.isArray(i)?i:[i]).filter(Boolean);if(t){var r=o.find((function(e){return e.props.value===a}));return r?(0,n.cloneElement)(r,{className:"margin-top--md"}):null}return n.createElement("div",{className:"margin-top--md"},o.map((function(e,t){return(0,n.cloneElement)(e,{key:t,hidden:e.props.value!==a})})))}function C(e){var t=u(e);return n.createElement("div",{className:(0,o.Z)("tabs-container",y)},n.createElement(v,(0,a.Z)({},e,t)),n.createElement(b,(0,a.Z)({},e,t)))}function w(e){var t=(0,g.Z)();return n.createElement(C,(0,a.Z)({key:String(t)},e))}},6592:function(e,t,i){i.r(t),i.d(t,{assets:function(){return p},contentTitle:function(){return d},default:function(){return g},frontMatter:function(){return c},mark:function(){return f},metadata:function(){return h},toc:function(){return m}});var a=i(7462),n=i(3366),o=(i(7294),i(3905)),r=(i(4996),i(4866)),s=i(5162),l=["components"],c={id:"ict",sidebar_label:"Integrity Checking",date:20220421},d=void 0,h={unversionedId:"spec-tools/ict",id:"spec-tools/ict",title:"ict",description:"text to mark",source:"@site/docs/spec-tools/11-ict.md",sourceDirName:"spec-tools",slug:"/spec-tools/ict",permalink:"/tev2-specifications/docs/spec-tools/ict",draft:!1,editUrl:"https://github.com/tno-terminology-design/tev2-specifications/blob/master/docs/spec-tools/11-ict.md",tags:[],version:"current",lastUpdatedBy:"Ca5e",lastUpdatedAt:1694182104,formattedLastUpdatedAt:"Sep 8, 2023",sidebarPosition:11,frontMatter:{id:"ict",sidebar_label:"Integrity Checking",date:20220421},sidebar:"tev2SideBar",previous:{title:"TEv2 Terminology Toolbox",permalink:"/tev2-specifications/docs/tev2-toolbox"},next:{title:"MRG Importer",permalink:"/tev2-specifications/docs/spec-tools/mrg-importer"}},p={},m=[{value:"Calling the Tool",id:"calling-the-tool",level:2},{value:"Parameters (Command-line arguments)",id:"parameters-command-line-arguments",level:3},{value:"Integrity Checks",id:"integrity-checks",level:2},{value:"SAF integrity",id:"saf-integrity",level:3},{value:"MRG integrity",id:"mrg-integrity",level:3},{value:"Header fields for termType: relation",id:"header-fields-for-termtype-relation",level:3},{value:"Curated Text integrity",id:"curated-text-integrity",level:3},{value:"Concepts",id:"concepts",level:4},{value:"Patterns",id:"patterns",level:4},{value:"Processing, Errors and Warnings",id:"processing-errors-and-warnings",level:2},{value:"Deploying the Tool",id:"deploying-the-tool",level:2},{value:"Discussion Notes",id:"discussion-notes",level:2}],f=function(e){var t=e.children;return(0,o.kt)("span",{style:{color:"black",backgroundColor:"yellow",padding:"0.2rem",borderRadius:"2px"}},t)},u={toc:m,mark:f};function g(e){var t=e.components,i=(0,n.Z)(e,l);return(0,o.kt)("wrapper",(0,a.Z)({},u,i,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("admonition",{title:"Editor's note",type:"info"},(0,o.kt)("p",{parentName:"admonition"},"The text below will need a thorough revision due to various changes that have not yet been taken into account")),(0,o.kt)("h1",{id:"integrity-checker-tool-ict"},"Integrity Checker Tool (ICT)"),(0,o.kt)("admonition",{type:"caution"},(0,o.kt)("p",{parentName:"admonition"},"The entire section on Terminology Engine v 2 (TEv2) is still under construction.",(0,o.kt)("br",null),"\nAs TEv2 is not (yet) available, the texts that specify the tool are still 'raw', i.e. not yet processed.",(0,o.kt)("br",null),(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/reader",title:"Reader: a person that reads a text that is authored by another person (its Author]), and that tries to understand the meaning of this text in the way its Author intended."},"readers")," will need to see through some (currently unprocessed) notational conventions.")),(0,o.kt)("p",null,"The ",(0,o.kt)("strong",{parentName:"p"},"Integrity Checker Tool (",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/ict",title:"Integrity Checker Tool (ICT): a software tool designed to check the integrity and conformity of various files used in the curation and management of Glossaries, Dictionaries, Curated Texts, and other data within a terminology project. The ICT verifies that the files adhere to the TEv2 File Specifications, ensuring the consistency and accuracy of the terminology data."},"ICT"),")")," tests the integrity of (a selection of) the data in files that are ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curate",title:"Curate: to select, organize, and present Terms, Definitions, and other, related content in a thoughtful and purposeful manner to establish shared understanding among a Community working together on a particular set of objectives."},"curated")," within a particular ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),", i.e. the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"),", the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRGs"),", and ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-texts: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated texts"),". The integrity checking of other data, e.g. ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/formatted-text",title:"Formatted Text: a text that has been processed and arranged to have a specific layout, style, and presentation, making it visually appealing and easy to read."},"formatted texts"),", such as ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/hrg",title:"Human Readable Glossary (HRG): a Glossary that is designed to be easily understandable and accessible to humans. HRGs present terms and their meanings in a format that prioritizes human comprehension and may include additional contextual information to aid understanding."},"HRGs"),", is outside the scope of the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/ict",title:"Integrity Checker Tool (ICT): a software tool designed to check the integrity and conformity of various files used in the curation and management of Glossaries, Dictionaries, Curated Texts, and other data within a terminology project. The ICT verifies that the files adhere to the TEv2 File Specifications, ensuring the consistency and accuracy of the terminology data."},"ICT"),"."),(0,o.kt)("p",null,"In order for the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/ict",title:"Integrity Checker Tool (ICT): a software tool designed to check the integrity and conformity of various files used in the curation and management of Glossaries, Dictionaries, Curated Texts, and other data within a terminology project. The ICT verifies that the files adhere to the TEv2 File Specifications, ensuring the consistency and accuracy of the terminology data."},"ICT")," to be used optimally, it will assume for specific kinds of files that the integrity of other files is guaranteed, as follows:"),(0,o.kt)("table",null,(0,o.kt)("thead",{parentName:"table"},(0,o.kt)("tr",{parentName:"thead"},(0,o.kt)("th",{parentName:"tr",align:"left"},"When testing a ... ,"),(0,o.kt)("th",{parentName:"tr",align:"left"},"the integrity is assumed of"))),(0,o.kt)("tbody",{parentName:"table"},(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:"left"},(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")),(0,o.kt)("td",{parentName:"tr",align:"left"},(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"))),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:"left"},(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-file: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated file")),(0,o.kt)("td",{parentName:"tr",align:"left"},(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," and ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"))))),(0,o.kt)("p",null,"The idea behind this is to enable ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curator",title:"Curator: {(noRefs glossaryText)}"},"curators")," to only test changes they have made rather than testing the entire set of files."),(0,o.kt)("admonition",{title:"Editor's Note",type:"info"},(0,o.kt)("p",{parentName:"admonition"},"As the tool hasn't been made, and no practical experience has been gained, many of these optimizations may not work in the first versions.")),(0,o.kt)("admonition",{title:"Editor's Note",type:"info"},(0,o.kt)("p",{parentName:"admonition"},"There's a lot of duplication in syntax specs. For example, the ",(0,o.kt)("a",{parentName:"p",href:"docs/spec-files/saf"},"SAF spec")," and ",(0,o.kt)("a",{parentName:"p",href:"/docs/spec-files/mrg"},"MRG spec")," define the regex for various kinds of tags all over the place. It would be nice to have a way by which syntax can be specified in one location that is 'naturally predictable' so that both readers and maintainers of the documentation can easily find it. One way might be to include the syntax in a 'popover', i.e. that we define stuff with particular syntax as a ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/concept",title:"Concept: a Knowledge Artifact that captures the ideas/thoughts behind a classification of Entities (what makes Entities in that class 'the same')."},"concept")," and have the syntax be included in its ",(0,o.kt)("inlineCode",{parentName:"p"},"hoverText"),".")),(0,o.kt)("h2",{id:"calling-the-tool"},"Calling the Tool"),(0,o.kt)("p",null,"The behavior of the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/ict",title:"Integrity Checker Tool (ICT): a software tool designed to check the integrity and conformity of various files used in the curation and management of Glossaries, Dictionaries, Curated Texts, and other data within a terminology project. The ICT verifies that the files adhere to the TEv2 File Specifications, ensuring the consistency and accuracy of the terminology data."},"ICT")," can be configured per call e.g. by a configuration file and/or command-line parameters. Examples include specifications for:"),(0,o.kt)("p",null,"The command-line syntax is as follows:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre"},"ict [ ] [ ]\n")),(0,o.kt)("table",null,(0,o.kt)("thead",{parentName:"table"},(0,o.kt)("tr",{parentName:"thead"},(0,o.kt)("th",{parentName:"tr",align:"left"},"Where:"),(0,o.kt)("th",{parentName:"tr",align:"left"}))),(0,o.kt)("tbody",{parentName:"table"},(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:"left"},(0,o.kt)("inlineCode",{parentName:"td"},"")),(0,o.kt)("td",{parentName:"tr",align:"left"},"(optional) specifies the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopedir",title:"Scopedir: a directory in a computer file system that contains all files that are either being Curated within a particular Scope, or generated to serve some purpose within that Scope."},"scopedir")," of the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," whose integrity is to be tested. If ",(0,o.kt)("inlineCode",{parentName:"td"},"")," is omitted and a configuration file is used, its value is read from that file. If cases where ",(0,o.kt)("inlineCode",{parentName:"td"},"")," isn't specified, the current directory is assumed to be the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopedir",title:"Scopedir: a directory in a computer file system that contains all files that are either being Curated within a particular Scope, or generated to serve some purpose within that Scope."},"scopedir"),".",(0,o.kt)("br",null),'In this document, we use the term "',(0,o.kt)("strong",{parentName:"td"},"this scopedir"),'" to refer to the value of ',(0,o.kt)("inlineCode",{parentName:"td"},""),", and ",(0,o.kt)("strong",{parentName:"td"},"this scope"),'" to refer to the associated ',(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),".")),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:"left"},(0,o.kt)("inlineCode",{parentName:"td"},"")),(0,o.kt)("td",{parentName:"tr",align:"left"},"The following commands are valid:",(0,o.kt)("br",null),(0,o.kt)("ul",null,(0,o.kt)("li",null,(0,o.kt)("inlineCode",{parentName:"td"},"-saf"),": check the integrity of the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scopes: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope's")," ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"),". It does not take any further parameters."),(0,o.kt)("li",null,(0,o.kt)("inlineCode",{parentName:"td"},"-mrg"),": check the integrity of (one of) the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scopes: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope's")," ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG(s)"),". Additional parameters can be used, e.g. to specify a particular version of the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," to be checked."),(0,o.kt)("li",null,(0,o.kt)("inlineCode",{parentName:"td"},"-txt"),": check the integrity of ",(0,o.kt)("em",{parentName:"td"},"this scope's")," ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-files: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated files"),". Additional parameters can be used, e.g. to select a particular subset of these files."),(0,o.kt)("li",null,(0,o.kt)("inlineCode",{parentName:"td"},"-all"),": check all ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curate",title:"Curate: to select, organize, and present Terms, Definitions, and other, related content in a thoughtful and purposeful manner to establish shared understanding among a Community working together on a particular set of objectives."},"curated")," files within ",(0,o.kt)("em",{parentName:"td"},"this scope"),". Additional parameters may be used, e.g. to skip the checking of specific files.")))),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:"left"},(0,o.kt)("inlineCode",{parentName:"td"},"")),(0,o.kt)("td",{parentName:"tr",align:"left"},"a list of parameters that provide further specifications for what the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/ict",title:"Integrity Checker Tool (ICT): a software tool designed to check the integrity and conformity of various files used in the curation and management of Glossaries, Dictionaries, Curated Texts, and other data within a terminology project. The ICT verifies that the files adhere to the TEv2 File Specifications, ensuring the consistency and accuracy of the terminology data."},"ICT")," should be checking.")))),(0,o.kt)("h3",{id:"parameters-command-line-arguments"},"Parameters (Command-line arguments)"),(0,o.kt)("admonition",{title:"Editor's Note",type:"info"},(0,o.kt)("p",{parentName:"admonition"},"The current set of parameters is just an initial suggestion. We'll need to see what will actually be needed in practice.")),(0,o.kt)("details",null,(0,o.kt)("summary",null,"Legend"),(0,o.kt)("p",null,"The columns in the following table are defined as follows:"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("strong",{parentName:"li"},(0,o.kt)("inlineCode",{parentName:"strong"},"Key"))," is the text to be used as a key."),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("strong",{parentName:"li"},(0,o.kt)("inlineCode",{parentName:"strong"},"Value"))," represents the kind of value to be used."),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("strong",{parentName:"li"},(0,o.kt)("inlineCode",{parentName:"strong"},"Req'd"))," specifies whether (",(0,o.kt)("inlineCode",{parentName:"li"},"Y"),") or not (",(0,o.kt)("inlineCode",{parentName:"li"},"n"),") the field is required to be present when the tool is being called. If (always) required, it MUST either be present in the configuration file, or as a command-line parameter."),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("strong",{parentName:"li"},(0,o.kt)("inlineCode",{parentName:"strong"},"Cmd"))," specifies a ",(0,o.kt)("inlineCode",{parentName:"li"},"")," value: if the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/ict",title:"Integrity Checker Tool (ICT): a software tool designed to check the integrity and conformity of various files used in the curation and management of Glossaries, Dictionaries, Curated Texts, and other data within a terminology project. The ICT verifies that the files adhere to the TEv2 File Specifications, ensuring the consistency and accuracy of the terminology data."},"ICT")," is called with this ",(0,o.kt)("inlineCode",{parentName:"li"},""),", then this parameter will be used by the tool as described. A ",(0,o.kt)("inlineCode",{parentName:"li"},"*")," in this field indicates that this parameter can be used with every command."),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("strong",{parentName:"li"},(0,o.kt)("inlineCode",{parentName:"strong"},"Description"))," specifies the meaning of the ",(0,o.kt)("inlineCode",{parentName:"li"},"Value")," field, and other things you may need to know, e.g. why it is needed, a required syntax, etc."))),(0,o.kt)("table",null,(0,o.kt)("thead",{parentName:"table"},(0,o.kt)("tr",{parentName:"thead"},(0,o.kt)("th",{parentName:"tr",align:"left"},"Key"),(0,o.kt)("th",{parentName:"tr",align:"left"},"Value"),(0,o.kt)("th",{parentName:"tr",align:"center"},"Req'd"),(0,o.kt)("th",{parentName:"tr",align:"center"},"Cmds"),(0,o.kt)("th",{parentName:"tr",align:"left"},"Description"))),(0,o.kt)("tbody",{parentName:"table"},(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:"left"},(0,o.kt)("inlineCode",{parentName:"td"},"config")),(0,o.kt)("td",{parentName:"tr",align:"left"},(0,o.kt)("inlineCode",{parentName:"td"},"")),(0,o.kt)("td",{parentName:"tr",align:"center"},"n"),(0,o.kt)("td",{parentName:"tr",align:"center"},"*"),(0,o.kt)("td",{parentName:"tr",align:"left"},"Path (including the filename) of the tool's (YAML) configuration file. This file contains the default key-value pairs to be used. Allowed keys (and the associated values) are documented in this table. Command-line arguments override key-value pairs specified in the configuration file. This parameter SHOULD NOT appear in the configuration file itself.")),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:"left"},(0,o.kt)("inlineCode",{parentName:"td"},"scopedir")),(0,o.kt)("td",{parentName:"tr",align:"left"},(0,o.kt)("inlineCode",{parentName:"td"},"")),(0,o.kt)("td",{parentName:"tr",align:"center"},"Y"),(0,o.kt)("td",{parentName:"tr",align:"center"},"*"),(0,o.kt)("td",{parentName:"tr",align:"left"},"Path to the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopedir",title:"Scopedir: a directory in a computer file system that contains all files that are either being Curated within a particular Scope, or generated to serve some purpose within that Scope."},"scopedir")," within which the tool is to operate, i.e.: ",(0,o.kt)("em",{parentName:"td"},"this scopedir"),".")),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:"left"},(0,o.kt)("inlineCode",{parentName:"td"},"syntax")),(0,o.kt)("td",{parentName:"tr",align:"left"}),(0,o.kt)("td",{parentName:"tr",align:"center"},"n"),(0,o.kt)("td",{parentName:"tr",align:"center"},"*"),(0,o.kt)("td",{parentName:"tr",align:"left"},"This argument has no value. If present, the syntax of all (YAML) fields in the file is checked against their specifications (see e.g. ",(0,o.kt)("a",{parentName:"td",href:"docs/spec-files/saf"},"SAF specs"),", ",(0,o.kt)("a",{parentName:"td",href:"/docs/spec-tools/terminology-construction"},"terminology construction"),", ",(0,o.kt)("a",{parentName:"td",href:"/docs/spec-files/mrg"},"MRG specs"),", ",(0,o.kt)("a",{parentName:"td",href:"/docs/spec-files/ctext"},"Curated Texts"),", ",(0,o.kt)("a",{parentName:"td",href:"/docs/spec-syntax/term-ref-syntax"},"TermRefs"),").")),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:"left"},(0,o.kt)("inlineCode",{parentName:"td"},"vsntag")),(0,o.kt)("td",{parentName:"tr",align:"left"},(0,o.kt)("inlineCode",{parentName:"td"},"")),(0,o.kt)("td",{parentName:"tr",align:"center"}),(0,o.kt)("td",{parentName:"tr",align:"center"},(0,o.kt)("inlineCode",{parentName:"td"},"-mrg")),(0,o.kt)("td",{parentName:"tr",align:"left"},(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/versiontag",title:"Versiontag: a Tag that is used to Identify a specific version of a Terminology from within a specific Scope."},"versiontag")," that is used to select the version of the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," to be checked. The ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," that is selected will either have ",(0,o.kt)("inlineCode",{parentName:"td"},"")," as the contents of the field ",(0,o.kt)("inlineCode",{parentName:"td"},"terminology.vsntag"),", or as an element in the list of ",(0,o.kt)("inlineCode",{parentName:"td"},"terminology.alvsntags"),".")),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:"left"},(0,o.kt)("inlineCode",{parentName:"td"},"term")),(0,o.kt)("td",{parentName:"tr",align:"left"},(0,o.kt)("inlineCode",{parentName:"td"},"")),(0,o.kt)("td",{parentName:"tr",align:"center"},"n"),(0,o.kt)("td",{parentName:"tr",align:"center"},"-txt"),(0,o.kt)("td",{parentName:"tr",align:"left"},(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Term: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"term")," that ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identifies: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identifies")," a particular ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-file: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated file"),". The ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-file: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated file"),", whose (front-matter) field ",(0,o.kt)("inlineCode",{parentName:"td"},"term")," matches this parameter, will be integrity-checked.")),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:"left"},(0,o.kt)("inlineCode",{parentName:"td"},"termtypes")),(0,o.kt)("td",{parentName:"tr",align:"left"},(0,o.kt)("inlineCode",{parentName:"td"},"")),(0,o.kt)("td",{parentName:"tr",align:"center"},"n"),(0,o.kt)("td",{parentName:"tr",align:"center"},"-txt"),(0,o.kt)("td",{parentName:"tr",align:"left"},"List of texts that serve to identify a specific kind of ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/knowledge-artifact",title:"Knowledge-artifact: something that can be thought of as existing in a particular Knowledge, e.g. a Concept, or a Mental Model."},"knowledge artifact"),", e.g. ",(0,o.kt)("inlineCode",{parentName:"td"},"concept"),", or ",(0,o.kt)("inlineCode",{parentName:"td"},"pattern"),". Every ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-file: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated file"),", whose (front-matter) field ",(0,o.kt)("inlineCode",{parentName:"td"},"termtype")," appears as an element in the ",(0,o.kt)("inlineCode",{parentName:"td"},"")," list, will be integrity-checked.")),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:"left"},(0,o.kt)("inlineCode",{parentName:"td"},"grouptags")),(0,o.kt)("td",{parentName:"tr",align:"left"},(0,o.kt)("inlineCode",{parentName:"td"},"")),(0,o.kt)("td",{parentName:"tr",align:"center"},"n"),(0,o.kt)("td",{parentName:"tr",align:"center"},"-txt"),(0,o.kt)("td",{parentName:"tr",align:"left"},"List of ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/grouptag",title:"Grouptags: a Tag that is used to group Terms within a specific Scope."},"grouptags"),". Every ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-file: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated file"),", whose (front-matter) field ",(0,o.kt)("inlineCode",{parentName:"td"},"grouptags")," has an element that also appears as an element in the ",(0,o.kt)("inlineCode",{parentName:"td"},"")," list, will be integrity-checked.")))),(0,o.kt)("h2",{id:"integrity-checks"},"Integrity Checks"),(0,o.kt)("p",null,"The checks that are done on files depend on the kind of file that is being checked. This section lists the tests for the various kinds of files. Every file is assumed to be part of ",(0,o.kt)("em",{parentName:"p"},"this scope"),", and reside in the associated ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopedir",title:"Scopedir: a directory in a computer file system that contains all files that are either being Curated within a particular Scope, or generated to serve some purpose within that Scope."},"scopedir")," (i.e.: ",(0,o.kt)("em",{parentName:"p"},"this scopedir"),")."),(0,o.kt)("h3",{id:"saf-integrity"},"SAF integrity"),(0,o.kt)("p",null,"The ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF")," must be a file that contains valid YAML syntax."),(0,o.kt)("p",null,"The integrity of a ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF")," requires the following conditions to be satisfied for the key's in the ",(0,o.kt)("inlineCode",{parentName:"p"},"scope")," section:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("inlineCode",{parentName:"li"},"scopedir")," must point to the directory in which the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF")," is stored for public use (i.e. in this scopedir)."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("inlineCode",{parentName:"li"},"curatedir"),', when appended to the value of "',(0,o.kt)("inlineCode",{parentName:"li"},"scopedir"),'/", must point to the directory that stores the ',(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-files: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated files"),"."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("inlineCode",{parentName:"li"},"glossarydir")," must point to an existing directory."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("inlineCode",{parentName:"li"},"mrgfile"),' must be an existing file in directory "',(0,o.kt)("inlineCode",{parentName:"li"},"scopedir"),'/" (note that an empty ',(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology")," is still a ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology")," that can have an ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG"),")."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("inlineCode",{parentName:"li"},"hrgfile"),' must be an existing file in directory "',(0,o.kt)("inlineCode",{parentName:"li"},"scopedir"),'/" (note that an empty ',(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology")," is still a ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology")," that can have a ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/hrg",title:"Human Readable Glossary (HRG): a Glossary that is designed to be easily understandable and accessible to humans. HRGs present terms and their meanings in a format that prioritizes human comprehension and may include additional contextual information to aid understanding."},"HRG"),")."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("inlineCode",{parentName:"li"},"license")," must be an existing file in the directory pointed to by ",(0,o.kt)("inlineCode",{parentName:"li"},"scopedir"),".")),(0,o.kt)("p",null,"The integrity of a ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF")," requires the following conditions to be satisfied for every element in the ",(0,o.kt)("inlineCode",{parentName:"p"},"scopes")," section:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("inlineCode",{parentName:"li"},"scopetags")," must be a nonempty list of ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopetag",title:"Scopetags: a Tag that is used to Identify Scopes from within a specific Scope"},"scopetags"),"."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("inlineCode",{parentName:"li"},"scopedir")," must be a valid URL, that points to an existing directory resource.")),(0,o.kt)("p",null,"The integrity of a ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF")," requires the following conditions to be satisfied for every element in the ",(0,o.kt)("inlineCode",{parentName:"p"},"versions")," section:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("inlineCode",{parentName:"li"},"vsntag")," SHOULD not appear as an element in the ",(0,o.kt)("inlineCode",{parentName:"li"},"altvsntags")," field of this ",(0,o.kt)("inlineCode",{parentName:"li"},"version")," element, and it MUST NOT appear in the ",(0,o.kt)("inlineCode",{parentName:"li"},"vsntag")," or ",(0,o.kt)("inlineCode",{parentName:"li"},"altvsntags")," fields of any other element in the ",(0,o.kt)("inlineCode",{parentName:"li"},"versions")," section."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("inlineCode",{parentName:"li"},"altvsntags")," must be a (possibly empty) list of ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/versiontag",title:"Versiontags: a Tag that is used to Identify a specific version of a Terminology from within a specific Scope."},"versiontags"),", each of which SHOULD not appear in the ",(0,o.kt)("inlineCode",{parentName:"li"},"vsntag")," field of the element, and MUST NOT appear in the ",(0,o.kt)("inlineCode",{parentName:"li"},"vsntag")," or ",(0,o.kt)("inlineCode",{parentName:"li"},"altvsntags")," fields of any other element in the ",(0,o.kt)("inlineCode",{parentName:"li"},"versions")," section."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("inlineCode",{parentName:"li"},"termselcrit")," must be a non-emptly list of ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-selection-criteria",title:"Term Selection Criteria: criteria that are used within a particular Scope for the selection of Terms that are part of a particular Terminology."},"term selection criteria"),"."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("inlineCode",{parentName:"li"},"status")," SHOULD be a non-empty field.")),(0,o.kt)("h3",{id:"mrg-integrity"},"MRG integrity"),(0,o.kt)("p",null,"The integrity checking for ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," files assumes that the integrity conditions of a ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF")," file are satisfied, and that the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," file itself contains valid YAML syntax."),(0,o.kt)("p",null,"The integrity checking comprises every (group of) test(s) as specified in this sub-section."),(0,o.kt)("p",null,"The ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," MUST have sections named ",(0,o.kt)("inlineCode",{parentName:"p"},"terminology"),", ",(0,o.kt)("inlineCode",{parentName:"p"},"scopes"),", and ",(0,o.kt)("inlineCode",{parentName:"p"},"entries"),"."),(0,o.kt)("p",null,"Integrity checks for the ",(0,o.kt)("inlineCode",{parentName:"p"},"terminology")," section include:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("inlineCode",{parentName:"li"},"scopedir")," must point to the directory in which the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF")," is stored for public use (i.e. in this scopedir)."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("inlineCode",{parentName:"li"},"vsntag")," must be a ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/versiontag",title:"Versiontag: a Tag that is used to Identify a specific version of a Terminology from within a specific Scope."},"versiontag")," that SHOULD not appear as an element in the ",(0,o.kt)("inlineCode",{parentName:"li"},"altvsntags")," field."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("inlineCode",{parentName:"li"},"altvsntags")," must be a (possibly empty) list of ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/versiontag",title:"Versiontags: a Tag that is used to Identify a specific version of a Terminology from within a specific Scope."},"versiontags"),", none of which appear in the ",(0,o.kt)("inlineCode",{parentName:"li"},"vsntag")," field."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("inlineCode",{parentName:"li"},"license")," must be an existing file in the directory pointed to by ",(0,o.kt)("inlineCode",{parentName:"li"},"scopedir"),".")),(0,o.kt)("p",null,"Integrity checks for the ",(0,o.kt)("inlineCode",{parentName:"p"},"scopes")," section include:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("inlineCode",{parentName:"li"},"scopetags")," must be a nonempty list of ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopetag",title:"Scopetags: a Tag that is used to Identify Scopes from within a specific Scope"},"scopetags"),"."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("inlineCode",{parentName:"li"},"scopedir")," must be a valid URL, that points to an existing directory resource other than the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopedir",title:"Scopedir: a directory in a computer file system that contains all files that are either being Curated within a particular Scope, or generated to serve some purpose within that Scope."},"scopedir")," of the current ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),". This directory MUST contain a ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"),". ",(0,o.kt)("mark",null,"Do we need an option to test the integrity of such ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAFs"),"?"))),(0,o.kt)("p",null,"Integrity checks for the ",(0,o.kt)("inlineCode",{parentName:"p"},"entries")," section consist of one part that is generic for all entries, and another part that depends on the value of the ",(0,o.kt)("inlineCode",{parentName:"p"},"termtype")," field (so that checking of e.g. entries of type ",(0,o.kt)("inlineCode",{parentName:"p"},"concept")," and of type ",(0,o.kt)("inlineCode",{parentName:"p"},"pattern")," can have different checks.) The checks that every entry must pass include the following:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("inlineCode",{parentName:"li"},"scopetag")," MUST also appear as the value of ",(0,o.kt)("inlineCode",{parentName:"li"},"terminology.scopetag"),", or as an element in one of the ",(0,o.kt)("inlineCode",{parentName:"li"},"scopes.scopetags")," elements."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("inlineCode",{parentName:"li"},"termtype")," SHOULD be ",(0,o.kt)("mark",null,"tbd.")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("inlineCode",{parentName:"li"},"grouptags")," MUST be a list of ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/grouptag",title:"Grouptag: a Tag that is used to group Terms within a specific Scope."},"grouptag")," elements."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("inlineCode",{parentName:"li"},"license")," MUST be an existing file in the directory pointed to by ",(0,o.kt)("inlineCode",{parentName:"li"},"scopedir"),"."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("inlineCode",{parentName:"li"},"status")," SHOULD match an element in the list ",(0,o.kt)("inlineCode",{parentName:"li"},"scope.statuses")," of the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"),"."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("inlineCode",{parentName:"li"},"locator"),", if specified, MUST have a readable resource (file) at ",(0,o.kt)("inlineCode",{parentName:"li"},"scopedir"),"/",(0,o.kt)("inlineCode",{parentName:"li"},"curatedir"),"/",(0,o.kt)("inlineCode",{parentName:"li"},"locator"),", where ",(0,o.kt)("inlineCode",{parentName:"li"},"scopedir")," and ",(0,o.kt)("inlineCode",{parentName:"li"},"curatedir")," are specified in the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"),"."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("inlineCode",{parentName:"li"},"navurl"),", if specified, MUST return an HTML-resource when specified as the URL in a HTTP(S) request method ",(0,o.kt)("inlineCode",{parentName:"li"},"GET")," or ",(0,o.kt)("inlineCode",{parentName:"li"},"HEAD"),".")),(0,o.kt)("p",null,"For specific kinds of ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entries: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entries"),", the following additional constraints MUST be satisfied:"),(0,o.kt)(r.Z,{defaultValue:"concept",values:[{label:"Terms",value:"term"},{label:"Concepts",value:"concept"},{label:"Relations",value:"relation"},{label:"Mental Models",value:"pattern"}],mdxType:"Tabs"},(0,o.kt)(s.Z,{value:"concept",mdxType:"TabItem"},(0,o.kt)("br",null),(0,o.kt)("p",null,"The following constraints MUST hold for ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entries: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entries")," of type ",(0,o.kt)("inlineCode",{parentName:"p"},"concept"),":"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"if a ",(0,o.kt)("inlineCode",{parentName:"li"},"glossaryText")," contains a ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRef"),", then the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRef")," SHOULD be resolvable ",(0,o.kt)("mark",null,"(reference to the term-ref-integrity checks)"),"."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("inlineCode",{parentName:"li"},"hoverText")," MUST NOT contain any ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRef"),", nor any other ",(0,o.kt)("a",{parentName:"li",href:"https://www.markdownguide.org/basic-syntax/#links"},"markdown links"),"."))),(0,o.kt)(s.Z,{value:"term",mdxType:"TabItem"},(0,o.kt)("br",null),(0,o.kt)("admonition",{title:"Editor's note",type:"info"},(0,o.kt)("p",{parentName:"admonition"},"As header fields for ",(0,o.kt)("inlineCode",{parentName:"p"},"term")," termtypes need to be discussed, we do not yet specify any constraints"))),(0,o.kt)(s.Z,{value:"relation",mdxType:"TabItem"},(0,o.kt)("br",null),(0,o.kt)("h3",{id:"header-fields-for-termtype-relation"},"Header fields for ",(0,o.kt)("inlineCode",{parentName:"h3"},"termType: relation")),(0,o.kt)("admonition",{title:"Editor's note",type:"info"},(0,o.kt)("p",{parentName:"admonition"},"As ",(0,o.kt)("inlineCode",{parentName:"p"},"relation"),"s need to be discussed, we do not yet specify any constraints."))),(0,o.kt)(s.Z,{value:"pattern",mdxType:"TabItem"},(0,o.kt)("br",null),(0,o.kt)("admonition",{title:"Editor's note",type:"info"},(0,o.kt)("p",{parentName:"admonition"},"As ",(0,o.kt)("inlineCode",{parentName:"p"},"pattern"),"s need to be discussed, we do not yet specify any constraints.")))),(0,o.kt)("admonition",{title:"Editor's note",type:"info"},(0,o.kt)("p",{parentName:"admonition"},"Checks need to be added to ensure congruence between terms and any synonyms that are defined for them. For example, they should have the same value in various fields, e.g., ",(0,o.kt)("inlineCode",{parentName:"p"},"termType"),", ",(0,o.kt)("inlineCode",{parentName:"p"},"isa")," (but not ",(0,o.kt)("inlineCode",{parentName:"p"},"glossaryText")," or ",(0,o.kt)("inlineCode",{parentName:"p"},"synonymOf"),")")),(0,o.kt)("h3",{id:"curated-text-integrity"},"Curated Text integrity"),(0,o.kt)("p",null,"The integrity of any ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text")," file requires the integrity conditions of the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," file to be satisfied, as well as the following conditions:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("mark",null,"TBD"))),(0,o.kt)("h4",{id:"concepts"},"Concepts"),(0,o.kt)("p",null,"The integrity of any ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text")," file that has ",(0,o.kt)("inlineCode",{parentName:"p"},"termType: concept")," requires the integrity conditions of a ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text")," file to be satisfied, as well as the following conditions:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("mark",null,"TBD"))),(0,o.kt)("h4",{id:"patterns"},"Patterns"),(0,o.kt)("p",null,"The integrity of any ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text")," file that has ",(0,o.kt)("inlineCode",{parentName:"p"},"termType: concept")," requires the integrity conditions of a ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text")," file to be satisfied, as well as the following conditions:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("mark",null,"TBD"))),(0,o.kt)("h2",{id:"processing-errors-and-warnings"},"Processing, Errors and Warnings"),(0,o.kt)("p",null,"The ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/ict",title:"Integrity Checker Tool (ICT): a software tool designed to check the integrity and conformity of various files used in the curation and management of Glossaries, Dictionaries, Curated Texts, and other data within a terminology project. The ICT verifies that the files adhere to the TEv2 File Specifications, ensuring the consistency and accuracy of the terminology data."},"ICT")," starts by reading its command-line and configuration file. If the command-line has a key that is also found in the configuration file, the command-line key-value pair takes precedence. The resulting set of key-value pairs is tested for proper syntax and validity. Every improper syntax and every invalidity found will be logged."),(0,o.kt)("p",null,"Then, the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/ict",title:"Integrity Checker Tool (ICT): a software tool designed to check the integrity and conformity of various files used in the curation and management of Glossaries, Dictionaries, Curated Texts, and other data within a terminology project. The ICT verifies that the files adhere to the TEv2 File Specifications, ensuring the consistency and accuracy of the terminology data."},"ICT")," ",(0,o.kt)("mark",null,"TBD")),(0,o.kt)("p",null,"The ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/ict",title:"Integrity Checker Tool (ICT): a software tool designed to check the integrity and conformity of various files used in the curation and management of Glossaries, Dictionaries, Curated Texts, and other data within a terminology project. The ICT verifies that the files adhere to the TEv2 File Specifications, ensuring the consistency and accuracy of the terminology data."},"ICT")," logs every error- and/or warning condition that it comes across while processing its configuration file, commandline parameters, and input files, in a way that helps tool-operators and document ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/author",title:"Author: a person that creates a text that is meant to be read and understood by others - usually, a particular audience."},"authors")," to identify and fix such conditions."),(0,o.kt)("h2",{id:"deploying-the-tool"},"Deploying the Tool"),(0,o.kt)("p",null,"The ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/ict",title:"Integrity Checker Tool (ICT): a software tool designed to check the integrity and conformity of various files used in the curation and management of Glossaries, Dictionaries, Curated Texts, and other data within a terminology project. The ICT verifies that the files adhere to the TEv2 File Specifications, ensuring the consistency and accuracy of the terminology data."},"ICT")," comes with documentation that enables developers to ascertain its correct functioning (e.g. by using a test set of files, test scripts that exercise its parameters, etc.), and also enables them to deploy the tool in a git repo and ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/author",title:"Author: a person that creates a text that is meant to be read and understood by others - usually, a particular audience."},"author"),"/modify CI-pipes to use that deployment."),(0,o.kt)("h2",{id:"discussion-notes"},"Discussion Notes"),(0,o.kt)("p",null,"This section lists the topics that may need further discission"))}g.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/41daa8b4.5dff5f51.js b/assets/js/41daa8b4.3bd711b4.js similarity index 98% rename from assets/js/41daa8b4.5dff5f51.js rename to assets/js/41daa8b4.3bd711b4.js index 2fb5dc30bb..3c905fc90d 100644 --- a/assets/js/41daa8b4.5dff5f51.js +++ b/assets/js/41daa8b4.3bd711b4.js @@ -1 +1 @@ -"use strict";(self.webpackChunktev2_specifications=self.webpackChunktev2_specifications||[]).push([[1576],{3905:function(e,t,r){r.d(t,{Zo:function(){return d},kt:function(){return m}});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function i(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var c=n.createContext({}),l=function(e){var t=n.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},d=function(e){var t=l(e.components);return n.createElement(c.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},u=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,a=e.originalType,c=e.parentName,d=s(e,["components","mdxType","originalType","parentName"]),u=l(r),m=o,f=u["".concat(c,".").concat(m)]||u[m]||p[m]||a;return r?n.createElement(f,i(i({ref:t},d),{},{components:r})):n.createElement(f,i({ref:t},d))}));function m(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=r.length,i=new Array(a);i[0]=u;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s.mdxType="string"==typeof e?e:o,i[1]=s;for(var l=2;l=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var c=n.createContext({}),l=function(e){var t=n.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},d=function(e){var t=l(e.components);return n.createElement(c.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},u=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,a=e.originalType,c=e.parentName,d=s(e,["components","mdxType","originalType","parentName"]),u=l(r),m=o,f=u["".concat(c,".").concat(m)]||u[m]||p[m]||a;return r?n.createElement(f,i(i({ref:t},d),{},{components:r})):n.createElement(f,i({ref:t},d))}));function m(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=r.length,i=new Array(a);i[0]=u;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s.mdxType="string"==typeof e?e:o,i[1]=s;for(var l=2;l=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var c=i.createContext({}),l=function(e){var t=i.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):r(r({},t),e)),n},p=function(e){var t=l(e.components);return i.createElement(c.Provider,{value:t},e.children)},h={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},d=i.forwardRef((function(e,t){var n=e.components,o=e.mdxType,a=e.originalType,c=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),d=l(n),u=o,f=d["".concat(c,".").concat(u)]||d[u]||h[u]||a;return n?i.createElement(f,r(r({ref:t},p),{},{components:n})):i.createElement(f,r({ref:t},p))}));function u(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=n.length,r=new Array(a);r[0]=d;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s.mdxType="string"==typeof e?e:o,r[1]=s;for(var l=2;l=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var c=i.createContext({}),l=function(e){var t=i.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):r(r({},t),e)),n},p=function(e){var t=l(e.components);return i.createElement(c.Provider,{value:t},e.children)},h={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},d=i.forwardRef((function(e,t){var n=e.components,o=e.mdxType,a=e.originalType,c=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),d=l(n),u=o,f=d["".concat(c,".").concat(u)]||d[u]||h[u]||a;return n?i.createElement(f,r(r({ref:t},p),{},{components:n})):i.createElement(f,r({ref:t},p))}));function u(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=n.length,r=new Array(a);r[0]=d;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s.mdxType="string"==typeof e?e:o,r[1]=s;for(var l=2;l=0||(n[i]=t[i]);return n}(t,e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(t,i)&&(n[i]=t[i])}return n}var c=o.createContext({}),l=function(t){var e=o.useContext(c),i=e;return t&&(i="function"==typeof t?t(e):a(a({},e),t)),i},m=function(t){var e=l(t.components);return o.createElement(c.Provider,{value:e},t.children)},d={inlineCode:"code",wrapper:function(t){var e=t.children;return o.createElement(o.Fragment,{},e)}},u=o.forwardRef((function(t,e){var i=t.components,n=t.mdxType,r=t.originalType,c=t.parentName,m=s(t,["components","mdxType","originalType","parentName"]),u=l(i),h=n,p=u["".concat(c,".").concat(h)]||u[h]||d[h]||r;return i?o.createElement(p,a(a({ref:e},m),{},{components:i})):o.createElement(p,a({ref:e},m))}));function h(t,e){var i=arguments,n=e&&e.mdxType;if("string"==typeof t||n){var r=i.length,a=new Array(r);a[0]=u;var s={};for(var c in e)hasOwnProperty.call(e,c)&&(s[c]=e[c]);s.originalType=t,s.mdxType="string"==typeof t?t:n,a[1]=s;for(var l=2;l=0||(n[i]=t[i]);return n}(t,e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(t,i)&&(n[i]=t[i])}return n}var c=o.createContext({}),l=function(t){var e=o.useContext(c),i=e;return t&&(i="function"==typeof t?t(e):a(a({},e),t)),i},m=function(t){var e=l(t.components);return o.createElement(c.Provider,{value:e},t.children)},d={inlineCode:"code",wrapper:function(t){var e=t.children;return o.createElement(o.Fragment,{},e)}},u=o.forwardRef((function(t,e){var i=t.components,n=t.mdxType,r=t.originalType,c=t.parentName,m=s(t,["components","mdxType","originalType","parentName"]),u=l(i),h=n,p=u["".concat(c,".").concat(h)]||u[h]||d[h]||r;return i?o.createElement(p,a(a({ref:e},m),{},{components:i})):o.createElement(p,a({ref:e},m))}));function h(t,e){var i=arguments,n=e&&e.mdxType;if("string"==typeof t||n){var r=i.length,a=new Array(r);a[0]=u;var s={};for(var c in e)hasOwnProperty.call(e,c)&&(s[c]=e[c]);s.originalType=t,s.mdxType="string"==typeof t?t:n,a[1]=s;for(var l=2;l=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var m=i.createContext({}),c=function(e){var t=i.useContext(m),n=t;return e&&(n="function"==typeof e?e(t):s(s({},t),e)),n},h=function(e){var t=c(e.components);return i.createElement(m.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},l=i.forwardRef((function(e,t){var n=e.components,r=e.mdxType,o=e.originalType,m=e.parentName,h=a(e,["components","mdxType","originalType","parentName"]),l=c(n),d=r,f=l["".concat(m,".").concat(d)]||l[d]||p[d]||o;return n?i.createElement(f,s(s({ref:t},h),{},{components:n})):i.createElement(f,s({ref:t},h))}));function d(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=n.length,s=new Array(o);s[0]=l;var a={};for(var m in t)hasOwnProperty.call(t,m)&&(a[m]=t[m]);a.originalType=e,a.mdxType="string"==typeof e?e:r,s[1]=a;for(var c=2;c=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var m=i.createContext({}),c=function(e){var t=i.useContext(m),n=t;return e&&(n="function"==typeof e?e(t):s(s({},t),e)),n},h=function(e){var t=c(e.components);return i.createElement(m.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},l=i.forwardRef((function(e,t){var n=e.components,r=e.mdxType,o=e.originalType,m=e.parentName,h=a(e,["components","mdxType","originalType","parentName"]),l=c(n),d=r,f=l["".concat(m,".").concat(d)]||l[d]||p[d]||o;return n?i.createElement(f,s(s({ref:t},h),{},{components:n})):i.createElement(f,s({ref:t},h))}));function d(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=n.length,s=new Array(o);s[0]=l;var a={};for(var m in t)hasOwnProperty.call(t,m)&&(a[m]=t[m]);a.originalType=e,a.mdxType="string"==typeof e?e:r,s[1]=a;for(var c=2;c=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var c=o.createContext({}),l=function(e){var t=o.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},d=function(e){var t=l(e.components);return o.createElement(c.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},m=o.forwardRef((function(e,t){var r=e.components,n=e.mdxType,a=e.originalType,c=e.parentName,d=s(e,["components","mdxType","originalType","parentName"]),m=l(r),f=n,u=m["".concat(c,".").concat(f)]||m[f]||p[f]||a;return r?o.createElement(u,i(i({ref:t},d),{},{components:r})):o.createElement(u,i({ref:t},d))}));function f(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var a=r.length,i=new Array(a);i[0]=m;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s.mdxType="string"==typeof e?e:n,i[1]=s;for(var l=2;l=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var c=o.createContext({}),l=function(e){var t=o.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},d=function(e){var t=l(e.components);return o.createElement(c.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},m=o.forwardRef((function(e,t){var r=e.components,n=e.mdxType,a=e.originalType,c=e.parentName,d=s(e,["components","mdxType","originalType","parentName"]),m=l(r),f=n,u=m["".concat(c,".").concat(f)]||m[f]||p[f]||a;return r?o.createElement(u,i(i({ref:t},d),{},{components:r})):o.createElement(u,i({ref:t},d))}));function f(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var a=r.length,i=new Array(a);i[0]=m;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s.mdxType="string"==typeof e?e:n,i[1]=s;for(var l=2;l=0||(o[i]=e[i]);return o}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(o[i]=e[i])}return o}var c=n.createContext({}),h=function(e){var t=n.useContext(c),i=t;return e&&(i="function"==typeof e?e(t):a(a({},t),e)),i},l=function(e){var t=h(e.components);return n.createElement(c.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},d=n.forwardRef((function(e,t){var i=e.components,o=e.mdxType,s=e.originalType,c=e.parentName,l=r(e,["components","mdxType","originalType","parentName"]),d=h(i),f=o,m=d["".concat(c,".").concat(f)]||d[f]||p[f]||s;return i?n.createElement(m,a(a({ref:t},l),{},{components:i})):n.createElement(m,a({ref:t},l))}));function f(e,t){var i=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var s=i.length,a=new Array(s);a[0]=d;var r={};for(var c in t)hasOwnProperty.call(t,c)&&(r[c]=t[c]);r.originalType=e,r.mdxType="string"==typeof e?e:o,a[1]=r;for(var h=2;h=0||(o[i]=e[i]);return o}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(o[i]=e[i])}return o}var c=n.createContext({}),h=function(e){var t=n.useContext(c),i=t;return e&&(i="function"==typeof e?e(t):a(a({},t),e)),i},l=function(e){var t=h(e.components);return n.createElement(c.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},d=n.forwardRef((function(e,t){var i=e.components,o=e.mdxType,s=e.originalType,c=e.parentName,l=r(e,["components","mdxType","originalType","parentName"]),d=h(i),f=o,m=d["".concat(c,".").concat(f)]||d[f]||p[f]||s;return i?n.createElement(m,a(a({ref:t},l),{},{components:i})):n.createElement(m,a({ref:t},l))}));function f(e,t){var i=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var s=i.length,a=new Array(s);a[0]=d;var r={};for(var c in t)hasOwnProperty.call(t,c)&&(r[c]=t[c]);r.originalType=e,r.mdxType="string"==typeof e?e:o,a[1]=r;for(var h=2;h=0||(n[o]=t[o]);return n}(t,e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}var c=i.createContext({}),h=function(t){var e=i.useContext(c),o=e;return t&&(o="function"==typeof t?t(e):a(a({},e),t)),o},d=function(t){var e=h(t.components);return i.createElement(c.Provider,{value:e},t.children)},l={inlineCode:"code",wrapper:function(t){var e=t.children;return i.createElement(i.Fragment,{},e)}},u=i.forwardRef((function(t,e){var o=t.components,n=t.mdxType,s=t.originalType,c=t.parentName,d=r(t,["components","mdxType","originalType","parentName"]),u=h(o),m=n,p=u["".concat(c,".").concat(m)]||u[m]||l[m]||s;return o?i.createElement(p,a(a({ref:e},d),{},{components:o})):i.createElement(p,a({ref:e},d))}));function m(t,e){var o=arguments,n=e&&e.mdxType;if("string"==typeof t||n){var s=o.length,a=new Array(s);a[0]=u;var r={};for(var c in e)hasOwnProperty.call(e,c)&&(r[c]=e[c]);r.originalType=t,r.mdxType="string"==typeof t?t:n,a[1]=r;for(var h=2;h=0||(n[o]=t[o]);return n}(t,e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}var c=i.createContext({}),h=function(t){var e=i.useContext(c),o=e;return t&&(o="function"==typeof t?t(e):a(a({},e),t)),o},d=function(t){var e=h(t.components);return i.createElement(c.Provider,{value:e},t.children)},l={inlineCode:"code",wrapper:function(t){var e=t.children;return i.createElement(i.Fragment,{},e)}},u=i.forwardRef((function(t,e){var o=t.components,n=t.mdxType,s=t.originalType,c=t.parentName,d=r(t,["components","mdxType","originalType","parentName"]),u=h(o),m=n,p=u["".concat(c,".").concat(m)]||u[m]||l[m]||s;return o?i.createElement(p,a(a({ref:e},d),{},{components:o})):i.createElement(p,a({ref:e},d))}));function m(t,e){var o=arguments,n=e&&e.mdxType;if("string"==typeof t||n){var s=o.length,a=new Array(s);a[0]=u;var r={};for(var c in e)hasOwnProperty.call(e,c)&&(r[c]=e[c]);r.originalType=t,r.mdxType="string"==typeof t?t:n,a[1]=r;for(var h=2;h=0||(n[o]=e[o]);return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(n[o]=e[o])}return n}var c=r.createContext({}),p=function(e){var t=r.useContext(c),o=t;return e&&(o="function"==typeof e?e(t):s(s({},t),e)),o},l=function(e){var t=p(e.components);return r.createElement(c.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},h=r.forwardRef((function(e,t){var o=e.components,n=e.mdxType,i=e.originalType,c=e.parentName,l=a(e,["components","mdxType","originalType","parentName"]),h=p(o),d=n,m=h["".concat(c,".").concat(d)]||h[d]||u[d]||i;return o?r.createElement(m,s(s({ref:t},l),{},{components:o})):r.createElement(m,s({ref:t},l))}));function d(e,t){var o=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var i=o.length,s=new Array(i);s[0]=h;var a={};for(var c in t)hasOwnProperty.call(t,c)&&(a[c]=t[c]);a.originalType=e,a.mdxType="string"==typeof e?e:n,s[1]=a;for(var p=2;p=0||(n[o]=e[o]);return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(n[o]=e[o])}return n}var c=r.createContext({}),p=function(e){var t=r.useContext(c),o=t;return e&&(o="function"==typeof e?e(t):s(s({},t),e)),o},l=function(e){var t=p(e.components);return r.createElement(c.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},h=r.forwardRef((function(e,t){var o=e.components,n=e.mdxType,i=e.originalType,c=e.parentName,l=a(e,["components","mdxType","originalType","parentName"]),h=p(o),d=n,m=h["".concat(c,".").concat(d)]||h[d]||u[d]||i;return o?r.createElement(m,s(s({ref:t},l),{},{components:o})):r.createElement(m,s({ref:t},l))}));function d(e,t){var o=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var i=o.length,s=new Array(i);s[0]=h;var a={};for(var c in t)hasOwnProperty.call(t,c)&&(a[c]=t[c]);a.originalType=e,a.mdxType="string"==typeof e?e:n,s[1]=a;for(var p=2;p=0||(r[i]=t[i]);return r}(t,e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(t,i)&&(r[i]=t[i])}return r}var c=o.createContext({}),l=function(t){var e=o.useContext(c),i=e;return t&&(i="function"==typeof t?t(e):n(n({},e),t)),i},h=function(t){var e=l(t.components);return o.createElement(c.Provider,{value:e},t.children)},d={inlineCode:"code",wrapper:function(t){var e=t.children;return o.createElement(o.Fragment,{},e)}},u=o.forwardRef((function(t,e){var i=t.components,r=t.mdxType,a=t.originalType,c=t.parentName,h=s(t,["components","mdxType","originalType","parentName"]),u=l(i),m=r,p=u["".concat(c,".").concat(m)]||u[m]||d[m]||a;return i?o.createElement(p,n(n({ref:e},h),{},{components:i})):o.createElement(p,n({ref:e},h))}));function m(t,e){var i=arguments,r=e&&e.mdxType;if("string"==typeof t||r){var a=i.length,n=new Array(a);n[0]=u;var s={};for(var c in e)hasOwnProperty.call(e,c)&&(s[c]=e[c]);s.originalType=t,s.mdxType="string"==typeof t?t:r,n[1]=s;for(var l=2;l=0||(r[i]=t[i]);return r}(t,e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(t,i)&&(r[i]=t[i])}return r}var c=o.createContext({}),l=function(t){var e=o.useContext(c),i=e;return t&&(i="function"==typeof t?t(e):n(n({},e),t)),i},h=function(t){var e=l(t.components);return o.createElement(c.Provider,{value:e},t.children)},d={inlineCode:"code",wrapper:function(t){var e=t.children;return o.createElement(o.Fragment,{},e)}},u=o.forwardRef((function(t,e){var i=t.components,r=t.mdxType,a=t.originalType,c=t.parentName,h=s(t,["components","mdxType","originalType","parentName"]),u=l(i),m=r,p=u["".concat(c,".").concat(m)]||u[m]||d[m]||a;return i?o.createElement(p,n(n({ref:e},h),{},{components:i})):o.createElement(p,n({ref:e},h))}));function m(t,e){var i=arguments,r=e&&e.mdxType;if("string"==typeof t||r){var a=i.length,n=new Array(a);n[0]=u;var s={};for(var c in e)hasOwnProperty.call(e,c)&&(s[c]=e[c]);s.originalType=t,s.mdxType="string"==typeof t?t:r,n[1]=s;for(var l=2;l=0||(n[i]=e[i]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(n[i]=e[i])}return n}var l=a.createContext({}),c=function(e){var t=a.useContext(l),i=t;return e&&(i="function"==typeof e?e(t):s(s({},t),e)),i},d=function(e){var t=c(e.components);return a.createElement(l.Provider,{value:t},e.children)},h={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},m=a.forwardRef((function(e,t){var i=e.components,n=e.mdxType,o=e.originalType,l=e.parentName,d=r(e,["components","mdxType","originalType","parentName"]),m=c(i),p=n,f=m["".concat(l,".").concat(p)]||m[p]||h[p]||o;return i?a.createElement(f,s(s({ref:t},d),{},{components:i})):a.createElement(f,s({ref:t},d))}));function p(e,t){var i=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=i.length,s=new Array(o);s[0]=m;var r={};for(var l in t)hasOwnProperty.call(t,l)&&(r[l]=t[l]);r.originalType=e,r.mdxType="string"==typeof e?e:n,s[1]=r;for(var c=2;c child <"+("string"==typeof e.type?e.type:e.type.name)+'>: all children of the component should be , and every should have a unique "value" prop.')})))?void 0:i.filter(Boolean))?t:[]}(e).map((function(e){var t=e.props;return{value:t.value,label:t.label,attributes:t.attributes,default:t.default}}))}function m(e){var t=e.values,i=e.children;return(0,n.useMemo)((function(){var e=null!=t?t:h(i);return function(e){var t=(0,c.l)(e,(function(e,t){return e.value===t.value}));if(t.length>0)throw new Error('Docusaurus error: Duplicate values "'+t.map((function(e){return e.value})).join(", ")+'" found in . Every value needs to be unique.')}(e),e}),[t,i])}function p(e){var t=e.value;return e.tabValues.some((function(e){return e.value===t}))}function f(e){var t=e.queryString,i=void 0!==t&&t,a=e.groupId,o=(0,r.k6)(),s=function(e){var t=e.queryString,i=void 0!==t&&t,a=e.groupId;if("string"==typeof i)return i;if(!1===i)return null;if(!0===i&&!a)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return null!=a?a:null}({queryString:i,groupId:a});return[(0,l._X)(s),(0,n.useCallback)((function(e){if(s){var t=new URLSearchParams(o.location.search);t.set(s,e),o.replace(Object.assign({},o.location,{search:t.toString()}))}}),[s,o])]}function u(e){var t,i,a,o,s=e.defaultValue,r=e.queryString,l=void 0!==r&&r,c=e.groupId,h=m(e),u=(0,n.useState)((function(){return function(e){var t,i=e.defaultValue,a=e.tabValues;if(0===a.length)throw new Error("Docusaurus error: the component requires at least one children component");if(i){if(!p({value:i,tabValues:a}))throw new Error('Docusaurus error: The has a defaultValue "'+i+'" but none of its children has the corresponding value. Available values are: '+a.map((function(e){return e.value})).join(", ")+". If you intend to show no default tab, use defaultValue={null} instead.");return i}var n=null!=(t=a.find((function(e){return e.default})))?t:a[0];if(!n)throw new Error("Unexpected error: 0 tabValues");return n.value}({defaultValue:s,tabValues:h})})),g=u[0],y=u[1],b=f({queryString:l,groupId:c}),v=b[0],k=b[1],w=(t=function(e){return e?"docusaurus.tab."+e:null}({groupId:c}.groupId),i=(0,d.Nk)(t),a=i[0],o=i[1],[a,(0,n.useCallback)((function(e){t&&o.set(e)}),[t,o])]),T=w[0],G=w[1],R=function(){var e=null!=v?v:T;return p({value:e,tabValues:h})?e:null}();return(0,n.useLayoutEffect)((function(){R&&y(R)}),[R]),{selectedValue:g,selectValue:(0,n.useCallback)((function(e){if(!p({value:e,tabValues:h}))throw new Error("Can't select invalid tab value="+e);y(e),k(e),G(e)}),[k,G,h]),tabValues:h}}var g=i(2389),y="tabList__CuJ",b="tabItem_LNqP";function v(e){var t=e.className,i=e.block,r=e.selectedValue,l=e.selectValue,c=e.tabValues,d=[],h=(0,s.o5)().blockElementScrollPositionUntilNextRender,m=function(e){var t=e.currentTarget,i=d.indexOf(t),a=c[i].value;a!==r&&(h(t),l(a))},p=function(e){var t,i=null;switch(e.key){case"Enter":m(e);break;case"ArrowRight":var a,n=d.indexOf(e.currentTarget)+1;i=null!=(a=d[n])?a:d[0];break;case"ArrowLeft":var o,s=d.indexOf(e.currentTarget)-1;i=null!=(o=d[s])?o:d[d.length-1]}null==(t=i)||t.focus()};return n.createElement("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,o.Z)("tabs",{"tabs--block":i},t)},c.map((function(e){var t=e.value,i=e.label,s=e.attributes;return n.createElement("li",(0,a.Z)({role:"tab",tabIndex:r===t?0:-1,"aria-selected":r===t,key:t,ref:function(e){return d.push(e)},onKeyDown:p,onClick:m},s,{className:(0,o.Z)("tabs__item",b,null==s?void 0:s.className,{"tabs__item--active":r===t})}),null!=i?i:t)})))}function k(e){var t=e.lazy,i=e.children,a=e.selectedValue,o=(Array.isArray(i)?i:[i]).filter(Boolean);if(t){var s=o.find((function(e){return e.props.value===a}));return s?(0,n.cloneElement)(s,{className:"margin-top--md"}):null}return n.createElement("div",{className:"margin-top--md"},o.map((function(e,t){return(0,n.cloneElement)(e,{key:t,hidden:e.props.value!==a})})))}function w(e){var t=u(e);return n.createElement("div",{className:(0,o.Z)("tabs-container",y)},n.createElement(v,(0,a.Z)({},e,t)),n.createElement(k,(0,a.Z)({},e,t)))}function T(e){var t=(0,g.Z)();return n.createElement(w,(0,a.Z)({key:String(t)},e))}},5557:function(e,t,i){i.r(t),i.d(t,{assets:function(){return d},contentTitle:function(){return l},default:function(){return f},frontMatter:function(){return r},mark:function(){return m},metadata:function(){return c},toc:function(){return h}});var a=i(7462),n=i(3366),o=(i(7294),i(3905)),s=(i(4996),i(4866),i(5162),["components"]),r={id:"hrgt",sidebar_label:"HR Glossary Generation",date:20230103},l="Human Readable Glossary Generation Tool",c={unversionedId:"spec-tools/hrgt",id:"spec-tools/hrgt",title:"Human Readable Glossary Generation Tool",description:"text to mark",source:"@site/docs/spec-tools/22-hrgt.md",sourceDirName:"spec-tools",slug:"/spec-tools/hrgt",permalink:"/tev2-specifications/docs/spec-tools/hrgt",draft:!1,editUrl:"https://github.com/tno-terminology-design/tev2-specifications/blob/master/docs/spec-tools/22-hrgt.md",tags:[],version:"current",lastUpdatedBy:"Kees",lastUpdatedAt:1694174606,formattedLastUpdatedAt:"Sep 8, 2023",sidebarPosition:22,frontMatter:{id:"hrgt",sidebar_label:"HR Glossary Generation",date:20230103},sidebar:"tev2SideBar",previous:{title:"HR Glossary Generation (previous version)",permalink:"/tev2-specifications/docs/spec-tools/hrgt-old"},next:{title:"MR Dictionary Generation",permalink:"/tev2-specifications/docs/spec-tools/mrdt"}},d={},h=[{value:"Calling the Tool",id:"calling-the-tool",level:2},{value:"Processing, Errors and Warnings",id:"processing-errors-and-warnings",level:2},{value:"Deploying the Tool",id:"deploying-the-tool",level:2},{value:"Discussion Notes",id:"discussion-notes",level:2}],m=function(e){var t=e.children;return(0,o.kt)("span",{style:{color:"black",backgroundColor:"yellow",padding:"0.2rem",borderRadius:"2px"}},t)},p={toc:h,mark:m};function f(e){var t=e.components,i=(0,n.Z)(e,s);return(0,o.kt)("wrapper",(0,a.Z)({},p,i,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"human-readable-glossary-generation-tool"},"Human Readable Glossary Generation Tool"),(0,o.kt)("admonition",{type:"caution"},(0,o.kt)("p",{parentName:"admonition"},"The entire section on Terminology Engine v 2 (TEv2) is still under construction.",(0,o.kt)("br",null),"\nAs TEv2 is not (yet) available, the texts that specify the tool are still 'raw', i.e. not yet processed.",(0,o.kt)("br",null),(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/reader",title:"Reader: a person that reads a text that is authored by another person (its Author]), and that tries to understand the meaning of this text in the way its Author intended."},"readers")," will need to see through some (currently unprocessed) notational conventions.")),(0,o.kt)("p",null,"The ",(0,o.kt)("strong",{parentName:"p"},"Human Readable Glossary generation Tool (",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/hrgt",title:"Human Readable Glossary Tool (HRGT): a software tool designed to create, manage, and process Human Readable Glossaries (HRGs), as Specified By TEv2. HRGTs offer features for selecting Terms that are Curated within the Scope it is run in, or from other Scopes."},"HRGT"),")")," generates a Human Readable ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/glossary",title:"Glossary: an alphabetically sorted list of Terms with the (single) meaning it has in (at least) one context."},"Glossary")," (",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/hrg",title:"Human Readable Glossary (HRG): a Glossary that is designed to be easily understandable and accessible to humans. HRGs present terms and their meanings in a format that prioritizes human comprehension and may include additional contextual information to aid understanding."},"HRG"),") that consists of (a selection of) the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Terms: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"terms")," that are part of the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology")," of a specific ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),". "),(0,o.kt)("p",null,"The ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/hrgt",title:"Human Readable Glossary Tool (HRGT): a software tool designed to create, manage, and process Human Readable Glossaries (HRGs), as Specified By TEv2. HRGTs offer features for selecting Terms that are Curated within the Scope it is run in, or from other Scopes."},"HRGT")," takes one specific ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," as its input, and converts (a selection of) its ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entries: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entries")," into one of the supported output formats, e.g. HTML, or PDF. The file that contains the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," is named ",(0,o.kt)("inlineCode",{parentName:"p"},"mrg...yaml"),", where the combination of ",(0,o.kt)("inlineCode",{parentName:"p"},"")," and ",(0,o.kt)("inlineCode",{parentName:"p"},"")," identify a particular ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology"),". See the ",(0,o.kt)("a",{parentName:"p",href:"/docs/spec-files/mrg#mrg-file-naming"},"MRG file naming conventions")," for details."),(0,o.kt)("p",null,"The selection of the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entries: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entries")," that are to be included in the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/hrg",title:"Human Readable Glossary (HRG): a Glossary that is designed to be easily understandable and accessible to humans. HRGs present terms and their meanings in a format that prioritizes human comprehension and may include additional contextual information to aid understanding."},"HRG"),", as well as the specification of the output format, headers, footers, etc., can be configured as well as customized. Thus, the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/hrgt",title:"Human Readable Glossary Tool (HRGT): a software tool designed to create, manage, and process Human Readable Glossaries (HRGs), as Specified By TEv2. HRGTs offer features for selecting Terms that are Curated within the Scope it is run in, or from other Scopes."},"HRGT")," provides a flexible means for creating all sorts of outputs that are either already human readable or can be processed further by third-party rendering tools, such as ",(0,o.kt)("a",{parentName:"p",href:"https://pages.github.com/"},"github pages")," or ",(0,o.kt)("a",{parentName:"p",href:"https://docusaurus.io/docs/docs-introduction"},"Docusaurus"),", etc. (see also: ",(0,o.kt)("a",{parentName:"p",href:"/docs/tev2-toolbox"},"Using the Tools"),")."),(0,o.kt)("p",null,"There is currently one implementation of the tool underway:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"the repo in which the tool is being developed is ","[",(0,o.kt)("mark",null,"tbd"),"]","."),(0,o.kt)("li",{parentName:"ul"},"the documentation is ","[",(0,o.kt)("mark",null,"tbd"),"]",".")),(0,o.kt)("h2",{id:"calling-the-tool"},"Calling the Tool"),(0,o.kt)("p",null,"The behavior of the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/hrgt",title:"Human Readable Glossary Tool (HRGT): a software tool designed to create, manage, and process Human Readable Glossaries (HRGs), as Specified By TEv2. HRGTs offer features for selecting Terms that are Curated within the Scope it is run in, or from other Scopes."},"HRGT")," can be configured per call e.g. by a configuration file and/or command-line parameters. The command-line syntax is as follows:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre"},"hrgt [ ] [ ]\n")),(0,o.kt)("p",null,"where:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("inlineCode",{parentName:"li"},"")," (optional) is a list of key-value pairs"),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"https://en.wikipedia.org/wiki/Glob_(programming)#Syntax"},(0,o.kt)("inlineCode",{parentName:"a"},"globpattern"))," (optional) specifies a set of (input) files that are to be processed. If a configuration file is used, its contents may specify an additional set of input files to be processed.")),(0,o.kt)("details",null,(0,o.kt)("summary",null,"Legend"),(0,o.kt)("p",null,"The columns in the following table are defined as follows:"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("strong",{parentName:"li"},(0,o.kt)("inlineCode",{parentName:"strong"},"Key"))," is the text to be used as a key."),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("strong",{parentName:"li"},(0,o.kt)("inlineCode",{parentName:"strong"},"Value"))," represents the kind of value to be used."),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("strong",{parentName:"li"},(0,o.kt)("inlineCode",{parentName:"strong"},"Req'd"))," specifies whether (",(0,o.kt)("inlineCode",{parentName:"li"},"Y"),") or not (",(0,o.kt)("inlineCode",{parentName:"li"},"n"),") the field is required to be present when the tool is being called. If required, it MUST either be present in the configuration file, or as a command-line parameter."),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("strong",{parentName:"li"},(0,o.kt)("inlineCode",{parentName:"strong"},"Description"))," specifies the meaning of the ",(0,o.kt)("inlineCode",{parentName:"li"},"Value")," field, and other things you may need to know, e.g. why it is needed, a required syntax, etc."))),(0,o.kt)("table",null,(0,o.kt)("thead",{parentName:"table"},(0,o.kt)("tr",{parentName:"thead"},(0,o.kt)("th",{parentName:"tr",align:"left"},"Key"),(0,o.kt)("th",{parentName:"tr",align:"center"},"Req'd"),(0,o.kt)("th",{parentName:"tr",align:"left"},"Description"))),(0,o.kt)("tbody",{parentName:"table"},(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:"left"},(0,o.kt)("inlineCode",{parentName:"td"},"config")),(0,o.kt)("td",{parentName:"tr",align:"center"},"n"),(0,o.kt)("td",{parentName:"tr",align:"left"},"Path (including the filename) of the tool's (YAML) configuration file. This file contains the default key-value pairs to be used. Allowed keys (and the associated values) are documented in this table. Command-line arguments override key-value pairs specified in the configuration file. This parameter MUST NOT appear in the configuration file itself.")),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:"left"},(0,o.kt)("inlineCode",{parentName:"td"},"scopedir")),(0,o.kt)("td",{parentName:"tr",align:"center"},"n"),(0,o.kt)("td",{parentName:"tr",align:"left"},"Path of the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopedir",title:"Scope-directory: a directory in a computer file system that contains all files that are either being Curated within a particular Scope, or generated to serve some purpose within that Scope."},"scope directory")," from which the tool is called. It MUST contain the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF")," for that ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),", which we will refer to as the 'current scope' for the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/hrgt",title:"Human Readable Glossary Tool (HRGT): a software tool designed to create, manage, and process Human Readable Glossaries (HRGs), as Specified By TEv2. HRGTs offer features for selecting Terms that are Curated within the Scope it is run in, or from other Scopes."},"HRGT"),". If omitted, the current directory is assumed to tbe the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopedir",title:"Scope-directory: a directory in a computer file system that contains all files that are either being Curated within a particular Scope, or generated to serve some purpose within that Scope."},"scope directory"),".")),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:"left"},(0,o.kt)("inlineCode",{parentName:"td"},"input")),(0,o.kt)("td",{parentName:"tr",align:"center"},"n"),(0,o.kt)("td",{parentName:"tr",align:"left"},(0,o.kt)("a",{parentName:"td",href:"https://en.wikipedia.org/wiki/Glob_(programming)#Syntax"},"Globpattern")," that specifies the set of (input) files (",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRGs"),") that are to be processed. If omitted, the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/hrg",title:"Human Readable Glossary (HRG): a Glossary that is designed to be easily understandable and accessible to humans. HRGs present terms and their meanings in a format that prioritizes human comprehension and may include additional contextual information to aid understanding."},"HRG")," is generated for the default ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," of the current scope (as specified in the ",(0,o.kt)("inlineCode",{parentName:"td"},"mrgfile")," field of the ",(0,o.kt)("inlineCode",{parentName:"td"},"scope")," section in its ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"),".")),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:"left"},(0,o.kt)("inlineCode",{parentName:"td"},"output")),(0,o.kt)("td",{parentName:"tr",align:"center"},"n"),(0,o.kt)("td",{parentName:"tr",align:"left"},"text that is used as the last part of the name of the file(s) that contain(s) the generated ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/hrg",title:"Human Readable Glossary (HRG): a Glossary that is designed to be easily understandable and accessible to humans. HRGs present terms and their meanings in a format that prioritizes human comprehension and may include additional contextual information to aid understanding."},"HRG(s)"),". This text must specify an appropriate extension, such as HTML or PDF. The filename(s) will be of the form ",(0,o.kt)("inlineCode",{parentName:"td"},"hrg..."),", where ",(0,o.kt)("inlineCode",{parentName:"td"},"")," is the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopetag",title:"Scopetag: a Tag that is used to Identify Scopes from within a specific Scope"},"scopetag")," of the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," within which the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/hrg",title:"Human Readable Glossary (HRG): a Glossary that is designed to be easily understandable and accessible to humans. HRGs present terms and their meanings in a format that prioritizes human comprehension and may include additional contextual information to aid understanding."},"HRG")," is generated, and ",(0,o.kt)("inlineCode",{parentName:"td"},"")," ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identifies: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identifies")," the version of the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology")," in that ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),". From this, it follows that an ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG"),"-file exists named ",(0,o.kt)("inlineCode",{parentName:"td"},"mrg...yaml"),", which is used as the source for the entries in the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/hrg",title:"Human Readable Glossary (HRG): a Glossary that is designed to be easily understandable and accessible to humans. HRGs present terms and their meanings in a format that prioritizes human comprehension and may include additional contextual information to aid understanding."},"HRG"),".")),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:"left"},(0,o.kt)("inlineCode",{parentName:"td"},"termselcrit")),(0,o.kt)("td",{parentName:"tr",align:"center"},"n"),(0,o.kt)("td",{parentName:"tr",align:"left"},"List of ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-selection-criteria",title:"Term Selection Criteria: criteria that are used within a particular Scope for the selection of Terms that are part of a particular Terminology."},"term selection criteria")," that are used to generate (this version of) the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scopes: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope's")," ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology"),". If omitted, all ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entries: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entries")," from the source ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," will be selected. See ",(0,o.kt)("a",{parentName:"td",href:"/docs/spec-tools/terminology-construction"},"Terminology Construction")," for details.")),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:"left"},(0,o.kt)("inlineCode",{parentName:"td"},"method")),(0,o.kt)("td",{parentName:"tr",align:"center"},"n"),(0,o.kt)("td",{parentName:"tr",align:"left"},(0,o.kt)("mark",null,"Text, the syntax and semantics of which remain to be specified (see also the Editor's note below).")," When this parameter is omitted, the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/hrg",title:"Human Readable Glossary (HRG): a Glossary that is designed to be easily understandable and accessible to humans. HRGs present terms and their meanings in a format that prioritizes human comprehension and may include additional contextual information to aid understanding."},"HRG")," is generated as an HTML file.")),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:"left"},(0,o.kt)("inlineCode",{parentName:"td"},"license")),(0,o.kt)("td",{parentName:"tr",align:"center"},"n"),(0,o.kt)("td",{parentName:"tr",align:"left"},"File that contains the (default) licensing conditions. Full URL is ",(0,o.kt)("inlineCode",{parentName:"td"},"scopedir"),"/",(0,o.kt)("inlineCode",{parentName:"td"},"license"),". If not specified, its value defaults to the value of the ",(0,o.kt)("inlineCode",{parentName:"td"},"license")," field in the ",(0,o.kt)("inlineCode",{parentName:"td"},"scope")," section (of the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF")," of the current scope). The purpose of this field is to enable different ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/hrg",title:"Human Readable Glossary (HRG): a Glossary that is designed to be easily understandable and accessible to humans. HRGs present terms and their meanings in a format that prioritizes human comprehension and may include additional contextual information to aid understanding."},"HRGs")," to have different licenses.")))),(0,o.kt)("admonition",{title:"Editor's Note:",type:"info"},(0,o.kt)("p",{parentName:"admonition"},"We may want to consider:"),(0,o.kt)("ul",{parentName:"admonition"},(0,o.kt)("li",{parentName:"ul"},"changing the ",(0,o.kt)("inlineCode",{parentName:"li"},"input")," parameter from a globpattern to a list of versiontags for which the HRG is to be generated."),(0,o.kt)("li",{parentName:"ul"},"revising the spec of the ",(0,o.kt)("inlineCode",{parentName:"li"},"output")," parameter, depending on the kind of control that ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curator",title:"Curator: {(noRefs glossaryText)}"},"curators")," need."),(0,o.kt)("li",{parentName:"ul"},"add a ",(0,o.kt)("inlineCode",{parentName:"li"},"version")," parameter, the value of which is a ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/versiontag",title:"Versiontag: a Tag that is used to Identify a specific version of a Terminology from within a specific Scope."},"versiontag"),", and the meaning of which is that (a) the input file is the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," associated with that ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/versiontag",title:"Versiontag: a Tag that is used to Identify a specific version of a Terminology from within a specific Scope."},"versiontag"),", and (b) the output file will be registered in the ",(0,o.kt)("inlineCode",{parentName:"li"},"hrgfile")," entry of the appropriate element of the ",(0,o.kt)("inlineCode",{parentName:"li"},"versions")," section of the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"),", and also, if appropriate, in the ",(0,o.kt)("inlineCode",{parentName:"li"},"scope")," section of the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"),". Doing this requires additional texts in subsequent sections."))),(0,o.kt)("admonition",{title:"Editor's Note:",type:"info"},(0,o.kt)("p",{parentName:"admonition"},"Various ",(0,o.kt)("inlineCode",{parentName:"p"},"method"),"s are envisaged, yet remain to be properly specified. A method may specify:"),(0,o.kt)("ul",{parentName:"admonition"},(0,o.kt)("li",{parentName:"ul"},"what a single entry contains"),(0,o.kt)("li",{parentName:"ul"},"that the contents of particular files are to be used as header or footer;"),(0,o.kt)("li",{parentName:"ul"},"that a particular kind of navigation bar is to be inserted at specific places (e.g. between two subsequent entries that start with a different character);"),(0,o.kt)("li",{parentName:"ul"},"..."))),(0,o.kt)("h2",{id:"processing-errors-and-warnings"},"Processing, Errors and Warnings"),(0,o.kt)("p",null,"The ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/hrgt",title:"Human Readable Glossary Tool (HRGT): a software tool designed to create, manage, and process Human Readable Glossaries (HRGs), as Specified By TEv2. HRGTs offer features for selecting Terms that are Curated within the Scope it is run in, or from other Scopes."},"HRGT")," starts by reading its command-line and configuration file. If the command-line has a key that is also found in the configuration file, the command-line key-value pair takes precedence. The resulting set of key-value pairs is tested for proper syntax and validity. Every improper syntax and every invalidity found will be logged. Improper syntax may be e.g. an invalid ",(0,o.kt)("a",{parentName:"p",href:"https://en.wikipedia.org/wiki/Glob_(programming)#Syntax"},"globpattern"),". Invalidities include non-existing directories or files, lack of write-permissions where needed, etc."),(0,o.kt)("p",null,"Then, the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/hrgt",title:"Human Readable Glossary Tool (HRGT): a software tool designed to create, manage, and process Human Readable Glossaries (HRGs), as Specified By TEv2. HRGTs offer features for selecting Terms that are Curated within the Scope it is run in, or from other Scopes."},"HRGT")," reads the specified input files (in arbitrary order), and processes each of them, as follows:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"select the actual ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," that is to be used as an input;"),(0,o.kt)("li",{parentName:"ul"},"select the (subset of) ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entries: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entries")," from that ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," that must appear in the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/hrg",title:"Human Readable Glossary (HRG): a Glossary that is designed to be easily understandable and accessible to humans. HRGs present terms and their meanings in a format that prioritizes human comprehension and may include additional contextual information to aid understanding."},"HRG")," - see ",(0,o.kt)("a",{parentName:"li",href:"/docs/spec-syntax/hrg-termselcrit"},"HRG Term Selection")," for details. Conceptually, this will result in an ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," that only contains ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entries: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entries")," that need to appear in the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/hrg",title:"Human Readable Glossary (HRG): a Glossary that is designed to be easily understandable and accessible to humans. HRGs present terms and their meanings in a format that prioritizes human comprehension and may include additional contextual information to aid understanding."},"HRG")," as well;"),(0,o.kt)("li",{parentName:"ul"},"(alphabetically) sort these entries;"),(0,o.kt)("li",{parentName:"ul"},"convert each entry into a specific 'rendered' format (as specified by the user), thereby resolving any ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRefs")," (by appropriately calling the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/trrt",title:"TRRT (TermRef Rendering Tool): a TEv2 Tool that is designed to facilitate the visualization and rendering of TermRefs."},"TRRT"),")",(0,o.kt)("sup",{parentName:"li",id:"fnref-1"},(0,o.kt)("a",{parentName:"sup",href:"#fn-1",className:"footnote-ref"},"1")),", adding hyperlinks to the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text")," that the entry relates to, 'meta-data' (e.g. the associated ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/grouptag",title:"Grouptags: a Tag that is used to group Terms within a specific Scope."},"grouptags"),", contributors, etc.), and anything else, as required for the particular kind of ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/hrg",title:"Human Readable Glossary (HRG): a Glossary that is designed to be easily understandable and accessible to humans. HRGs present terms and their meanings in a format that prioritizes human comprehension and may include additional contextual information to aid understanding."},"HRG")," that is being generated;",(0,o.kt)("admonition",{parentName:"li",title:"Editor's note",type:"info"},(0,o.kt)("p",{parentName:"admonition"},"The ",(0,o.kt)("a",{parentName:"p",href:"https://github.com/tno-terminology-design/trrt"},"TRRT")," has a nice setup for implementing ",(0,o.kt)("a",{parentName:"p",href:"/docs/overview/tev2-design-principles#text-conversion-steps"},"text conversion steps"),". We should check that out and adapt the specifications text in this section so that this stuff can be reused as much as possible."))),(0,o.kt)("li",{parentName:"ul"},"construct the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/hrg",title:"Human Readable Glossary (HRG): a Glossary that is designed to be easily understandable and accessible to humans. HRGs present terms and their meanings in a format that prioritizes human comprehension and may include additional contextual information to aid understanding."},"HRG")," by adding (rendered) header- and footer-material and (optionally) licensing information;"),(0,o.kt)("li",{parentName:"ul"},"write the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/hrg",title:"Human Readable Glossary (HRG): a Glossary that is designed to be easily understandable and accessible to humans. HRGs present terms and their meanings in a format that prioritizes human comprehension and may include additional contextual information to aid understanding."},"HRG")," to the designated output file.")),(0,o.kt)("admonition",{title:"Editor's Note:",type:"info"},(0,o.kt)("p",{parentName:"admonition"},"A special case of ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/hrg",title:"Human Readable Glossary (HRG): a Glossary that is designed to be easily understandable and accessible to humans. HRGs present terms and their meanings in a format that prioritizes human comprehension and may include additional contextual information to aid understanding."},"HRG")," generation is when the default ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/hrg",title:"Human Readable Glossary (HRG): a Glossary that is designed to be easily understandable and accessible to humans. HRGs present terms and their meanings in a format that prioritizes human comprehension and may include additional contextual information to aid understanding."},"HRG")," is created for a particular ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG"),", which typically consists of all ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entries: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entries")," of that ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG"),". In that case, the contents of the ",(0,o.kt)("inlineCode",{parentName:"p"},"hrgfile")," field in ",(0,o.kt)("inlineCode",{parentName:"p"},"versions")," section of the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF")," whose ",(0,o.kt)("inlineCode",{parentName:"p"},"mrgfile")," field ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identifies: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identifies")," the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," should become the name of the file that contains the generated ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/hrg",title:"Human Readable Glossary (HRG): a Glossary that is designed to be easily understandable and accessible to humans. HRGs present terms and their meanings in a format that prioritizes human comprehension and may include additional contextual information to aid understanding."},"HRG"),". Additionally, if the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," happens to be the default one for the scope (as can be seen by comparing its filename with the contents of the ",(0,o.kt)("inlineCode",{parentName:"p"},"mrgfile")," field in the ",(0,o.kt)("inlineCode",{parentName:"p"},"scope")," section of the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"),"), then the contents of the ",(0,o.kt)("inlineCode",{parentName:"p"},"hrgfile")," field in ",(0,o.kt)("inlineCode",{parentName:"p"},"scope")," section of the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF")," must also become the name of the file that contains the generated ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/hrg",title:"Human Readable Glossary (HRG): a Glossary that is designed to be easily understandable and accessible to humans. HRGs present terms and their meanings in a format that prioritizes human comprehension and may include additional contextual information to aid understanding."},"HRG"),". Whether or not the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/hrgt",title:"Human Readable Glossary Tool (HRGT): a software tool designed to create, manage, and process Human Readable Glossaries (HRGs), as Specified By TEv2. HRGTs offer features for selecting Terms that are Curated within the Scope it is run in, or from other Scopes."},"HRGT")," is expected to operate in this mode is an option that can be provided at the commandline or in the configuration file.")),(0,o.kt)("p",null,"The ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/hrgt",title:"Human Readable Glossary Tool (HRGT): a software tool designed to create, manage, and process Human Readable Glossaries (HRGs), as Specified By TEv2. HRGTs offer features for selecting Terms that are Curated within the Scope it is run in, or from other Scopes."},"HRGT")," logs every error- and/or warning condition that it comes across while processing its configuration file, commandline parameters, and input files, in a way that helps tool-operators and document ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/author",title:"Author: a person that creates a text that is meant to be read and understood by others - usually, a particular audience."},"authors")," to identify and fix such conditions."),(0,o.kt)("h2",{id:"deploying-the-tool"},"Deploying the Tool"),(0,o.kt)("p",null,"The ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/hrgt",title:"Human Readable Glossary Tool (HRGT): a software tool designed to create, manage, and process Human Readable Glossaries (HRGs), as Specified By TEv2. HRGTs offer features for selecting Terms that are Curated within the Scope it is run in, or from other Scopes."},"HRGT")," comes with documentation that enables developers to ascertain its correct functioning (e.g. by using a test set of files, test scripts that exercise its parameters, etc.), and also enables them to deploy the tool in a git repo and author/modify CI-pipes to use that deployment."),(0,o.kt)("h2",{id:"discussion-notes"},"Discussion Notes"),(0,o.kt)("p",null,"This section contains some notes of a discussion between Daniel and Rieks on these matters of some time ago, which pertains to glossaries in the context of ToIP."),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"A ToIP ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/glossary",title:"Glossary: an alphabetically sorted list of Terms with the (single) meaning it has in (at least) one context."},"glossary")," will be put by default at ",(0,o.kt)("inlineCode",{parentName:"li"},"http://trustoverip.github.io//glossary"),", where ",(0,o.kt)("inlineCode",{parentName:"li"},"")," is the name of the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terms-community",title:"Terms-community: a Community that maintains a Terminology for the purpose of avoiding misunderstandings between its members as they collaborate."},"terms-community"),". This allows every ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terms-community",title:"Terms-community: a Community that maintains a Terminology for the purpose of avoiding misunderstandings between its members as they collaborate."},"terms-community")," to have its own ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/glossary",title:"Glossary: an alphabetically sorted list of Terms with the (single) meaning it has in (at least) one context."},"glossary"),". However, the above specifications allow ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terms-community",title:"Terms-community: a Community that maintains a Terminology for the purpose of avoiding misunderstandings between its members as they collaborate."},"terms-communities")," to ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curate",title:"Curate: to select, organize, and present Terms, Definitions, and other, related content in a thoughtful and purposeful manner to establish shared understanding among a Community working together on a particular set of objectives."},"curate")," multiple ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scopes"),"."),(0,o.kt)("li",{parentName:"ul"},"Storing ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/glossary",title:"Glossary: an alphabetically sorted list of Terms with the (single) meaning it has in (at least) one context."},"glossaries")," elsewhere was seen to break the (basic workings of the postprocessing tool, but the above specifications would fix that."),(0,o.kt)("li",{parentName:"ul"},"Entries, e.g. 'foo' can be referenced as ",(0,o.kt)("inlineCode",{parentName:"li"},'http://trustoverip.github.io//glossary#foo')," (in case of a standalone glossary), and ",(0,o.kt)("inlineCode",{parentName:"li"},"http://trustoverip.github.io//document-that-includes-glossary-fragment#foo")," (in case of a fragmented glossary)."),(0,o.kt)("li",{parentName:"ul"},"We could also see GGT and TRRT to be extended, e.g. to work in conjunction with LaTeX or word-processor documents. This needs some looking into, but ",(0,o.kt)("a",{parentName:"li",href:"https://pandoc.org/"},"pandoc")," may be useful here.")),(0,o.kt)("div",{className:"footnotes"},(0,o.kt)("hr",{parentName:"div"}),(0,o.kt)("ol",{parentName:"div"},(0,o.kt)("li",{parentName:"ol",id:"fn-1"},"if the rendered output is such that ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRefs")," can still be recognized by the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/trrt",title:"TRRT (TermRef Rendering Tool): a TEv2 Tool that is designed to facilitate the visualization and rendering of TermRefs."},"TRRT"),", it may be more efficient to defer the resolution of ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRefs")," until after the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/hrg",title:"Human Readable Glossary (HRG): a Glossary that is designed to be easily understandable and accessible to humans. HRGs present terms and their meanings in a format that prioritizes human comprehension and may include additional contextual information to aid understanding."},"HRG")," is completely generated.",(0,o.kt)("a",{parentName:"li",href:"#fnref-1",className:"footnote-backref"},"\u21a9")))))}f.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunktev2_specifications=self.webpackChunktev2_specifications||[]).push([[7773],{3905:function(e,t,i){i.d(t,{Zo:function(){return d},kt:function(){return p}});var a=i(7294);function n(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function o(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,a)}return i}function s(e){for(var t=1;t=0||(n[i]=e[i]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(n[i]=e[i])}return n}var l=a.createContext({}),c=function(e){var t=a.useContext(l),i=t;return e&&(i="function"==typeof e?e(t):s(s({},t),e)),i},d=function(e){var t=c(e.components);return a.createElement(l.Provider,{value:t},e.children)},h={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},m=a.forwardRef((function(e,t){var i=e.components,n=e.mdxType,o=e.originalType,l=e.parentName,d=r(e,["components","mdxType","originalType","parentName"]),m=c(i),p=n,f=m["".concat(l,".").concat(p)]||m[p]||h[p]||o;return i?a.createElement(f,s(s({ref:t},d),{},{components:i})):a.createElement(f,s({ref:t},d))}));function p(e,t){var i=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=i.length,s=new Array(o);s[0]=m;var r={};for(var l in t)hasOwnProperty.call(t,l)&&(r[l]=t[l]);r.originalType=e,r.mdxType="string"==typeof e?e:n,s[1]=r;for(var c=2;c child <"+("string"==typeof e.type?e.type:e.type.name)+'>: all children of the component should be , and every should have a unique "value" prop.')})))?void 0:i.filter(Boolean))?t:[]}(e).map((function(e){var t=e.props;return{value:t.value,label:t.label,attributes:t.attributes,default:t.default}}))}function m(e){var t=e.values,i=e.children;return(0,n.useMemo)((function(){var e=null!=t?t:h(i);return function(e){var t=(0,c.l)(e,(function(e,t){return e.value===t.value}));if(t.length>0)throw new Error('Docusaurus error: Duplicate values "'+t.map((function(e){return e.value})).join(", ")+'" found in . Every value needs to be unique.')}(e),e}),[t,i])}function p(e){var t=e.value;return e.tabValues.some((function(e){return e.value===t}))}function f(e){var t=e.queryString,i=void 0!==t&&t,a=e.groupId,o=(0,r.k6)(),s=function(e){var t=e.queryString,i=void 0!==t&&t,a=e.groupId;if("string"==typeof i)return i;if(!1===i)return null;if(!0===i&&!a)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return null!=a?a:null}({queryString:i,groupId:a});return[(0,l._X)(s),(0,n.useCallback)((function(e){if(s){var t=new URLSearchParams(o.location.search);t.set(s,e),o.replace(Object.assign({},o.location,{search:t.toString()}))}}),[s,o])]}function u(e){var t,i,a,o,s=e.defaultValue,r=e.queryString,l=void 0!==r&&r,c=e.groupId,h=m(e),u=(0,n.useState)((function(){return function(e){var t,i=e.defaultValue,a=e.tabValues;if(0===a.length)throw new Error("Docusaurus error: the component requires at least one children component");if(i){if(!p({value:i,tabValues:a}))throw new Error('Docusaurus error: The has a defaultValue "'+i+'" but none of its children has the corresponding value. Available values are: '+a.map((function(e){return e.value})).join(", ")+". If you intend to show no default tab, use defaultValue={null} instead.");return i}var n=null!=(t=a.find((function(e){return e.default})))?t:a[0];if(!n)throw new Error("Unexpected error: 0 tabValues");return n.value}({defaultValue:s,tabValues:h})})),g=u[0],y=u[1],b=f({queryString:l,groupId:c}),v=b[0],k=b[1],w=(t=function(e){return e?"docusaurus.tab."+e:null}({groupId:c}.groupId),i=(0,d.Nk)(t),a=i[0],o=i[1],[a,(0,n.useCallback)((function(e){t&&o.set(e)}),[t,o])]),T=w[0],G=w[1],R=function(){var e=null!=v?v:T;return p({value:e,tabValues:h})?e:null}();return(0,n.useLayoutEffect)((function(){R&&y(R)}),[R]),{selectedValue:g,selectValue:(0,n.useCallback)((function(e){if(!p({value:e,tabValues:h}))throw new Error("Can't select invalid tab value="+e);y(e),k(e),G(e)}),[k,G,h]),tabValues:h}}var g=i(2389),y="tabList__CuJ",b="tabItem_LNqP";function v(e){var t=e.className,i=e.block,r=e.selectedValue,l=e.selectValue,c=e.tabValues,d=[],h=(0,s.o5)().blockElementScrollPositionUntilNextRender,m=function(e){var t=e.currentTarget,i=d.indexOf(t),a=c[i].value;a!==r&&(h(t),l(a))},p=function(e){var t,i=null;switch(e.key){case"Enter":m(e);break;case"ArrowRight":var a,n=d.indexOf(e.currentTarget)+1;i=null!=(a=d[n])?a:d[0];break;case"ArrowLeft":var o,s=d.indexOf(e.currentTarget)-1;i=null!=(o=d[s])?o:d[d.length-1]}null==(t=i)||t.focus()};return n.createElement("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,o.Z)("tabs",{"tabs--block":i},t)},c.map((function(e){var t=e.value,i=e.label,s=e.attributes;return n.createElement("li",(0,a.Z)({role:"tab",tabIndex:r===t?0:-1,"aria-selected":r===t,key:t,ref:function(e){return d.push(e)},onKeyDown:p,onClick:m},s,{className:(0,o.Z)("tabs__item",b,null==s?void 0:s.className,{"tabs__item--active":r===t})}),null!=i?i:t)})))}function k(e){var t=e.lazy,i=e.children,a=e.selectedValue,o=(Array.isArray(i)?i:[i]).filter(Boolean);if(t){var s=o.find((function(e){return e.props.value===a}));return s?(0,n.cloneElement)(s,{className:"margin-top--md"}):null}return n.createElement("div",{className:"margin-top--md"},o.map((function(e,t){return(0,n.cloneElement)(e,{key:t,hidden:e.props.value!==a})})))}function w(e){var t=u(e);return n.createElement("div",{className:(0,o.Z)("tabs-container",y)},n.createElement(v,(0,a.Z)({},e,t)),n.createElement(k,(0,a.Z)({},e,t)))}function T(e){var t=(0,g.Z)();return n.createElement(w,(0,a.Z)({key:String(t)},e))}},5557:function(e,t,i){i.r(t),i.d(t,{assets:function(){return d},contentTitle:function(){return l},default:function(){return f},frontMatter:function(){return r},mark:function(){return m},metadata:function(){return c},toc:function(){return h}});var a=i(7462),n=i(3366),o=(i(7294),i(3905)),s=(i(4996),i(4866),i(5162),["components"]),r={id:"hrgt",sidebar_label:"HR Glossary Generation",date:20230103},l="Human Readable Glossary Generation Tool",c={unversionedId:"spec-tools/hrgt",id:"spec-tools/hrgt",title:"Human Readable Glossary Generation Tool",description:"text to mark",source:"@site/docs/spec-tools/22-hrgt.md",sourceDirName:"spec-tools",slug:"/spec-tools/hrgt",permalink:"/tev2-specifications/docs/spec-tools/hrgt",draft:!1,editUrl:"https://github.com/tno-terminology-design/tev2-specifications/blob/master/docs/spec-tools/22-hrgt.md",tags:[],version:"current",lastUpdatedBy:"Ca5e",lastUpdatedAt:1694182104,formattedLastUpdatedAt:"Sep 8, 2023",sidebarPosition:22,frontMatter:{id:"hrgt",sidebar_label:"HR Glossary Generation",date:20230103},sidebar:"tev2SideBar",previous:{title:"HR Glossary Generation (previous version)",permalink:"/tev2-specifications/docs/spec-tools/hrgt-old"},next:{title:"MR Dictionary Generation",permalink:"/tev2-specifications/docs/spec-tools/mrdt"}},d={},h=[{value:"Calling the Tool",id:"calling-the-tool",level:2},{value:"Processing, Errors and Warnings",id:"processing-errors-and-warnings",level:2},{value:"Deploying the Tool",id:"deploying-the-tool",level:2},{value:"Discussion Notes",id:"discussion-notes",level:2}],m=function(e){var t=e.children;return(0,o.kt)("span",{style:{color:"black",backgroundColor:"yellow",padding:"0.2rem",borderRadius:"2px"}},t)},p={toc:h,mark:m};function f(e){var t=e.components,i=(0,n.Z)(e,s);return(0,o.kt)("wrapper",(0,a.Z)({},p,i,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"human-readable-glossary-generation-tool"},"Human Readable Glossary Generation Tool"),(0,o.kt)("admonition",{type:"caution"},(0,o.kt)("p",{parentName:"admonition"},"The entire section on Terminology Engine v 2 (TEv2) is still under construction.",(0,o.kt)("br",null),"\nAs TEv2 is not (yet) available, the texts that specify the tool are still 'raw', i.e. not yet processed.",(0,o.kt)("br",null),(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/reader",title:"Reader: a person that reads a text that is authored by another person (its Author]), and that tries to understand the meaning of this text in the way its Author intended."},"readers")," will need to see through some (currently unprocessed) notational conventions.")),(0,o.kt)("p",null,"The ",(0,o.kt)("strong",{parentName:"p"},"Human Readable Glossary generation Tool (",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/hrgt",title:"Human Readable Glossary Tool (HRGT): a software tool designed to create, manage, and process Human Readable Glossaries (HRGs), as Specified By TEv2. HRGTs offer features for selecting Terms that are Curated within the Scope it is run in, or from other Scopes."},"HRGT"),")")," generates a Human Readable ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/glossary",title:"Glossary: an alphabetically sorted list of Terms with the (single) meaning it has in (at least) one context."},"Glossary")," (",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/hrg",title:"Human Readable Glossary (HRG): a Glossary that is designed to be easily understandable and accessible to humans. HRGs present terms and their meanings in a format that prioritizes human comprehension and may include additional contextual information to aid understanding."},"HRG"),") that consists of (a selection of) the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Terms: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"terms")," that are part of the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology")," of a specific ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),". "),(0,o.kt)("p",null,"The ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/hrgt",title:"Human Readable Glossary Tool (HRGT): a software tool designed to create, manage, and process Human Readable Glossaries (HRGs), as Specified By TEv2. HRGTs offer features for selecting Terms that are Curated within the Scope it is run in, or from other Scopes."},"HRGT")," takes one specific ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," as its input, and converts (a selection of) its ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entries: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entries")," into one of the supported output formats, e.g. HTML, or PDF. The file that contains the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," is named ",(0,o.kt)("inlineCode",{parentName:"p"},"mrg...yaml"),", where the combination of ",(0,o.kt)("inlineCode",{parentName:"p"},"")," and ",(0,o.kt)("inlineCode",{parentName:"p"},"")," identify a particular ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology"),". See the ",(0,o.kt)("a",{parentName:"p",href:"/docs/spec-files/mrg#mrg-file-naming"},"MRG file naming conventions")," for details."),(0,o.kt)("p",null,"The selection of the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entries: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entries")," that are to be included in the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/hrg",title:"Human Readable Glossary (HRG): a Glossary that is designed to be easily understandable and accessible to humans. HRGs present terms and their meanings in a format that prioritizes human comprehension and may include additional contextual information to aid understanding."},"HRG"),", as well as the specification of the output format, headers, footers, etc., can be configured as well as customized. Thus, the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/hrgt",title:"Human Readable Glossary Tool (HRGT): a software tool designed to create, manage, and process Human Readable Glossaries (HRGs), as Specified By TEv2. HRGTs offer features for selecting Terms that are Curated within the Scope it is run in, or from other Scopes."},"HRGT")," provides a flexible means for creating all sorts of outputs that are either already human readable or can be processed further by third-party rendering tools, such as ",(0,o.kt)("a",{parentName:"p",href:"https://pages.github.com/"},"github pages")," or ",(0,o.kt)("a",{parentName:"p",href:"https://docusaurus.io/docs/docs-introduction"},"Docusaurus"),", etc. (see also: ",(0,o.kt)("a",{parentName:"p",href:"/docs/tev2-toolbox"},"Using the Tools"),")."),(0,o.kt)("p",null,"There is currently one implementation of the tool underway:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"the repo in which the tool is being developed is ","[",(0,o.kt)("mark",null,"tbd"),"]","."),(0,o.kt)("li",{parentName:"ul"},"the documentation is ","[",(0,o.kt)("mark",null,"tbd"),"]",".")),(0,o.kt)("h2",{id:"calling-the-tool"},"Calling the Tool"),(0,o.kt)("p",null,"The behavior of the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/hrgt",title:"Human Readable Glossary Tool (HRGT): a software tool designed to create, manage, and process Human Readable Glossaries (HRGs), as Specified By TEv2. HRGTs offer features for selecting Terms that are Curated within the Scope it is run in, or from other Scopes."},"HRGT")," can be configured per call e.g. by a configuration file and/or command-line parameters. The command-line syntax is as follows:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre"},"hrgt [ ] [ ]\n")),(0,o.kt)("p",null,"where:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("inlineCode",{parentName:"li"},"")," (optional) is a list of key-value pairs"),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"https://en.wikipedia.org/wiki/Glob_(programming)#Syntax"},(0,o.kt)("inlineCode",{parentName:"a"},"globpattern"))," (optional) specifies a set of (input) files that are to be processed. If a configuration file is used, its contents may specify an additional set of input files to be processed.")),(0,o.kt)("details",null,(0,o.kt)("summary",null,"Legend"),(0,o.kt)("p",null,"The columns in the following table are defined as follows:"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("strong",{parentName:"li"},(0,o.kt)("inlineCode",{parentName:"strong"},"Key"))," is the text to be used as a key."),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("strong",{parentName:"li"},(0,o.kt)("inlineCode",{parentName:"strong"},"Value"))," represents the kind of value to be used."),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("strong",{parentName:"li"},(0,o.kt)("inlineCode",{parentName:"strong"},"Req'd"))," specifies whether (",(0,o.kt)("inlineCode",{parentName:"li"},"Y"),") or not (",(0,o.kt)("inlineCode",{parentName:"li"},"n"),") the field is required to be present when the tool is being called. If required, it MUST either be present in the configuration file, or as a command-line parameter."),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("strong",{parentName:"li"},(0,o.kt)("inlineCode",{parentName:"strong"},"Description"))," specifies the meaning of the ",(0,o.kt)("inlineCode",{parentName:"li"},"Value")," field, and other things you may need to know, e.g. why it is needed, a required syntax, etc."))),(0,o.kt)("table",null,(0,o.kt)("thead",{parentName:"table"},(0,o.kt)("tr",{parentName:"thead"},(0,o.kt)("th",{parentName:"tr",align:"left"},"Key"),(0,o.kt)("th",{parentName:"tr",align:"center"},"Req'd"),(0,o.kt)("th",{parentName:"tr",align:"left"},"Description"))),(0,o.kt)("tbody",{parentName:"table"},(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:"left"},(0,o.kt)("inlineCode",{parentName:"td"},"config")),(0,o.kt)("td",{parentName:"tr",align:"center"},"n"),(0,o.kt)("td",{parentName:"tr",align:"left"},"Path (including the filename) of the tool's (YAML) configuration file. This file contains the default key-value pairs to be used. Allowed keys (and the associated values) are documented in this table. Command-line arguments override key-value pairs specified in the configuration file. This parameter MUST NOT appear in the configuration file itself.")),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:"left"},(0,o.kt)("inlineCode",{parentName:"td"},"scopedir")),(0,o.kt)("td",{parentName:"tr",align:"center"},"n"),(0,o.kt)("td",{parentName:"tr",align:"left"},"Path of the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopedir",title:"Scope-directory: a directory in a computer file system that contains all files that are either being Curated within a particular Scope, or generated to serve some purpose within that Scope."},"scope directory")," from which the tool is called. It MUST contain the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF")," for that ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),", which we will refer to as the 'current scope' for the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/hrgt",title:"Human Readable Glossary Tool (HRGT): a software tool designed to create, manage, and process Human Readable Glossaries (HRGs), as Specified By TEv2. HRGTs offer features for selecting Terms that are Curated within the Scope it is run in, or from other Scopes."},"HRGT"),". If omitted, the current directory is assumed to tbe the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopedir",title:"Scope-directory: a directory in a computer file system that contains all files that are either being Curated within a particular Scope, or generated to serve some purpose within that Scope."},"scope directory"),".")),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:"left"},(0,o.kt)("inlineCode",{parentName:"td"},"input")),(0,o.kt)("td",{parentName:"tr",align:"center"},"n"),(0,o.kt)("td",{parentName:"tr",align:"left"},(0,o.kt)("a",{parentName:"td",href:"https://en.wikipedia.org/wiki/Glob_(programming)#Syntax"},"Globpattern")," that specifies the set of (input) files (",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRGs"),") that are to be processed. If omitted, the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/hrg",title:"Human Readable Glossary (HRG): a Glossary that is designed to be easily understandable and accessible to humans. HRGs present terms and their meanings in a format that prioritizes human comprehension and may include additional contextual information to aid understanding."},"HRG")," is generated for the default ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," of the current scope (as specified in the ",(0,o.kt)("inlineCode",{parentName:"td"},"mrgfile")," field of the ",(0,o.kt)("inlineCode",{parentName:"td"},"scope")," section in its ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"),".")),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:"left"},(0,o.kt)("inlineCode",{parentName:"td"},"output")),(0,o.kt)("td",{parentName:"tr",align:"center"},"n"),(0,o.kt)("td",{parentName:"tr",align:"left"},"text that is used as the last part of the name of the file(s) that contain(s) the generated ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/hrg",title:"Human Readable Glossary (HRG): a Glossary that is designed to be easily understandable and accessible to humans. HRGs present terms and their meanings in a format that prioritizes human comprehension and may include additional contextual information to aid understanding."},"HRG(s)"),". This text must specify an appropriate extension, such as HTML or PDF. The filename(s) will be of the form ",(0,o.kt)("inlineCode",{parentName:"td"},"hrg..."),", where ",(0,o.kt)("inlineCode",{parentName:"td"},"")," is the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopetag",title:"Scopetag: a Tag that is used to Identify Scopes from within a specific Scope"},"scopetag")," of the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," within which the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/hrg",title:"Human Readable Glossary (HRG): a Glossary that is designed to be easily understandable and accessible to humans. HRGs present terms and their meanings in a format that prioritizes human comprehension and may include additional contextual information to aid understanding."},"HRG")," is generated, and ",(0,o.kt)("inlineCode",{parentName:"td"},"")," ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identifies: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identifies")," the version of the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology")," in that ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),". From this, it follows that an ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG"),"-file exists named ",(0,o.kt)("inlineCode",{parentName:"td"},"mrg...yaml"),", which is used as the source for the entries in the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/hrg",title:"Human Readable Glossary (HRG): a Glossary that is designed to be easily understandable and accessible to humans. HRGs present terms and their meanings in a format that prioritizes human comprehension and may include additional contextual information to aid understanding."},"HRG"),".")),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:"left"},(0,o.kt)("inlineCode",{parentName:"td"},"termselcrit")),(0,o.kt)("td",{parentName:"tr",align:"center"},"n"),(0,o.kt)("td",{parentName:"tr",align:"left"},"List of ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-selection-criteria",title:"Term Selection Criteria: criteria that are used within a particular Scope for the selection of Terms that are part of a particular Terminology."},"term selection criteria")," that are used to generate (this version of) the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scopes: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope's")," ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology"),". If omitted, all ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entries: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entries")," from the source ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," will be selected. See ",(0,o.kt)("a",{parentName:"td",href:"/docs/spec-tools/terminology-construction"},"Terminology Construction")," for details.")),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:"left"},(0,o.kt)("inlineCode",{parentName:"td"},"method")),(0,o.kt)("td",{parentName:"tr",align:"center"},"n"),(0,o.kt)("td",{parentName:"tr",align:"left"},(0,o.kt)("mark",null,"Text, the syntax and semantics of which remain to be specified (see also the Editor's note below).")," When this parameter is omitted, the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/hrg",title:"Human Readable Glossary (HRG): a Glossary that is designed to be easily understandable and accessible to humans. HRGs present terms and their meanings in a format that prioritizes human comprehension and may include additional contextual information to aid understanding."},"HRG")," is generated as an HTML file.")),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:"left"},(0,o.kt)("inlineCode",{parentName:"td"},"license")),(0,o.kt)("td",{parentName:"tr",align:"center"},"n"),(0,o.kt)("td",{parentName:"tr",align:"left"},"File that contains the (default) licensing conditions. Full URL is ",(0,o.kt)("inlineCode",{parentName:"td"},"scopedir"),"/",(0,o.kt)("inlineCode",{parentName:"td"},"license"),". If not specified, its value defaults to the value of the ",(0,o.kt)("inlineCode",{parentName:"td"},"license")," field in the ",(0,o.kt)("inlineCode",{parentName:"td"},"scope")," section (of the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF")," of the current scope). The purpose of this field is to enable different ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/hrg",title:"Human Readable Glossary (HRG): a Glossary that is designed to be easily understandable and accessible to humans. HRGs present terms and their meanings in a format that prioritizes human comprehension and may include additional contextual information to aid understanding."},"HRGs")," to have different licenses.")))),(0,o.kt)("admonition",{title:"Editor's Note:",type:"info"},(0,o.kt)("p",{parentName:"admonition"},"We may want to consider:"),(0,o.kt)("ul",{parentName:"admonition"},(0,o.kt)("li",{parentName:"ul"},"changing the ",(0,o.kt)("inlineCode",{parentName:"li"},"input")," parameter from a globpattern to a list of versiontags for which the HRG is to be generated."),(0,o.kt)("li",{parentName:"ul"},"revising the spec of the ",(0,o.kt)("inlineCode",{parentName:"li"},"output")," parameter, depending on the kind of control that ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curator",title:"Curator: {(noRefs glossaryText)}"},"curators")," need."),(0,o.kt)("li",{parentName:"ul"},"add a ",(0,o.kt)("inlineCode",{parentName:"li"},"version")," parameter, the value of which is a ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/versiontag",title:"Versiontag: a Tag that is used to Identify a specific version of a Terminology from within a specific Scope."},"versiontag"),", and the meaning of which is that (a) the input file is the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," associated with that ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/versiontag",title:"Versiontag: a Tag that is used to Identify a specific version of a Terminology from within a specific Scope."},"versiontag"),", and (b) the output file will be registered in the ",(0,o.kt)("inlineCode",{parentName:"li"},"hrgfile")," entry of the appropriate element of the ",(0,o.kt)("inlineCode",{parentName:"li"},"versions")," section of the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"),", and also, if appropriate, in the ",(0,o.kt)("inlineCode",{parentName:"li"},"scope")," section of the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"),". Doing this requires additional texts in subsequent sections."))),(0,o.kt)("admonition",{title:"Editor's Note:",type:"info"},(0,o.kt)("p",{parentName:"admonition"},"Various ",(0,o.kt)("inlineCode",{parentName:"p"},"method"),"s are envisaged, yet remain to be properly specified. A method may specify:"),(0,o.kt)("ul",{parentName:"admonition"},(0,o.kt)("li",{parentName:"ul"},"what a single entry contains"),(0,o.kt)("li",{parentName:"ul"},"that the contents of particular files are to be used as header or footer;"),(0,o.kt)("li",{parentName:"ul"},"that a particular kind of navigation bar is to be inserted at specific places (e.g. between two subsequent entries that start with a different character);"),(0,o.kt)("li",{parentName:"ul"},"..."))),(0,o.kt)("h2",{id:"processing-errors-and-warnings"},"Processing, Errors and Warnings"),(0,o.kt)("p",null,"The ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/hrgt",title:"Human Readable Glossary Tool (HRGT): a software tool designed to create, manage, and process Human Readable Glossaries (HRGs), as Specified By TEv2. HRGTs offer features for selecting Terms that are Curated within the Scope it is run in, or from other Scopes."},"HRGT")," starts by reading its command-line and configuration file. If the command-line has a key that is also found in the configuration file, the command-line key-value pair takes precedence. The resulting set of key-value pairs is tested for proper syntax and validity. Every improper syntax and every invalidity found will be logged. Improper syntax may be e.g. an invalid ",(0,o.kt)("a",{parentName:"p",href:"https://en.wikipedia.org/wiki/Glob_(programming)#Syntax"},"globpattern"),". Invalidities include non-existing directories or files, lack of write-permissions where needed, etc."),(0,o.kt)("p",null,"Then, the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/hrgt",title:"Human Readable Glossary Tool (HRGT): a software tool designed to create, manage, and process Human Readable Glossaries (HRGs), as Specified By TEv2. HRGTs offer features for selecting Terms that are Curated within the Scope it is run in, or from other Scopes."},"HRGT")," reads the specified input files (in arbitrary order), and processes each of them, as follows:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"select the actual ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," that is to be used as an input;"),(0,o.kt)("li",{parentName:"ul"},"select the (subset of) ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entries: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entries")," from that ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," that must appear in the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/hrg",title:"Human Readable Glossary (HRG): a Glossary that is designed to be easily understandable and accessible to humans. HRGs present terms and their meanings in a format that prioritizes human comprehension and may include additional contextual information to aid understanding."},"HRG")," - see ",(0,o.kt)("a",{parentName:"li",href:"/docs/spec-syntax/hrg-termselcrit"},"HRG Term Selection")," for details. Conceptually, this will result in an ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," that only contains ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entries: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entries")," that need to appear in the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/hrg",title:"Human Readable Glossary (HRG): a Glossary that is designed to be easily understandable and accessible to humans. HRGs present terms and their meanings in a format that prioritizes human comprehension and may include additional contextual information to aid understanding."},"HRG")," as well;"),(0,o.kt)("li",{parentName:"ul"},"(alphabetically) sort these entries;"),(0,o.kt)("li",{parentName:"ul"},"convert each entry into a specific 'rendered' format (as specified by the user), thereby resolving any ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRefs")," (by appropriately calling the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/trrt",title:"TRRT (TermRef Rendering Tool): a TEv2 Tool that is designed to facilitate the visualization and rendering of TermRefs."},"TRRT"),")",(0,o.kt)("sup",{parentName:"li",id:"fnref-1"},(0,o.kt)("a",{parentName:"sup",href:"#fn-1",className:"footnote-ref"},"1")),", adding hyperlinks to the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text")," that the entry relates to, 'meta-data' (e.g. the associated ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/grouptag",title:"Grouptags: a Tag that is used to group Terms within a specific Scope."},"grouptags"),", contributors, etc.), and anything else, as required for the particular kind of ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/hrg",title:"Human Readable Glossary (HRG): a Glossary that is designed to be easily understandable and accessible to humans. HRGs present terms and their meanings in a format that prioritizes human comprehension and may include additional contextual information to aid understanding."},"HRG")," that is being generated;",(0,o.kt)("admonition",{parentName:"li",title:"Editor's note",type:"info"},(0,o.kt)("p",{parentName:"admonition"},"The ",(0,o.kt)("a",{parentName:"p",href:"https://github.com/tno-terminology-design/trrt"},"TRRT")," has a nice setup for implementing ",(0,o.kt)("a",{parentName:"p",href:"/docs/overview/tev2-design-principles#text-conversion-steps"},"text conversion steps"),". We should check that out and adapt the specifications text in this section so that this stuff can be reused as much as possible."))),(0,o.kt)("li",{parentName:"ul"},"construct the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/hrg",title:"Human Readable Glossary (HRG): a Glossary that is designed to be easily understandable and accessible to humans. HRGs present terms and their meanings in a format that prioritizes human comprehension and may include additional contextual information to aid understanding."},"HRG")," by adding (rendered) header- and footer-material and (optionally) licensing information;"),(0,o.kt)("li",{parentName:"ul"},"write the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/hrg",title:"Human Readable Glossary (HRG): a Glossary that is designed to be easily understandable and accessible to humans. HRGs present terms and their meanings in a format that prioritizes human comprehension and may include additional contextual information to aid understanding."},"HRG")," to the designated output file.")),(0,o.kt)("admonition",{title:"Editor's Note:",type:"info"},(0,o.kt)("p",{parentName:"admonition"},"A special case of ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/hrg",title:"Human Readable Glossary (HRG): a Glossary that is designed to be easily understandable and accessible to humans. HRGs present terms and their meanings in a format that prioritizes human comprehension and may include additional contextual information to aid understanding."},"HRG")," generation is when the default ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/hrg",title:"Human Readable Glossary (HRG): a Glossary that is designed to be easily understandable and accessible to humans. HRGs present terms and their meanings in a format that prioritizes human comprehension and may include additional contextual information to aid understanding."},"HRG")," is created for a particular ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG"),", which typically consists of all ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entries: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entries")," of that ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG"),". In that case, the contents of the ",(0,o.kt)("inlineCode",{parentName:"p"},"hrgfile")," field in ",(0,o.kt)("inlineCode",{parentName:"p"},"versions")," section of the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF")," whose ",(0,o.kt)("inlineCode",{parentName:"p"},"mrgfile")," field ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identifies: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identifies")," the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," should become the name of the file that contains the generated ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/hrg",title:"Human Readable Glossary (HRG): a Glossary that is designed to be easily understandable and accessible to humans. HRGs present terms and their meanings in a format that prioritizes human comprehension and may include additional contextual information to aid understanding."},"HRG"),". Additionally, if the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," happens to be the default one for the scope (as can be seen by comparing its filename with the contents of the ",(0,o.kt)("inlineCode",{parentName:"p"},"mrgfile")," field in the ",(0,o.kt)("inlineCode",{parentName:"p"},"scope")," section of the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"),"), then the contents of the ",(0,o.kt)("inlineCode",{parentName:"p"},"hrgfile")," field in ",(0,o.kt)("inlineCode",{parentName:"p"},"scope")," section of the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF")," must also become the name of the file that contains the generated ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/hrg",title:"Human Readable Glossary (HRG): a Glossary that is designed to be easily understandable and accessible to humans. HRGs present terms and their meanings in a format that prioritizes human comprehension and may include additional contextual information to aid understanding."},"HRG"),". Whether or not the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/hrgt",title:"Human Readable Glossary Tool (HRGT): a software tool designed to create, manage, and process Human Readable Glossaries (HRGs), as Specified By TEv2. HRGTs offer features for selecting Terms that are Curated within the Scope it is run in, or from other Scopes."},"HRGT")," is expected to operate in this mode is an option that can be provided at the commandline or in the configuration file.")),(0,o.kt)("p",null,"The ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/hrgt",title:"Human Readable Glossary Tool (HRGT): a software tool designed to create, manage, and process Human Readable Glossaries (HRGs), as Specified By TEv2. HRGTs offer features for selecting Terms that are Curated within the Scope it is run in, or from other Scopes."},"HRGT")," logs every error- and/or warning condition that it comes across while processing its configuration file, commandline parameters, and input files, in a way that helps tool-operators and document ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/author",title:"Author: a person that creates a text that is meant to be read and understood by others - usually, a particular audience."},"authors")," to identify and fix such conditions."),(0,o.kt)("h2",{id:"deploying-the-tool"},"Deploying the Tool"),(0,o.kt)("p",null,"The ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/hrgt",title:"Human Readable Glossary Tool (HRGT): a software tool designed to create, manage, and process Human Readable Glossaries (HRGs), as Specified By TEv2. HRGTs offer features for selecting Terms that are Curated within the Scope it is run in, or from other Scopes."},"HRGT")," comes with documentation that enables developers to ascertain its correct functioning (e.g. by using a test set of files, test scripts that exercise its parameters, etc.), and also enables them to deploy the tool in a git repo and author/modify CI-pipes to use that deployment."),(0,o.kt)("h2",{id:"discussion-notes"},"Discussion Notes"),(0,o.kt)("p",null,"This section contains some notes of a discussion between Daniel and Rieks on these matters of some time ago, which pertains to glossaries in the context of ToIP."),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"A ToIP ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/glossary",title:"Glossary: an alphabetically sorted list of Terms with the (single) meaning it has in (at least) one context."},"glossary")," will be put by default at ",(0,o.kt)("inlineCode",{parentName:"li"},"http://trustoverip.github.io//glossary"),", where ",(0,o.kt)("inlineCode",{parentName:"li"},"")," is the name of the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terms-community",title:"Terms-community: a Community that maintains a Terminology for the purpose of avoiding misunderstandings between its members as they collaborate."},"terms-community"),". This allows every ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terms-community",title:"Terms-community: a Community that maintains a Terminology for the purpose of avoiding misunderstandings between its members as they collaborate."},"terms-community")," to have its own ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/glossary",title:"Glossary: an alphabetically sorted list of Terms with the (single) meaning it has in (at least) one context."},"glossary"),". However, the above specifications allow ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terms-community",title:"Terms-community: a Community that maintains a Terminology for the purpose of avoiding misunderstandings between its members as they collaborate."},"terms-communities")," to ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curate",title:"Curate: to select, organize, and present Terms, Definitions, and other, related content in a thoughtful and purposeful manner to establish shared understanding among a Community working together on a particular set of objectives."},"curate")," multiple ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scopes"),"."),(0,o.kt)("li",{parentName:"ul"},"Storing ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/glossary",title:"Glossary: an alphabetically sorted list of Terms with the (single) meaning it has in (at least) one context."},"glossaries")," elsewhere was seen to break the (basic workings of the postprocessing tool, but the above specifications would fix that."),(0,o.kt)("li",{parentName:"ul"},"Entries, e.g. 'foo' can be referenced as ",(0,o.kt)("inlineCode",{parentName:"li"},'http://trustoverip.github.io//glossary#foo')," (in case of a standalone glossary), and ",(0,o.kt)("inlineCode",{parentName:"li"},"http://trustoverip.github.io//document-that-includes-glossary-fragment#foo")," (in case of a fragmented glossary)."),(0,o.kt)("li",{parentName:"ul"},"We could also see GGT and TRRT to be extended, e.g. to work in conjunction with LaTeX or word-processor documents. This needs some looking into, but ",(0,o.kt)("a",{parentName:"li",href:"https://pandoc.org/"},"pandoc")," may be useful here.")),(0,o.kt)("div",{className:"footnotes"},(0,o.kt)("hr",{parentName:"div"}),(0,o.kt)("ol",{parentName:"div"},(0,o.kt)("li",{parentName:"ol",id:"fn-1"},"if the rendered output is such that ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRefs")," can still be recognized by the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/trrt",title:"TRRT (TermRef Rendering Tool): a TEv2 Tool that is designed to facilitate the visualization and rendering of TermRefs."},"TRRT"),", it may be more efficient to defer the resolution of ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRefs")," until after the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/hrg",title:"Human Readable Glossary (HRG): a Glossary that is designed to be easily understandable and accessible to humans. HRGs present terms and their meanings in a format that prioritizes human comprehension and may include additional contextual information to aid understanding."},"HRG")," is completely generated.",(0,o.kt)("a",{parentName:"li",href:"#fnref-1",className:"footnote-backref"},"\u21a9")))))}f.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/5ea46faf.7fd7b6f1.js b/assets/js/5ea46faf.8311201a.js similarity index 98% rename from assets/js/5ea46faf.7fd7b6f1.js rename to assets/js/5ea46faf.8311201a.js index cdc03fa0b8..8b923dc91a 100644 --- a/assets/js/5ea46faf.7fd7b6f1.js +++ b/assets/js/5ea46faf.8311201a.js @@ -1 +1 @@ -"use strict";(self.webpackChunktev2_specifications=self.webpackChunktev2_specifications||[]).push([[3504],{3905:function(t,e,r){r.d(e,{Zo:function(){return d},kt:function(){return h}});var i=r(7294);function o(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function n(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,i)}return r}function a(t){for(var e=1;e=0||(o[r]=t[r]);return o}(t,e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}var c=i.createContext({}),u=function(t){var e=i.useContext(c),r=e;return t&&(r="function"==typeof t?t(e):a(a({},e),t)),r},d=function(t){var e=u(t.components);return i.createElement(c.Provider,{value:e},t.children)},p={inlineCode:"code",wrapper:function(t){var e=t.children;return i.createElement(i.Fragment,{},e)}},l=i.forwardRef((function(t,e){var r=t.components,o=t.mdxType,n=t.originalType,c=t.parentName,d=s(t,["components","mdxType","originalType","parentName"]),l=u(r),h=o,f=l["".concat(c,".").concat(h)]||l[h]||p[h]||n;return r?i.createElement(f,a(a({ref:e},d),{},{components:r})):i.createElement(f,a({ref:e},d))}));function h(t,e){var r=arguments,o=e&&e.mdxType;if("string"==typeof t||o){var n=r.length,a=new Array(n);a[0]=l;var s={};for(var c in e)hasOwnProperty.call(e,c)&&(s[c]=e[c]);s.originalType=t,s.mdxType="string"==typeof t?t:o,a[1]=s;for(var u=2;u=0||(o[r]=t[r]);return o}(t,e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}var c=i.createContext({}),u=function(t){var e=i.useContext(c),r=e;return t&&(r="function"==typeof t?t(e):a(a({},e),t)),r},d=function(t){var e=u(t.components);return i.createElement(c.Provider,{value:e},t.children)},p={inlineCode:"code",wrapper:function(t){var e=t.children;return i.createElement(i.Fragment,{},e)}},l=i.forwardRef((function(t,e){var r=t.components,o=t.mdxType,n=t.originalType,c=t.parentName,d=s(t,["components","mdxType","originalType","parentName"]),l=u(r),h=o,f=l["".concat(c,".").concat(h)]||l[h]||p[h]||n;return r?i.createElement(f,a(a({ref:e},d),{},{components:r})):i.createElement(f,a({ref:e},d))}));function h(t,e){var r=arguments,o=e&&e.mdxType;if("string"==typeof t||o){var n=r.length,a=new Array(n);a[0]=l;var s={};for(var c in e)hasOwnProperty.call(e,c)&&(s[c]=e[c]);s.originalType=t,s.mdxType="string"==typeof t?t:o,a[1]=s;for(var u=2;u=0||(n[i]=e[i]);return n}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(n[i]=e[i])}return n}var h=o.createContext({}),c=function(e){var t=o.useContext(h),i=t;return e&&(i="function"==typeof e?e(t):s(s({},t),e)),i},l=function(e){var t=c(e.components);return o.createElement(h.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},f=o.forwardRef((function(e,t){var i=e.components,n=e.mdxType,a=e.originalType,h=e.parentName,l=r(e,["components","mdxType","originalType","parentName"]),f=c(i),p=n,m=f["".concat(h,".").concat(p)]||f[p]||d[p]||a;return i?o.createElement(m,s(s({ref:t},l),{},{components:i})):o.createElement(m,s({ref:t},l))}));function p(e,t){var i=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var a=i.length,s=new Array(a);s[0]=f;var r={};for(var h in t)hasOwnProperty.call(t,h)&&(r[h]=t[h]);r.originalType=e,r.mdxType="string"==typeof e?e:n,s[1]=r;for(var c=2;c=0||(n[i]=e[i]);return n}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(n[i]=e[i])}return n}var h=o.createContext({}),c=function(e){var t=o.useContext(h),i=t;return e&&(i="function"==typeof e?e(t):s(s({},t),e)),i},l=function(e){var t=c(e.components);return o.createElement(h.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},f=o.forwardRef((function(e,t){var i=e.components,n=e.mdxType,a=e.originalType,h=e.parentName,l=r(e,["components","mdxType","originalType","parentName"]),f=c(i),p=n,m=f["".concat(h,".").concat(p)]||f[p]||d[p]||a;return i?o.createElement(m,s(s({ref:t},l),{},{components:i})):o.createElement(m,s({ref:t},l))}));function p(e,t){var i=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var a=i.length,s=new Array(a);s[0]=f;var r={};for(var h in t)hasOwnProperty.call(t,h)&&(r[h]=t[h]);r.originalType=e,r.mdxType="string"==typeof e?e:n,s[1]=r;for(var c=2;c=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var l=a.createContext({}),c=function(e){var t=a.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},u=function(e){var t=c(e.components);return a.createElement(l.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},h=a.forwardRef((function(e,t){var n=e.components,i=e.mdxType,r=e.originalType,l=e.parentName,u=s(e,["components","mdxType","originalType","parentName"]),h=c(n),m=i,p=h["".concat(l,".").concat(m)]||h[m]||d[m]||r;return n?a.createElement(p,o(o({ref:t},u),{},{components:n})):a.createElement(p,o({ref:t},u))}));function m(e,t){var n=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var r=n.length,o=new Array(r);o[0]=h;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s.mdxType="string"==typeof e?e:i,o[1]=s;for(var c=2;c child <"+("string"==typeof e.type?e.type:e.type.name)+'>: all children of the component should be , and every should have a unique "value" prop.')})))?void 0:n.filter(Boolean))?t:[]}(e).map((function(e){var t=e.props;return{value:t.value,label:t.label,attributes:t.attributes,default:t.default}}))}function h(e){var t=e.values,n=e.children;return(0,i.useMemo)((function(){var e=null!=t?t:d(n);return function(e){var t=(0,c.l)(e,(function(e,t){return e.value===t.value}));if(t.length>0)throw new Error('Docusaurus error: Duplicate values "'+t.map((function(e){return e.value})).join(", ")+'" found in . Every value needs to be unique.')}(e),e}),[t,n])}function m(e){var t=e.value;return e.tabValues.some((function(e){return e.value===t}))}function p(e){var t=e.queryString,n=void 0!==t&&t,a=e.groupId,r=(0,s.k6)(),o=function(e){var t=e.queryString,n=void 0!==t&&t,a=e.groupId;if("string"==typeof n)return n;if(!1===n)return null;if(!0===n&&!a)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return null!=a?a:null}({queryString:n,groupId:a});return[(0,l._X)(o),(0,i.useCallback)((function(e){if(o){var t=new URLSearchParams(r.location.search);t.set(o,e),r.replace(Object.assign({},r.location,{search:t.toString()}))}}),[o,r])]}function f(e){var t,n,a,r,o=e.defaultValue,s=e.queryString,l=void 0!==s&&s,c=e.groupId,d=h(e),f=(0,i.useState)((function(){return function(e){var t,n=e.defaultValue,a=e.tabValues;if(0===a.length)throw new Error("Docusaurus error: the component requires at least one children component");if(n){if(!m({value:n,tabValues:a}))throw new Error('Docusaurus error: The has a defaultValue "'+n+'" but none of its children has the corresponding value. Available values are: '+a.map((function(e){return e.value})).join(", ")+". If you intend to show no default tab, use defaultValue={null} instead.");return n}var i=null!=(t=a.find((function(e){return e.default})))?t:a[0];if(!i)throw new Error("Unexpected error: 0 tabValues");return i.value}({defaultValue:o,tabValues:d})})),g=f[0],b=f[1],y=p({queryString:l,groupId:c}),v=y[0],G=y[1],w=(t=function(e){return e?"docusaurus.tab."+e:null}({groupId:c}.groupId),n=(0,u.Nk)(t),a=n[0],r=n[1],[a,(0,i.useCallback)((function(e){t&&r.set(e)}),[t,r])]),R=w[0],k=w[1],H=function(){var e=null!=v?v:R;return m({value:e,tabValues:d})?e:null}();return(0,i.useLayoutEffect)((function(){H&&b(H)}),[H]),{selectedValue:g,selectValue:(0,i.useCallback)((function(e){if(!m({value:e,tabValues:d}))throw new Error("Can't select invalid tab value="+e);b(e),G(e),k(e)}),[G,k,d]),tabValues:d}}var g=n(2389),b="tabList__CuJ",y="tabItem_LNqP";function v(e){var t=e.className,n=e.block,s=e.selectedValue,l=e.selectValue,c=e.tabValues,u=[],d=(0,o.o5)().blockElementScrollPositionUntilNextRender,h=function(e){var t=e.currentTarget,n=u.indexOf(t),a=c[n].value;a!==s&&(d(t),l(a))},m=function(e){var t,n=null;switch(e.key){case"Enter":h(e);break;case"ArrowRight":var a,i=u.indexOf(e.currentTarget)+1;n=null!=(a=u[i])?a:u[0];break;case"ArrowLeft":var r,o=u.indexOf(e.currentTarget)-1;n=null!=(r=u[o])?r:u[u.length-1]}null==(t=n)||t.focus()};return i.createElement("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,r.Z)("tabs",{"tabs--block":n},t)},c.map((function(e){var t=e.value,n=e.label,o=e.attributes;return i.createElement("li",(0,a.Z)({role:"tab",tabIndex:s===t?0:-1,"aria-selected":s===t,key:t,ref:function(e){return u.push(e)},onKeyDown:m,onClick:h},o,{className:(0,r.Z)("tabs__item",y,null==o?void 0:o.className,{"tabs__item--active":s===t})}),null!=n?n:t)})))}function G(e){var t=e.lazy,n=e.children,a=e.selectedValue,r=(Array.isArray(n)?n:[n]).filter(Boolean);if(t){var o=r.find((function(e){return e.props.value===a}));return o?(0,i.cloneElement)(o,{className:"margin-top--md"}):null}return i.createElement("div",{className:"margin-top--md"},r.map((function(e,t){return(0,i.cloneElement)(e,{key:t,hidden:e.props.value!==a})})))}function w(e){var t=f(e);return i.createElement("div",{className:(0,r.Z)("tabs-container",b)},i.createElement(v,(0,a.Z)({},e,t)),i.createElement(G,(0,a.Z)({},e,t)))}function R(e){var t=(0,g.Z)();return i.createElement(w,(0,a.Z)({key:String(t)},e))}},6286:function(e,t,n){n.r(t),n.d(t,{assets:function(){return d},contentTitle:function(){return c},default:function(){return p},frontMatter:function(){return l},metadata:function(){return u},toc:function(){return h}});var a=n(7462),i=n(3366),r=(n(7294),n(3905)),o=n(4996),s=(n(4866),n(5162),["components"]),l={id:"hrg",sidebar_label:"HRG (Human Readable Glossary)",date:20220503},c="Human Readable Glossary (HRG)",u={unversionedId:"spec-files/hrg",id:"spec-files/hrg",title:"Human Readable Glossary (HRG)",description:".."))," is the name of a file that contains an actual ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/hrg",title:"Human Readable Glossary (HRG): a Glossary that is designed to be easily understandable and accessible to humans. HRGs present terms and their meanings in a format that prioritizes human comprehension and may include additional contextual information to aid understanding."},"HRG"),", or it is a file that links (references) such a file, where:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},(0,r.kt)("inlineCode",{parentName:"strong"},"."))," is taken from the ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG"),"-file from which the ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/hrg",title:"Human Readable Glossary (HRG): a Glossary that is designed to be easily understandable and accessible to humans. HRGs present terms and their meanings in a format that prioritizes human comprehension and may include additional contextual information to aid understanding."},"HRG")," is generated. See ",(0,r.kt)("a",{parentName:"li",href:"/docs/spec-files/mrg#mrg-file-naming"},"MRG file naming")," for details."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},(0,r.kt)("inlineCode",{parentName:"strong"},""))," is a text that has been provided by the user that generated the ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/hrg",title:"Human Readable Glossary (HRG): a Glossary that is designed to be easily understandable and accessible to humans. HRGs present terms and their meanings in a format that prioritizes human comprehension and may include additional contextual information to aid understanding."},"HRG"),". It includes the file extension (e.g., PDF, HTML, etc.) that is appropriate for its contents. See ",(0,r.kt)("a",{parentName:"li",href:"/docs/spec-tools/hrgt#calling-the-tool"},"HRG generation")," for details.")),(0,r.kt)("p",null,"This naming convention enables tools (as well as ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curator",title:"Curator: {(noRefs glossaryText)}"},"curators")," and others) that operate within a particular ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),", to quickly find a particular ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/hrg",title:"Human Readable Glossary (HRG): a Glossary that is designed to be easily understandable and accessible to humans. HRGs present terms and their meanings in a format that prioritizes human comprehension and may include additional contextual information to aid understanding."},"HRG")," that is relevant for that ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),"."),(0,r.kt)("admonition",{title:"Editor's note",type:"info"},(0,r.kt)("p",{parentName:"admonition"},"We need to decide whether this document actually describes "),(0,r.kt)("ul",{parentName:"admonition"},(0,r.kt)("li",{parentName:"ul"},"(the possible structures of) HRGs, or"),(0,r.kt)("li",{parentName:"ul"},"the ways in hwich the generation of an HRG can be specified"))))}p.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunktev2_specifications=self.webpackChunktev2_specifications||[]).push([[6214],{3905:function(e,t,n){n.d(t,{Zo:function(){return u},kt:function(){return m}});var a=n(7294);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function o(e){for(var t=1;t=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var l=a.createContext({}),c=function(e){var t=a.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},u=function(e){var t=c(e.components);return a.createElement(l.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},h=a.forwardRef((function(e,t){var n=e.components,i=e.mdxType,r=e.originalType,l=e.parentName,u=s(e,["components","mdxType","originalType","parentName"]),h=c(n),m=i,p=h["".concat(l,".").concat(m)]||h[m]||d[m]||r;return n?a.createElement(p,o(o({ref:t},u),{},{components:n})):a.createElement(p,o({ref:t},u))}));function m(e,t){var n=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var r=n.length,o=new Array(r);o[0]=h;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s.mdxType="string"==typeof e?e:i,o[1]=s;for(var c=2;c child <"+("string"==typeof e.type?e.type:e.type.name)+'>: all children of the component should be , and every should have a unique "value" prop.')})))?void 0:n.filter(Boolean))?t:[]}(e).map((function(e){var t=e.props;return{value:t.value,label:t.label,attributes:t.attributes,default:t.default}}))}function h(e){var t=e.values,n=e.children;return(0,i.useMemo)((function(){var e=null!=t?t:d(n);return function(e){var t=(0,c.l)(e,(function(e,t){return e.value===t.value}));if(t.length>0)throw new Error('Docusaurus error: Duplicate values "'+t.map((function(e){return e.value})).join(", ")+'" found in . Every value needs to be unique.')}(e),e}),[t,n])}function m(e){var t=e.value;return e.tabValues.some((function(e){return e.value===t}))}function p(e){var t=e.queryString,n=void 0!==t&&t,a=e.groupId,r=(0,s.k6)(),o=function(e){var t=e.queryString,n=void 0!==t&&t,a=e.groupId;if("string"==typeof n)return n;if(!1===n)return null;if(!0===n&&!a)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return null!=a?a:null}({queryString:n,groupId:a});return[(0,l._X)(o),(0,i.useCallback)((function(e){if(o){var t=new URLSearchParams(r.location.search);t.set(o,e),r.replace(Object.assign({},r.location,{search:t.toString()}))}}),[o,r])]}function f(e){var t,n,a,r,o=e.defaultValue,s=e.queryString,l=void 0!==s&&s,c=e.groupId,d=h(e),f=(0,i.useState)((function(){return function(e){var t,n=e.defaultValue,a=e.tabValues;if(0===a.length)throw new Error("Docusaurus error: the component requires at least one children component");if(n){if(!m({value:n,tabValues:a}))throw new Error('Docusaurus error: The has a defaultValue "'+n+'" but none of its children has the corresponding value. Available values are: '+a.map((function(e){return e.value})).join(", ")+". If you intend to show no default tab, use defaultValue={null} instead.");return n}var i=null!=(t=a.find((function(e){return e.default})))?t:a[0];if(!i)throw new Error("Unexpected error: 0 tabValues");return i.value}({defaultValue:o,tabValues:d})})),g=f[0],b=f[1],y=p({queryString:l,groupId:c}),v=y[0],G=y[1],w=(t=function(e){return e?"docusaurus.tab."+e:null}({groupId:c}.groupId),n=(0,u.Nk)(t),a=n[0],r=n[1],[a,(0,i.useCallback)((function(e){t&&r.set(e)}),[t,r])]),R=w[0],k=w[1],H=function(){var e=null!=v?v:R;return m({value:e,tabValues:d})?e:null}();return(0,i.useLayoutEffect)((function(){H&&b(H)}),[H]),{selectedValue:g,selectValue:(0,i.useCallback)((function(e){if(!m({value:e,tabValues:d}))throw new Error("Can't select invalid tab value="+e);b(e),G(e),k(e)}),[G,k,d]),tabValues:d}}var g=n(2389),b="tabList__CuJ",y="tabItem_LNqP";function v(e){var t=e.className,n=e.block,s=e.selectedValue,l=e.selectValue,c=e.tabValues,u=[],d=(0,o.o5)().blockElementScrollPositionUntilNextRender,h=function(e){var t=e.currentTarget,n=u.indexOf(t),a=c[n].value;a!==s&&(d(t),l(a))},m=function(e){var t,n=null;switch(e.key){case"Enter":h(e);break;case"ArrowRight":var a,i=u.indexOf(e.currentTarget)+1;n=null!=(a=u[i])?a:u[0];break;case"ArrowLeft":var r,o=u.indexOf(e.currentTarget)-1;n=null!=(r=u[o])?r:u[u.length-1]}null==(t=n)||t.focus()};return i.createElement("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,r.Z)("tabs",{"tabs--block":n},t)},c.map((function(e){var t=e.value,n=e.label,o=e.attributes;return i.createElement("li",(0,a.Z)({role:"tab",tabIndex:s===t?0:-1,"aria-selected":s===t,key:t,ref:function(e){return u.push(e)},onKeyDown:m,onClick:h},o,{className:(0,r.Z)("tabs__item",y,null==o?void 0:o.className,{"tabs__item--active":s===t})}),null!=n?n:t)})))}function G(e){var t=e.lazy,n=e.children,a=e.selectedValue,r=(Array.isArray(n)?n:[n]).filter(Boolean);if(t){var o=r.find((function(e){return e.props.value===a}));return o?(0,i.cloneElement)(o,{className:"margin-top--md"}):null}return i.createElement("div",{className:"margin-top--md"},r.map((function(e,t){return(0,i.cloneElement)(e,{key:t,hidden:e.props.value!==a})})))}function w(e){var t=f(e);return i.createElement("div",{className:(0,r.Z)("tabs-container",b)},i.createElement(v,(0,a.Z)({},e,t)),i.createElement(G,(0,a.Z)({},e,t)))}function R(e){var t=(0,g.Z)();return i.createElement(w,(0,a.Z)({key:String(t)},e))}},6286:function(e,t,n){n.r(t),n.d(t,{assets:function(){return d},contentTitle:function(){return c},default:function(){return p},frontMatter:function(){return l},metadata:function(){return u},toc:function(){return h}});var a=n(7462),i=n(3366),r=(n(7294),n(3905)),o=n(4996),s=(n(4866),n(5162),["components"]),l={id:"hrg",sidebar_label:"HRG (Human Readable Glossary)",date:20220503},c="Human Readable Glossary (HRG)",u={unversionedId:"spec-files/hrg",id:"spec-files/hrg",title:"Human Readable Glossary (HRG)",description:".."))," is the name of a file that contains an actual ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/hrg",title:"Human Readable Glossary (HRG): a Glossary that is designed to be easily understandable and accessible to humans. HRGs present terms and their meanings in a format that prioritizes human comprehension and may include additional contextual information to aid understanding."},"HRG"),", or it is a file that links (references) such a file, where:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},(0,r.kt)("inlineCode",{parentName:"strong"},"."))," is taken from the ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG"),"-file from which the ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/hrg",title:"Human Readable Glossary (HRG): a Glossary that is designed to be easily understandable and accessible to humans. HRGs present terms and their meanings in a format that prioritizes human comprehension and may include additional contextual information to aid understanding."},"HRG")," is generated. See ",(0,r.kt)("a",{parentName:"li",href:"/docs/spec-files/mrg#mrg-file-naming"},"MRG file naming")," for details."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},(0,r.kt)("inlineCode",{parentName:"strong"},""))," is a text that has been provided by the user that generated the ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/hrg",title:"Human Readable Glossary (HRG): a Glossary that is designed to be easily understandable and accessible to humans. HRGs present terms and their meanings in a format that prioritizes human comprehension and may include additional contextual information to aid understanding."},"HRG"),". It includes the file extension (e.g., PDF, HTML, etc.) that is appropriate for its contents. See ",(0,r.kt)("a",{parentName:"li",href:"/docs/spec-tools/hrgt#calling-the-tool"},"HRG generation")," for details.")),(0,r.kt)("p",null,"This naming convention enables tools (as well as ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curator",title:"Curator: {(noRefs glossaryText)}"},"curators")," and others) that operate within a particular ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),", to quickly find a particular ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/hrg",title:"Human Readable Glossary (HRG): a Glossary that is designed to be easily understandable and accessible to humans. HRGs present terms and their meanings in a format that prioritizes human comprehension and may include additional contextual information to aid understanding."},"HRG")," that is relevant for that ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),"."),(0,r.kt)("admonition",{title:"Editor's note",type:"info"},(0,r.kt)("p",{parentName:"admonition"},"We need to decide whether this document actually describes "),(0,r.kt)("ul",{parentName:"admonition"},(0,r.kt)("li",{parentName:"ul"},"(the possible structures of) HRGs, or"),(0,r.kt)("li",{parentName:"ul"},"the ways in hwich the generation of an HRG can be specified"))))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/65f59a55.cbcff516.js b/assets/js/65f59a55.0b85edc5.js similarity index 71% rename from assets/js/65f59a55.cbcff516.js rename to assets/js/65f59a55.0b85edc5.js index b19eeb3922..23fc55040e 100644 --- a/assets/js/65f59a55.cbcff516.js +++ b/assets/js/65f59a55.0b85edc5.js @@ -1 +1 @@ -"use strict";(self.webpackChunktev2_specifications=self.webpackChunktev2_specifications||[]).push([[328],{3905:function(e,t,n){n.d(t,{Zo:function(){return d},kt:function(){return p}});var r=n(7294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function i(e){for(var t=1;t=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var c=r.createContext({}),l=function(e){var t=r.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},d=function(e){var t=l(e.components);return r.createElement(c.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},u=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,s=e.originalType,c=e.parentName,d=o(e,["components","mdxType","originalType","parentName"]),u=l(n),p=a,g=u["".concat(c,".").concat(p)]||u[p]||m[p]||s;return n?r.createElement(g,i(i({ref:t},d),{},{components:n})):r.createElement(g,i({ref:t},d))}));function p(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var s=n.length,i=new Array(s);i[0]=u;var o={};for(var c in t)hasOwnProperty.call(t,c)&&(o[c]=t[c]);o.originalType=e,o.mdxType="string"==typeof e?e:a,i[1]=o;for(var l=2;l=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var c=r.createContext({}),l=function(e){var t=r.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):s(s({},t),e)),n},d=function(e){var t=l(e.components);return r.createElement(c.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},u=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,i=e.originalType,c=e.parentName,d=o(e,["components","mdxType","originalType","parentName"]),u=l(n),p=a,g=u["".concat(c,".").concat(p)]||u[p]||m[p]||i;return n?r.createElement(g,s(s({ref:t},d),{},{components:n})):r.createElement(g,s({ref:t},d))}));function p(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=n.length,s=new Array(i);s[0]=u;var o={};for(var c in t)hasOwnProperty.call(t,c)&&(o[c]=t[c]);o.originalType=e,o.mdxType="string"==typeof e?e:a,s[1]=o;for(var l=2;l=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var c=n.createContext({}),l=function(e){var t=n.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):o(o({},t),e)),r},d=function(e){var t=l(e.components);return n.createElement(c.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,i=e.originalType,c=e.parentName,d=s(e,["components","mdxType","originalType","parentName"]),m=l(r),u=a,f=m["".concat(c,".").concat(u)]||m[u]||p[u]||i;return r?n.createElement(f,o(o({ref:t},d),{},{components:r})):n.createElement(f,o({ref:t},d))}));function u(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=r.length,o=new Array(i);o[0]=m;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s.mdxType="string"==typeof e?e:a,o[1]=s;for(var l=2;l=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var c=n.createContext({}),l=function(e){var t=n.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):o(o({},t),e)),r},d=function(e){var t=l(e.components);return n.createElement(c.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,i=e.originalType,c=e.parentName,d=s(e,["components","mdxType","originalType","parentName"]),m=l(r),u=a,f=m["".concat(c,".").concat(u)]||m[u]||p[u]||i;return r?n.createElement(f,o(o({ref:t},d),{},{components:r})):n.createElement(f,o({ref:t},d))}));function u(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=r.length,o=new Array(i);o[0]=m;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s.mdxType="string"==typeof e?e:a,o[1]=s;for(var l=2;l=0||(a[i]=t[i]);return a}(t,e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(t,i)&&(a[i]=t[i])}return a}var c=o.createContext({}),l=function(t){var e=o.useContext(c),i=e;return t&&(i="function"==typeof t?t(e):r(r({},e),t)),i},d=function(t){var e=l(t.components);return o.createElement(c.Provider,{value:e},t.children)},m={inlineCode:"code",wrapper:function(t){var e=t.children;return o.createElement(o.Fragment,{},e)}},h=o.forwardRef((function(t,e){var i=t.components,a=t.mdxType,n=t.originalType,c=t.parentName,d=s(t,["components","mdxType","originalType","parentName"]),h=l(i),p=a,g=h["".concat(c,".").concat(p)]||h[p]||m[p]||n;return i?o.createElement(g,r(r({ref:e},d),{},{components:i})):o.createElement(g,r({ref:e},d))}));function p(t,e){var i=arguments,a=e&&e.mdxType;if("string"==typeof t||a){var n=i.length,r=new Array(n);r[0]=h;var s={};for(var c in e)hasOwnProperty.call(e,c)&&(s[c]=e[c]);s.originalType=t,s.mdxType="string"==typeof t?t:a,r[1]=s;for(var l=2;lterminology under construction',id:"syntax-add",level:2},{value:'Removing MRG Entries from a terminology under construction',id:"syntax-remove",level:2},{value:"Rename/rewrite specific parts of an MRG entry",id:"syntax-rename",level:2}],p={toc:h};function g(t){var e=t.components,i=(0,a.Z)(t,s);return(0,n.kt)("wrapper",(0,o.Z)({},p,i,{components:e,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"terminology-construction"},"Terminology Construction"),(0,n.kt)("admonition",{type:"caution"},(0,n.kt)("p",{parentName:"admonition"},"The entire section on Terminology Engine v 2 (TEv2) is still under construction.",(0,n.kt)("br",null),"\nAs TEv2 is not (yet) available, the texts that specify the tool are still 'raw', i.e. not yet processed.",(0,n.kt)("br",null),(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/reader",title:"Reader: a person that reads a text that is authored by another person (its Author]), and that tries to understand the meaning of this text in the way its Author intended."},"readers")," will need to see through some (currently unprocessed) notational conventions.")),(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curator",title:"Curator: {(noRefs glossaryText)}"},"Curators")," need the ability to construct (different versions of) the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology")," for any ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," they ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curate",title:"Curate: to select, organize, and present Terms, Definitions, and other, related content in a thoughtful and purposeful manner to establish shared understanding among a Community working together on a particular set of objectives."},"curate"),".",(0,n.kt)("p",null,"Constructing a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology")," consists of specifying the set of ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scoped-term",title:"Scoped-term: a Term that represents (and Identifies) a specific Knowledge Artifact of a particular Community (or Party)."},"terms")," that the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology")," consists of, and making sure there is an ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," that holds all associated (meta) data that other (e.g. third party) tools may need. In other words, it consists of constructing the set of ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entries: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entries")," for the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scoped-term",title:"Scoped-term: a Term that represents (and Identifies) a specific Knowledge Artifact of a particular Community (or Party)."},"terms")," of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology"),"."),(0,n.kt)("p",null,"An ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," contains (meta) data about (the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scoped-term",title:"Scoped-term: a Term that represents (and Identifies) a specific Knowledge Artifact of a particular Community (or Party)."},"(scoped) term")," that represents/",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identifies: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identifies"),") a specific ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/knowledge-artifact",title:"Knowledge-artifact: something that can be thought of as existing in a particular Knowledge, e.g. a Concept, or a Mental Model."},"knowledge artifact")," (an illustration can be found in the ",(0,n.kt)("a",{parentName:"p",href:"/docs/terms/patterns/pattern-terminology#formalized-model"},"terminology support pattern"),"). For constructing a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology"),", the following such data is relevant (as it enables one to ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identify: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identify")," (groups of) ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scoped-term",title:"Scoped-term: a Term that represents (and Identifies) a specific Knowledge Artifact of a particular Community (or Party)."},"terms")," that are to become part of that ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology"),"):"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"the (preferred) ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scoped-term",title:"Scoped-term: a Term that represents (and Identifies) a specific Knowledge Artifact of a particular Community (or Party)."},"(scoped) term")," that represents the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/knowledge-artifact",title:"Knowledge-artifact: something that can be thought of as existing in a particular Knowledge, e.g. a Concept, or a Mental Model."},"knowledge artifact"),", and its synonymous ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scoped-term",title:"Scoped-term: a Term that represents (and Identifies) a specific Knowledge Artifact of a particular Community (or Party)."},"terms"),";"),(0,n.kt)("li",{parentName:"ul"},"various ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/tag",title:"Tags: an alphanumeric string that is used to identify Scopes (so called 'scopetags'), group Terms (so called 'grouptags'), or identify a specific version of a Terminology (so called 'versiontags') from within a specific Scope."},"tags"),", amongst which are the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/grouptag",title:"Grouptags: a Tag that is used to group Terms within a specific Scope."},"grouptags")," that indicate the groups of ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scoped-term",title:"Scoped-term: a Term that represents (and Identifies) a specific Knowledge Artifact of a particular Community (or Party)."},"terms")," that the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scoped-term",title:"Scoped-term: a Term that represents (and Identifies) a specific Knowledge Artifact of a particular Community (or Party)."},"term")," is a member of.")),(0,n.kt)("p",null,"The process for creating a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology")," is as follows:"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"start with an empty set of ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entries: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entries"),' - we use the term "',(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology-under-construction",title:"Terminology Under Construction: a set of Terms (that is initially empty), to which Terms can be added or removed as specified by Term Selection Criteria, so as to ultimately result in a proper Terminology."},"terminology under construction"),'" to refer to this set.'),(0,n.kt)("li",{parentName:"ol"},"sequentially process a list of so-called '",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-selection-criteria",title:"Term Selection Criteria: criteria that are used within a particular Scope for the selection of Terms that are part of a particular Terminology."},"term selection criteria"),"' (i.e. instructions), which allow for")),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"#syntax-add"},"adding")," ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entries: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entries")," to the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology-under-construction",title:"Terminology Under Construction: a set of Terms (that is initially empty), to which Terms can be added or removed as specified by Term Selection Criteria, so as to ultimately result in a proper Terminology."},"terminology under construction"),"; these can either be ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"entries")," that have been created from ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-texts: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated texts"),", or ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"entries")," whose contents is obtained from an ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," other than the one that is being created."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"#syntax-remove"},"removing")," ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entries: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entries")," from the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology-under-construction",title:"Terminology Under Construction: a set of Terms (that is initially empty), to which Terms can be added or removed as specified by Term Selection Criteria, so as to ultimately result in a proper Terminology."},"terminology under construction"),";"),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"#syntax-rename"},"modifying attributes")," of a specific ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," in the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology-under-construction",title:"Terminology Under Construction: a set of Terms (that is initially empty), to which Terms can be added or removed as specified by Term Selection Criteria, so as to ultimately result in a proper Terminology."},"terminology under construction"),", e.g. for renaming a term that originated from another ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),".")),(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curator",title:"Curator: {(noRefs glossaryText)}"},"Curators")," create and maintain the list of '",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-selection-criteria",title:"Term Selection Criteria: criteria that are used within a particular Scope for the selection of Terms that are part of a particular Terminology."},"term selection criteria"),"', i.e. instructions for constructing a specific (version of a) ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology"),". Each such (versioned) ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology")," has an entry in the [`versions` section](/docs/spec-files/saf#versions) of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF")," (of the designated ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),"), and the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-selection-criteria",title:"Term Selection Criteria: criteria that are used within a particular Scope for the selection of Terms that are part of a particular Terminology."},"term selection criteria")," reside in the `termselcrit` field of that section.",(0,n.kt)("h2",{id:"syntax-add"},"Adding MRG Entries to the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology-under-construction",title:"Terminology Under Construction: a set of Terms (that is initially empty), to which Terms can be added or removed as specified by Term Selection Criteria, so as to ultimately result in a proper Terminology."},"terminology under construction")),(0,n.kt)("p",null,"A ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curator",title:"Curator: {(noRefs glossaryText)}"},"curator")," can add ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entries: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entries")," to the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology-under-construction",title:"Terminology Under Construction: a set of Terms (that is initially empty), to which Terms can be added or removed as specified by Term Selection Criteria, so as to ultimately result in a proper Terminology."},"terminology under construction")," from different sources, i.e."),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Terms: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"terms")," that are defined in a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text")," that exists in the current ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),", and"),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Terms: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"terms")," that are defined by an ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," in an existing ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," (from another ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),", or another version of the current ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),").")),(0,n.kt)("p",null,"Note that any reference to (an ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," in) (the specific version of) the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology")," that is being constructed, MUST be interpreted as a reference to the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text")," from which the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," would have been constructed."),(0,n.kt)("p",null,"The following instructions can be used for adding ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entries: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entries")," (whitespace in the syntax is disregarded):"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:"left"},"Instruction",(0,n.kt)("sup",null,"*)")),(0,n.kt)("th",{parentName:"tr",align:"left"},"The instruction creates, and subsequently adds an ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," for every ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text")," ..."))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"terms [ ]")),(0,n.kt)("td",{parentName:"tr",align:"left"},"that documents the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/knowledge-artifact",title:"Knowledge-artifact: something that can be thought of as existing in a particular Knowledge, e.g. a Concept, or a Mental Model."},"knowledge artifact")," that is represented by a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Term: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"term")," that appears in the ",(0,n.kt)("inlineCode",{parentName:"td"},""),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"tags [ ]")),(0,n.kt)("td",{parentName:"tr",align:"left"},"that has an element in the list of ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/grouptag",title:"Grouptags: a Tag that is used to group Terms within a specific Scope."},"grouptags")," that also appears in the ",(0,n.kt)("inlineCode",{parentName:"td"},""),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"*")),(0,n.kt)("td",{parentName:"tr",align:"left"},"that exists within the current ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),".")))),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"")," and ",(0,n.kt)("inlineCode",{parentName:"p"},"")," are comma-separated lists of ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Terms: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"terms")," and ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/grouptag",title:"Grouptags: a Tag that is used to group Terms within a specific Scope."},"grouptags")," respectively."),(0,n.kt)("p",null,"*) It is allowed to add ",(0,n.kt)("inlineCode",{parentName:"p"},"@")," or ",(0,n.kt)("inlineCode",{parentName:"p"},"@:")," to the instruction syntax, the effect of which is that the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entries: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entries")," are not created from ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-texts: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated texts"),", but rather selected from the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," that holds (the specified version of) the ","[terminology]"," of the specified ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),". If ",(0,n.kt)("inlineCode",{parentName:"p"},":")," isn't used, the default ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," from the specified ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," will be used."),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Examples"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:"left"},"Instruction"),(0,n.kt)("th",{parentName:"tr",align:"left"},"What it does when processed"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"terms[party]@essiflab:v3.1")),(0,n.kt)("td",{parentName:"tr",align:"left"},"gets version ",(0,n.kt)("inlineCode",{parentName:"td"},"v3.1")," of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," from the scope ",(0,n.kt)("inlineCode",{parentName:"td"},"essiflab"),", finds the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," associated with the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Term: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"term")," ",(0,n.kt)("inlineCode",{parentName:"td"},"party"),", and adds a copy to the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology-under-construction",title:"Terminology Under Construction: a set of Terms (that is initially empty), to which Terms can be added or removed as specified by Term Selection Criteria, so as to ultimately result in a proper Terminology."},"terminology under construction"),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"tags[management,governance]@toip")),(0,n.kt)("td",{parentName:"tr",align:"left"},"gets the default version of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," from the scope ",(0,n.kt)("inlineCode",{parentName:"td"},"toip"),", finds the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entries: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entries")," that have ",(0,n.kt)("inlineCode",{parentName:"td"},"management")," and/or ",(0,n.kt)("inlineCode",{parentName:"td"},"governance")," as one of their ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/grouptag",title:"Grouptags: a Tag that is used to group Terms within a specific Scope."},"grouptags"),", and adds a copy for each of them to the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology-under-construction",title:"Terminology Under Construction: a set of Terms (that is initially empty), to which Terms can be added or removed as specified by Term Selection Criteria, so as to ultimately result in a proper Terminology."},"terminology under construction"),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"* @essif-lab")),(0,n.kt)("td",{parentName:"tr",align:"left"},"gets the default version of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," from the scope ",(0,n.kt)("inlineCode",{parentName:"td"},"essif-lab"),", and adds a copy of all of its ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entries: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entries")," to the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology-under-construction",title:"Terminology Under Construction: a set of Terms (that is initially empty), to which Terms can be added or removed as specified by Term Selection Criteria, so as to ultimately result in a proper Terminology."},"terminology under construction"),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"* @")),(0,n.kt)("td",{parentName:"tr",align:"left"},"creates an ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," for every ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text")," in the current ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),", and adds them to the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology-under-construction",title:"Terminology Under Construction: a set of Terms (that is initially empty), to which Terms can be added or removed as specified by Term Selection Criteria, so as to ultimately result in a proper Terminology."},"terminology under construction"),"."))))),(0,n.kt)("h2",{id:"syntax-remove"},"Removing MRG Entries from a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology-under-construction",title:"Terminology Under Construction: a set of Terms (that is initially empty), to which Terms can be added or removed as specified by Term Selection Criteria, so as to ultimately result in a proper Terminology."},"terminology under construction")),(0,n.kt)("p",null,"A ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curator",title:"Curator: {(noRefs glossaryText)}"},"curator")," can remove ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entries: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entries")," from the tuple set, using the following syntax (whitespace in the syntax is disregarded):"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("inlineCode",{parentName:"li"},"-tags [ ]")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("inlineCode",{parentName:"li"},"-terms [ ]"))),(0,n.kt)("p",null,"A ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curator",title:"Curator: {(noRefs glossaryText)}"},"curator")," can remove ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entries: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entries")," from the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology-under-construction",title:"Terminology Under Construction: a set of Terms (that is initially empty), to which Terms can be added or removed as specified by Term Selection Criteria, so as to ultimately result in a proper Terminology."},"terminology under construction")," in different ways, using the following instructions (whitespace is disregarded):"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:"left"},"Instruction",(0,n.kt)("sup",null,"*)")),(0,n.kt)("th",{parentName:"tr",align:"left"},"The instruction removes an ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," from the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology-under-construction",title:"Terminology Under Construction: a set of Terms (that is initially empty), to which Terms can be added or removed as specified by Term Selection Criteria, so as to ultimately result in a proper Terminology."},"terminology under construction")," if ..."))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"-tags [ ]")),(0,n.kt)("td",{parentName:"tr",align:"left"},"one of its ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/grouptag",title:"Grouptags: a Tag that is used to group Terms within a specific Scope."},"grouptags")," appears in the ",(0,n.kt)("inlineCode",{parentName:"td"},""),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"-terms [ ]")),(0,n.kt)("td",{parentName:"tr",align:"left"},"the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Term: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"term")," that it specifies is an element of ",(0,n.kt)("inlineCode",{parentName:"td"},""),".")))),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"")," and ",(0,n.kt)("inlineCode",{parentName:"p"},"")," are comma-separated lists of ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Terms: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"terms"),", and ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/grouptag",title:"Grouptags: a Tag that is used to group Terms within a specific Scope."},"grouptags")," respectively."),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Examples"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:"left"},"Instruction"),(0,n.kt)("th",{parentName:"tr",align:"left"},"What it does when processed"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"-terms[party, actor]")),(0,n.kt)("td",{parentName:"tr",align:"left"},"removes the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entries: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entries")," that specifies ",(0,n.kt)("inlineCode",{parentName:"td"},"party")," or ",(0,n.kt)("inlineCode",{parentName:"td"},"actor")," as its ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Term: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"term"),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"-tags[management]")),(0,n.kt)("td",{parentName:"tr",align:"left"},"removes all ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entries: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entries")," that have a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/grouptag",title:"Grouptag: a Tag that is used to group Terms within a specific Scope."},"grouptag")," ",(0,n.kt)("inlineCode",{parentName:"td"},"management"),"."))))),(0,n.kt)("h2",{id:"syntax-rename"},"Rename/rewrite specific parts of an MRG entry"),(0,n.kt)("img",{alt:"From this point onward, texts are under construction",src:(0,r.Z)("images/wip/wip-under-construction-from-here-onward.png")}),(0,n.kt)("br",null),(0,n.kt)("br",null),(0,n.kt)("p",null,"In analogy with ",(0,n.kt)("a",{parentName:"p",href:"https://en.wikipedia.org/wiki/Namespace"},"namespaces"),", we accommodate for the renaming of ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Terms: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"terms")," as they are 'imported' from ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminologies: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminologies")," other than the one that we are constructing. However, the analogy breaks down in the sense that it is not only a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Term: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"term")," that should be renameable (which is sufficient for ",(0,n.kt)("a",{parentName:"p",href:"https://en.wikipedia.org/wiki/Namespace"},"namespaces"),"), but also certain attributes may need to be changed."),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("inlineCode",{parentName:"li"},"rename [ ]"),".")),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Syntax examples"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:"left"},"Instruction"),(0,n.kt)("th",{parentName:"tr",align:"left"},"What it does when it is processed"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"rename party partij")),(0,n.kt)("td",{parentName:"tr",align:"left"},"renames the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Term: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"term")," that is currently associated with the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Term: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"term")," ",(0,n.kt)("inlineCode",{parentName:"td"},"party")," into ",(0,n.kt)("inlineCode",{parentName:"td"},"partij"),"."))))),(0,n.kt)("p",null,"where:"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"symbol"),(0,n.kt)("th",{parentName:"tr",align:"left"},"description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"")),(0,n.kt)("td",{parentName:"tr",align:"left"},"the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Term: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"term")," of the tuple that will be selected for renaming.")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"")),(0,n.kt)("td",{parentName:"tr",align:"left"},"a (non-empty) comma-separated list of ",(0,n.kt)("inlineCode",{parentName:"td"},""),"s.")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"")),(0,n.kt)("td",{parentName:"tr",align:"left"},"a ",(0,n.kt)("inlineCode",{parentName:"td"},": ")," (or ",(0,n.kt)("inlineCode",{parentName:"td"},"{ : }")," pair - to be decided.")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"")),(0,n.kt)("td",{parentName:"tr",align:"left"},"a text that identifies a field in an ","[MRG entry]",", the value of which is to be changed, e.g. ",(0,n.kt)("inlineCode",{parentName:"td"},"formphrases"),", ",(0,n.kt)("inlineCode",{parentName:"td"},"grouptags"),", etc.")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"")),(0,n.kt)("td",{parentName:"tr",align:"left"},"a text that will replace the existing text of the field identified by ",(0,n.kt)("inlineCode",{parentName:"td"},""),".")))),(0,n.kt)("p",null,"This syntax is processed by first selecting the tuple (in the tuple set that is being constructed) that has the specified ",(0,n.kt)("inlineCode",{parentName:"p"},"")," as its ",(0,n.kt)("inlineCode",{parentName:"p"},"term"),"-field, and then sequentially processing the ",(0,n.kt)("inlineCode",{parentName:"p"},""),"s in the ",(0,n.kt)("inlineCode",{parentName:"p"},""),", which means that the existing text of the field that is identified by the ",(0,n.kt)("inlineCode",{parentName:"p"},"")," element of the ",(0,n.kt)("inlineCode",{parentName:"p"},"")," is replaced by the text specified by the ",(0,n.kt)("inlineCode",{parentName:"p"},"")," element of that ",(0,n.kt)("inlineCode",{parentName:"p"},""),"."),(0,n.kt)("admonition",{title:"Editor's note",type:"info"},(0,n.kt)("p",{parentName:"admonition"},"The ability to rename terms as they are imported may introduce some issues related to other field-names, such as ",(0,n.kt)("inlineCode",{parentName:"p"},"term"),", ",(0,n.kt)("inlineCode",{parentName:"p"},"formphrases"),", ",(0,n.kt)("inlineCode",{parentName:"p"},"synonyms"),", ",(0,n.kt)("inlineCode",{parentName:"p"},"glossaryText"),"s and possibly some others. Perhaps this syntax should therefore be extended, enabling ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curator",title:"Curator: {(noRefs glossaryText)}"},"curators")," to simultaneously change these (and other) fields in the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry"),".")))}g.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunktev2_specifications=self.webpackChunktev2_specifications||[]).push([[2938],{3905:function(t,e,i){i.d(e,{Zo:function(){return d},kt:function(){return p}});var o=i(7294);function a(t,e,i){return e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}function n(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,o)}return i}function r(t){for(var e=1;e=0||(a[i]=t[i]);return a}(t,e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(t,i)&&(a[i]=t[i])}return a}var c=o.createContext({}),l=function(t){var e=o.useContext(c),i=e;return t&&(i="function"==typeof t?t(e):r(r({},e),t)),i},d=function(t){var e=l(t.components);return o.createElement(c.Provider,{value:e},t.children)},m={inlineCode:"code",wrapper:function(t){var e=t.children;return o.createElement(o.Fragment,{},e)}},h=o.forwardRef((function(t,e){var i=t.components,a=t.mdxType,n=t.originalType,c=t.parentName,d=s(t,["components","mdxType","originalType","parentName"]),h=l(i),p=a,g=h["".concat(c,".").concat(p)]||h[p]||m[p]||n;return i?o.createElement(g,r(r({ref:e},d),{},{components:i})):o.createElement(g,r({ref:e},d))}));function p(t,e){var i=arguments,a=e&&e.mdxType;if("string"==typeof t||a){var n=i.length,r=new Array(n);r[0]=h;var s={};for(var c in e)hasOwnProperty.call(e,c)&&(s[c]=e[c]);s.originalType=t,s.mdxType="string"==typeof t?t:a,r[1]=s;for(var l=2;lterminology under construction',id:"syntax-add",level:2},{value:'Removing MRG Entries from a terminology under construction',id:"syntax-remove",level:2},{value:"Rename/rewrite specific parts of an MRG entry",id:"syntax-rename",level:2}],p={toc:h};function g(t){var e=t.components,i=(0,a.Z)(t,s);return(0,n.kt)("wrapper",(0,o.Z)({},p,i,{components:e,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"terminology-construction"},"Terminology Construction"),(0,n.kt)("admonition",{type:"caution"},(0,n.kt)("p",{parentName:"admonition"},"The entire section on Terminology Engine v 2 (TEv2) is still under construction.",(0,n.kt)("br",null),"\nAs TEv2 is not (yet) available, the texts that specify the tool are still 'raw', i.e. not yet processed.",(0,n.kt)("br",null),(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/reader",title:"Reader: a person that reads a text that is authored by another person (its Author]), and that tries to understand the meaning of this text in the way its Author intended."},"readers")," will need to see through some (currently unprocessed) notational conventions.")),(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curator",title:"Curator: {(noRefs glossaryText)}"},"Curators")," need the ability to construct (different versions of) the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology")," for any ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," they ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curate",title:"Curate: to select, organize, and present Terms, Definitions, and other, related content in a thoughtful and purposeful manner to establish shared understanding among a Community working together on a particular set of objectives."},"curate"),".",(0,n.kt)("p",null,"Constructing a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology")," consists of specifying the set of ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scoped-term",title:"Scoped-term: a Term that represents (and Identifies) a specific Knowledge Artifact of a particular Community (or Party)."},"terms")," that the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology")," consists of, and making sure there is an ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," that holds all associated (meta) data that other (e.g. third party) tools may need. In other words, it consists of constructing the set of ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entries: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entries")," for the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scoped-term",title:"Scoped-term: a Term that represents (and Identifies) a specific Knowledge Artifact of a particular Community (or Party)."},"terms")," of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology"),"."),(0,n.kt)("p",null,"An ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," contains (meta) data about (the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scoped-term",title:"Scoped-term: a Term that represents (and Identifies) a specific Knowledge Artifact of a particular Community (or Party)."},"(scoped) term")," that represents/",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identifies: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identifies"),") a specific ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/knowledge-artifact",title:"Knowledge-artifact: something that can be thought of as existing in a particular Knowledge, e.g. a Concept, or a Mental Model."},"knowledge artifact")," (an illustration can be found in the ",(0,n.kt)("a",{parentName:"p",href:"/docs/terms/patterns/pattern-terminology#formalized-model"},"terminology support pattern"),"). For constructing a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology"),", the following such data is relevant (as it enables one to ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identify: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identify")," (groups of) ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scoped-term",title:"Scoped-term: a Term that represents (and Identifies) a specific Knowledge Artifact of a particular Community (or Party)."},"terms")," that are to become part of that ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology"),"):"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"the (preferred) ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scoped-term",title:"Scoped-term: a Term that represents (and Identifies) a specific Knowledge Artifact of a particular Community (or Party)."},"(scoped) term")," that represents the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/knowledge-artifact",title:"Knowledge-artifact: something that can be thought of as existing in a particular Knowledge, e.g. a Concept, or a Mental Model."},"knowledge artifact"),", and its synonymous ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scoped-term",title:"Scoped-term: a Term that represents (and Identifies) a specific Knowledge Artifact of a particular Community (or Party)."},"terms"),";"),(0,n.kt)("li",{parentName:"ul"},"various ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/tag",title:"Tags: an alphanumeric string that is used to identify Scopes (so called 'scopetags'), group Terms (so called 'grouptags'), or identify a specific version of a Terminology (so called 'versiontags') from within a specific Scope."},"tags"),", amongst which are the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/grouptag",title:"Grouptags: a Tag that is used to group Terms within a specific Scope."},"grouptags")," that indicate the groups of ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scoped-term",title:"Scoped-term: a Term that represents (and Identifies) a specific Knowledge Artifact of a particular Community (or Party)."},"terms")," that the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scoped-term",title:"Scoped-term: a Term that represents (and Identifies) a specific Knowledge Artifact of a particular Community (or Party)."},"term")," is a member of.")),(0,n.kt)("p",null,"The process for creating a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology")," is as follows:"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"start with an empty set of ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entries: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entries"),' - we use the term "',(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology-under-construction",title:"Terminology Under Construction: a set of Terms (that is initially empty), to which Terms can be added or removed as specified by Term Selection Criteria, so as to ultimately result in a proper Terminology."},"terminology under construction"),'" to refer to this set.'),(0,n.kt)("li",{parentName:"ol"},"sequentially process a list of so-called '",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-selection-criteria",title:"Term Selection Criteria: criteria that are used within a particular Scope for the selection of Terms that are part of a particular Terminology."},"term selection criteria"),"' (i.e. instructions), which allow for")),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"#syntax-add"},"adding")," ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entries: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entries")," to the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology-under-construction",title:"Terminology Under Construction: a set of Terms (that is initially empty), to which Terms can be added or removed as specified by Term Selection Criteria, so as to ultimately result in a proper Terminology."},"terminology under construction"),"; these can either be ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"entries")," that have been created from ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-texts: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated texts"),", or ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"entries")," whose contents is obtained from an ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," other than the one that is being created."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"#syntax-remove"},"removing")," ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entries: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entries")," from the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology-under-construction",title:"Terminology Under Construction: a set of Terms (that is initially empty), to which Terms can be added or removed as specified by Term Selection Criteria, so as to ultimately result in a proper Terminology."},"terminology under construction"),";"),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"#syntax-rename"},"modifying attributes")," of a specific ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," in the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology-under-construction",title:"Terminology Under Construction: a set of Terms (that is initially empty), to which Terms can be added or removed as specified by Term Selection Criteria, so as to ultimately result in a proper Terminology."},"terminology under construction"),", e.g. for renaming a term that originated from another ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),".")),(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curator",title:"Curator: {(noRefs glossaryText)}"},"Curators")," create and maintain the list of '",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-selection-criteria",title:"Term Selection Criteria: criteria that are used within a particular Scope for the selection of Terms that are part of a particular Terminology."},"term selection criteria"),"', i.e. instructions for constructing a specific (version of a) ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology"),". Each such (versioned) ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology")," has an entry in the [`versions` section](/docs/spec-files/saf#versions) of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF")," (of the designated ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),"), and the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-selection-criteria",title:"Term Selection Criteria: criteria that are used within a particular Scope for the selection of Terms that are part of a particular Terminology."},"term selection criteria")," reside in the `termselcrit` field of that section.",(0,n.kt)("h2",{id:"syntax-add"},"Adding MRG Entries to the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology-under-construction",title:"Terminology Under Construction: a set of Terms (that is initially empty), to which Terms can be added or removed as specified by Term Selection Criteria, so as to ultimately result in a proper Terminology."},"terminology under construction")),(0,n.kt)("p",null,"A ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curator",title:"Curator: {(noRefs glossaryText)}"},"curator")," can add ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entries: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entries")," to the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology-under-construction",title:"Terminology Under Construction: a set of Terms (that is initially empty), to which Terms can be added or removed as specified by Term Selection Criteria, so as to ultimately result in a proper Terminology."},"terminology under construction")," from different sources, i.e."),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Terms: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"terms")," that are defined in a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text")," that exists in the current ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),", and"),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Terms: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"terms")," that are defined by an ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," in an existing ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," (from another ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),", or another version of the current ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),").")),(0,n.kt)("p",null,"Note that any reference to (an ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," in) (the specific version of) the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology")," that is being constructed, MUST be interpreted as a reference to the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text")," from which the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," would have been constructed."),(0,n.kt)("p",null,"The following instructions can be used for adding ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entries: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entries")," (whitespace in the syntax is disregarded):"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:"left"},"Instruction",(0,n.kt)("sup",null,"*)")),(0,n.kt)("th",{parentName:"tr",align:"left"},"The instruction creates, and subsequently adds an ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," for every ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text")," ..."))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"terms [ ]")),(0,n.kt)("td",{parentName:"tr",align:"left"},"that documents the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/knowledge-artifact",title:"Knowledge-artifact: something that can be thought of as existing in a particular Knowledge, e.g. a Concept, or a Mental Model."},"knowledge artifact")," that is represented by a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Term: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"term")," that appears in the ",(0,n.kt)("inlineCode",{parentName:"td"},""),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"tags [ ]")),(0,n.kt)("td",{parentName:"tr",align:"left"},"that has an element in the list of ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/grouptag",title:"Grouptags: a Tag that is used to group Terms within a specific Scope."},"grouptags")," that also appears in the ",(0,n.kt)("inlineCode",{parentName:"td"},""),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"*")),(0,n.kt)("td",{parentName:"tr",align:"left"},"that exists within the current ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),".")))),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"")," and ",(0,n.kt)("inlineCode",{parentName:"p"},"")," are comma-separated lists of ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Terms: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"terms")," and ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/grouptag",title:"Grouptags: a Tag that is used to group Terms within a specific Scope."},"grouptags")," respectively."),(0,n.kt)("p",null,"*) It is allowed to add ",(0,n.kt)("inlineCode",{parentName:"p"},"@")," or ",(0,n.kt)("inlineCode",{parentName:"p"},"@:")," to the instruction syntax, the effect of which is that the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entries: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entries")," are not created from ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-texts: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated texts"),", but rather selected from the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," that holds (the specified version of) the ","[terminology]"," of the specified ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),". If ",(0,n.kt)("inlineCode",{parentName:"p"},":")," isn't used, the default ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," from the specified ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," will be used."),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Examples"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:"left"},"Instruction"),(0,n.kt)("th",{parentName:"tr",align:"left"},"What it does when processed"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"terms[party]@essiflab:v3.1")),(0,n.kt)("td",{parentName:"tr",align:"left"},"gets version ",(0,n.kt)("inlineCode",{parentName:"td"},"v3.1")," of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," from the scope ",(0,n.kt)("inlineCode",{parentName:"td"},"essiflab"),", finds the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," associated with the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Term: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"term")," ",(0,n.kt)("inlineCode",{parentName:"td"},"party"),", and adds a copy to the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology-under-construction",title:"Terminology Under Construction: a set of Terms (that is initially empty), to which Terms can be added or removed as specified by Term Selection Criteria, so as to ultimately result in a proper Terminology."},"terminology under construction"),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"tags[management,governance]@toip")),(0,n.kt)("td",{parentName:"tr",align:"left"},"gets the default version of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," from the scope ",(0,n.kt)("inlineCode",{parentName:"td"},"toip"),", finds the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entries: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entries")," that have ",(0,n.kt)("inlineCode",{parentName:"td"},"management")," and/or ",(0,n.kt)("inlineCode",{parentName:"td"},"governance")," as one of their ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/grouptag",title:"Grouptags: a Tag that is used to group Terms within a specific Scope."},"grouptags"),", and adds a copy for each of them to the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology-under-construction",title:"Terminology Under Construction: a set of Terms (that is initially empty), to which Terms can be added or removed as specified by Term Selection Criteria, so as to ultimately result in a proper Terminology."},"terminology under construction"),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"* @essif-lab")),(0,n.kt)("td",{parentName:"tr",align:"left"},"gets the default version of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," from the scope ",(0,n.kt)("inlineCode",{parentName:"td"},"essif-lab"),", and adds a copy of all of its ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entries: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entries")," to the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology-under-construction",title:"Terminology Under Construction: a set of Terms (that is initially empty), to which Terms can be added or removed as specified by Term Selection Criteria, so as to ultimately result in a proper Terminology."},"terminology under construction"),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"* @")),(0,n.kt)("td",{parentName:"tr",align:"left"},"creates an ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," for every ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text")," in the current ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),", and adds them to the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology-under-construction",title:"Terminology Under Construction: a set of Terms (that is initially empty), to which Terms can be added or removed as specified by Term Selection Criteria, so as to ultimately result in a proper Terminology."},"terminology under construction"),"."))))),(0,n.kt)("h2",{id:"syntax-remove"},"Removing MRG Entries from a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology-under-construction",title:"Terminology Under Construction: a set of Terms (that is initially empty), to which Terms can be added or removed as specified by Term Selection Criteria, so as to ultimately result in a proper Terminology."},"terminology under construction")),(0,n.kt)("p",null,"A ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curator",title:"Curator: {(noRefs glossaryText)}"},"curator")," can remove ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entries: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entries")," from the tuple set, using the following syntax (whitespace in the syntax is disregarded):"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("inlineCode",{parentName:"li"},"-tags [ ]")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("inlineCode",{parentName:"li"},"-terms [ ]"))),(0,n.kt)("p",null,"A ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curator",title:"Curator: {(noRefs glossaryText)}"},"curator")," can remove ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entries: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entries")," from the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology-under-construction",title:"Terminology Under Construction: a set of Terms (that is initially empty), to which Terms can be added or removed as specified by Term Selection Criteria, so as to ultimately result in a proper Terminology."},"terminology under construction")," in different ways, using the following instructions (whitespace is disregarded):"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:"left"},"Instruction",(0,n.kt)("sup",null,"*)")),(0,n.kt)("th",{parentName:"tr",align:"left"},"The instruction removes an ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," from the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology-under-construction",title:"Terminology Under Construction: a set of Terms (that is initially empty), to which Terms can be added or removed as specified by Term Selection Criteria, so as to ultimately result in a proper Terminology."},"terminology under construction")," if ..."))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"-tags [ ]")),(0,n.kt)("td",{parentName:"tr",align:"left"},"one of its ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/grouptag",title:"Grouptags: a Tag that is used to group Terms within a specific Scope."},"grouptags")," appears in the ",(0,n.kt)("inlineCode",{parentName:"td"},""),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"-terms [ ]")),(0,n.kt)("td",{parentName:"tr",align:"left"},"the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Term: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"term")," that it specifies is an element of ",(0,n.kt)("inlineCode",{parentName:"td"},""),".")))),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"")," and ",(0,n.kt)("inlineCode",{parentName:"p"},"")," are comma-separated lists of ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Terms: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"terms"),", and ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/grouptag",title:"Grouptags: a Tag that is used to group Terms within a specific Scope."},"grouptags")," respectively."),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Examples"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:"left"},"Instruction"),(0,n.kt)("th",{parentName:"tr",align:"left"},"What it does when processed"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"-terms[party, actor]")),(0,n.kt)("td",{parentName:"tr",align:"left"},"removes the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entries: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entries")," that specifies ",(0,n.kt)("inlineCode",{parentName:"td"},"party")," or ",(0,n.kt)("inlineCode",{parentName:"td"},"actor")," as its ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Term: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"term"),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"-tags[management]")),(0,n.kt)("td",{parentName:"tr",align:"left"},"removes all ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entries: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entries")," that have a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/grouptag",title:"Grouptag: a Tag that is used to group Terms within a specific Scope."},"grouptag")," ",(0,n.kt)("inlineCode",{parentName:"td"},"management"),"."))))),(0,n.kt)("h2",{id:"syntax-rename"},"Rename/rewrite specific parts of an MRG entry"),(0,n.kt)("img",{alt:"From this point onward, texts are under construction",src:(0,r.Z)("images/wip/wip-under-construction-from-here-onward.png")}),(0,n.kt)("br",null),(0,n.kt)("br",null),(0,n.kt)("p",null,"In analogy with ",(0,n.kt)("a",{parentName:"p",href:"https://en.wikipedia.org/wiki/Namespace"},"namespaces"),", we accommodate for the renaming of ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Terms: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"terms")," as they are 'imported' from ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminologies: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminologies")," other than the one that we are constructing. However, the analogy breaks down in the sense that it is not only a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Term: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"term")," that should be renameable (which is sufficient for ",(0,n.kt)("a",{parentName:"p",href:"https://en.wikipedia.org/wiki/Namespace"},"namespaces"),"), but also certain attributes may need to be changed."),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("inlineCode",{parentName:"li"},"rename [ ]"),".")),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Syntax examples"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:"left"},"Instruction"),(0,n.kt)("th",{parentName:"tr",align:"left"},"What it does when it is processed"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"rename party partij")),(0,n.kt)("td",{parentName:"tr",align:"left"},"renames the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Term: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"term")," that is currently associated with the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Term: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"term")," ",(0,n.kt)("inlineCode",{parentName:"td"},"party")," into ",(0,n.kt)("inlineCode",{parentName:"td"},"partij"),"."))))),(0,n.kt)("p",null,"where:"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"symbol"),(0,n.kt)("th",{parentName:"tr",align:"left"},"description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"")),(0,n.kt)("td",{parentName:"tr",align:"left"},"the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Term: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"term")," of the tuple that will be selected for renaming.")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"")),(0,n.kt)("td",{parentName:"tr",align:"left"},"a (non-empty) comma-separated list of ",(0,n.kt)("inlineCode",{parentName:"td"},""),"s.")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"")),(0,n.kt)("td",{parentName:"tr",align:"left"},"a ",(0,n.kt)("inlineCode",{parentName:"td"},": ")," (or ",(0,n.kt)("inlineCode",{parentName:"td"},"{ : }")," pair - to be decided.")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"")),(0,n.kt)("td",{parentName:"tr",align:"left"},"a text that identifies a field in an ","[MRG entry]",", the value of which is to be changed, e.g. ",(0,n.kt)("inlineCode",{parentName:"td"},"formphrases"),", ",(0,n.kt)("inlineCode",{parentName:"td"},"grouptags"),", etc.")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"")),(0,n.kt)("td",{parentName:"tr",align:"left"},"a text that will replace the existing text of the field identified by ",(0,n.kt)("inlineCode",{parentName:"td"},""),".")))),(0,n.kt)("p",null,"This syntax is processed by first selecting the tuple (in the tuple set that is being constructed) that has the specified ",(0,n.kt)("inlineCode",{parentName:"p"},"")," as its ",(0,n.kt)("inlineCode",{parentName:"p"},"term"),"-field, and then sequentially processing the ",(0,n.kt)("inlineCode",{parentName:"p"},""),"s in the ",(0,n.kt)("inlineCode",{parentName:"p"},""),", which means that the existing text of the field that is identified by the ",(0,n.kt)("inlineCode",{parentName:"p"},"")," element of the ",(0,n.kt)("inlineCode",{parentName:"p"},"")," is replaced by the text specified by the ",(0,n.kt)("inlineCode",{parentName:"p"},"")," element of that ",(0,n.kt)("inlineCode",{parentName:"p"},""),"."),(0,n.kt)("admonition",{title:"Editor's note",type:"info"},(0,n.kt)("p",{parentName:"admonition"},"The ability to rename terms as they are imported may introduce some issues related to other field-names, such as ",(0,n.kt)("inlineCode",{parentName:"p"},"term"),", ",(0,n.kt)("inlineCode",{parentName:"p"},"formphrases"),", ",(0,n.kt)("inlineCode",{parentName:"p"},"synonyms"),", ",(0,n.kt)("inlineCode",{parentName:"p"},"glossaryText"),"s and possibly some others. Perhaps this syntax should therefore be extended, enabling ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curator",title:"Curator: {(noRefs glossaryText)}"},"curators")," to simultaneously change these (and other) fields in the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry"),".")))}g.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/6b1e0334.90e7bd80.js b/assets/js/6b1e0334.6b631907.js similarity index 99% rename from assets/js/6b1e0334.90e7bd80.js rename to assets/js/6b1e0334.6b631907.js index 1b192282c5..f17105d42f 100644 --- a/assets/js/6b1e0334.90e7bd80.js +++ b/assets/js/6b1e0334.6b631907.js @@ -1 +1 @@ -"use strict";(self.webpackChunktev2_specifications=self.webpackChunktev2_specifications||[]).push([[1521],{3905:function(e,t,i){i.d(t,{Zo:function(){return d},kt:function(){return m}});var o=i(7294);function a(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function n(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,o)}return i}function s(e){for(var t=1;t=0||(a[i]=e[i]);return a}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(a[i]=e[i])}return a}var c=o.createContext({}),l=function(e){var t=o.useContext(c),i=t;return e&&(i="function"==typeof e?e(t):s(s({},t),e)),i},d=function(e){var t=l(e.components);return o.createElement(c.Provider,{value:t},e.children)},h={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},p=o.forwardRef((function(e,t){var i=e.components,a=e.mdxType,n=e.originalType,c=e.parentName,d=r(e,["components","mdxType","originalType","parentName"]),p=l(i),m=a,g=p["".concat(c,".").concat(m)]||p[m]||h[m]||n;return i?o.createElement(g,s(s({ref:t},d),{},{components:i})):o.createElement(g,s({ref:t},d))}));function m(e,t){var i=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var n=i.length,s=new Array(n);s[0]=p;var r={};for(var c in t)hasOwnProperty.call(t,c)&&(r[c]=t[c]);r.originalType=e,r.mdxType="string"==typeof e?e:a,s[1]=r;for(var l=2;l=0||(a[i]=e[i]);return a}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(a[i]=e[i])}return a}var c=o.createContext({}),l=function(e){var t=o.useContext(c),i=t;return e&&(i="function"==typeof e?e(t):s(s({},t),e)),i},d=function(e){var t=l(e.components);return o.createElement(c.Provider,{value:t},e.children)},h={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},p=o.forwardRef((function(e,t){var i=e.components,a=e.mdxType,n=e.originalType,c=e.parentName,d=r(e,["components","mdxType","originalType","parentName"]),p=l(i),m=a,g=p["".concat(c,".").concat(m)]||p[m]||h[m]||n;return i?o.createElement(g,s(s({ref:t},d),{},{components:i})):o.createElement(g,s({ref:t},d))}));function m(e,t){var i=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var n=i.length,s=new Array(n);s[0]=p;var r={};for(var c in t)hasOwnProperty.call(t,c)&&(r[c]=t[c]);r.originalType=e,r.mdxType="string"==typeof e?e:a,s[1]=r;for(var l=2;l=0||(n[i]=e[i]);return n}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(n[i]=e[i])}return n}var c=o.createContext({}),p=function(e){var t=o.useContext(c),i=t;return e&&(i="function"==typeof e?e(t):a(a({},t),e)),i},l=function(e){var t=p(e.components);return o.createElement(c.Provider,{value:t},e.children)},h={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},d=o.forwardRef((function(e,t){var i=e.components,n=e.mdxType,s=e.originalType,c=e.parentName,l=r(e,["components","mdxType","originalType","parentName"]),d=p(i),f=n,m=d["".concat(c,".").concat(f)]||d[f]||h[f]||s;return i?o.createElement(m,a(a({ref:t},l),{},{components:i})):o.createElement(m,a({ref:t},l))}));function f(e,t){var i=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var s=i.length,a=new Array(s);a[0]=d;var r={};for(var c in t)hasOwnProperty.call(t,c)&&(r[c]=t[c]);r.originalType=e,r.mdxType="string"==typeof e?e:n,a[1]=r;for(var p=2;p=0||(n[i]=e[i]);return n}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(n[i]=e[i])}return n}var c=o.createContext({}),p=function(e){var t=o.useContext(c),i=t;return e&&(i="function"==typeof e?e(t):a(a({},t),e)),i},l=function(e){var t=p(e.components);return o.createElement(c.Provider,{value:t},e.children)},h={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},d=o.forwardRef((function(e,t){var i=e.components,n=e.mdxType,s=e.originalType,c=e.parentName,l=r(e,["components","mdxType","originalType","parentName"]),d=p(i),f=n,m=d["".concat(c,".").concat(f)]||d[f]||h[f]||s;return i?o.createElement(m,a(a({ref:t},l),{},{components:i})):o.createElement(m,a({ref:t},l))}));function f(e,t){var i=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var s=i.length,a=new Array(s);a[0]=d;var r={};for(var c in t)hasOwnProperty.call(t,c)&&(r[c]=t[c]);r.originalType=e,r.mdxType="string"==typeof e?e:n,a[1]=r;for(var p=2;p=0||(n[i]=e[i]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(n[i]=e[i])}return n}var c=r.createContext({}),d=function(e){var t=r.useContext(c),i=t;return e&&(i="function"==typeof e?e(t):s(s({},t),e)),i},h=function(e){var t=d(e.components);return r.createElement(c.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},l=r.forwardRef((function(e,t){var i=e.components,n=e.mdxType,o=e.originalType,c=e.parentName,h=a(e,["components","mdxType","originalType","parentName"]),l=d(i),p=n,f=l["".concat(c,".").concat(p)]||l[p]||m[p]||o;return i?r.createElement(f,s(s({ref:t},h),{},{components:i})):r.createElement(f,s({ref:t},h))}));function p(e,t){var i=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=i.length,s=new Array(o);s[0]=l;var a={};for(var c in t)hasOwnProperty.call(t,c)&&(a[c]=t[c]);a.originalType=e,a.mdxType="string"==typeof e?e:n,s[1]=a;for(var d=2;d=0||(n[i]=e[i]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(n[i]=e[i])}return n}var c=r.createContext({}),d=function(e){var t=r.useContext(c),i=t;return e&&(i="function"==typeof e?e(t):s(s({},t),e)),i},h=function(e){var t=d(e.components);return r.createElement(c.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},l=r.forwardRef((function(e,t){var i=e.components,n=e.mdxType,o=e.originalType,c=e.parentName,h=a(e,["components","mdxType","originalType","parentName"]),l=d(i),p=n,f=l["".concat(c,".").concat(p)]||l[p]||m[p]||o;return i?r.createElement(f,s(s({ref:t},h),{},{components:i})):r.createElement(f,s({ref:t},h))}));function p(e,t){var i=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=i.length,s=new Array(o);s[0]=l;var a={};for(var c in t)hasOwnProperty.call(t,c)&&(a[c]=t[c]);a.originalType=e,a.mdxType="string"==typeof e?e:n,s[1]=a;for(var d=2;d=0||(o[i]=t[i]);return o}(t,e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(t,i)&&(o[i]=t[i])}return o}var c=a.createContext({}),d=function(t){var e=a.useContext(c),i=e;return t&&(i="function"==typeof t?t(e):r(r({},e),t)),i},h=function(t){var e=d(t.components);return a.createElement(c.Provider,{value:e},t.children)},l={inlineCode:"code",wrapper:function(t){var e=t.children;return a.createElement(a.Fragment,{},e)}},p=a.forwardRef((function(t,e){var i=t.components,o=t.mdxType,n=t.originalType,c=t.parentName,h=s(t,["components","mdxType","originalType","parentName"]),p=d(i),f=o,m=p["".concat(c,".").concat(f)]||p[f]||l[f]||n;return i?a.createElement(m,r(r({ref:e},h),{},{components:i})):a.createElement(m,r({ref:e},h))}));function f(t,e){var i=arguments,o=e&&e.mdxType;if("string"==typeof t||o){var n=i.length,r=new Array(n);r[0]=p;var s={};for(var c in e)hasOwnProperty.call(e,c)&&(s[c]=e[c]);s.originalType=t,s.mdxType="string"==typeof t?t:o,r[1]=s;for(var d=2;dconcept or other knowledge artifact of a specific community or other party, and is located within a scope that is owned by that community/party.\nsynonymOf:\ngrouptags:\nformPhrases: curated-text{ss}, ctext{ss}\n# TEv2 Curation status\nstatus: proposed\ncreated: 2022-06-02\nupdated: 2023-08-14\n# Origins/Acknowledgements\ncontributors: RieksJ\nattribution: "[eSSIF-Lab](https://essif-lab.github.io/framework)"\noriginalLicense: "[CC BY-SA 4.0](http://creativecommons.org/licenses/by-sa/4.0/?ref=chooser-v1)"\n---\n\n# Curated Text\nA curated text starts with three dashes `---`.\nThis indicates the start of its (YAML) header.\nTypically, the header consists of a sequence of key-value pairs.\nThe header is terminated with onother three dashes and a new line.\n\nThe body of the curated text typically starts behind the header block,\nbut it can also be placed in another file within the `scopedir`.\nThe body is typically markdown, but other constructs may be inserted\nthat contribute to the rendering of these texts in a (static) website.\nAn example of this is [MDX](https://mdxjs.com/).\nA discussion on these other constructs is outside the scope of this document.\n')))),(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/header",title:"Header (of a Curated Text): the part at the beginning of that curated text, that starts with a line that (only) contains three subsequent '-'characters, and that ends with a second occurrance of such a line."},"Headers")," of ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-texts: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated texts")," are used by ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/tev2",title:"Tev2: a set of specifications and tools that caters for the Curation of Terminologies, as well as for its subsequent use in publications of different types (e.g. websites, whitepapers) and formats (e.g. html, LaTeX), as appropriate for different, individual Scopes."},"TEv2")," tools, but may also contain entries that are used by other tools, such as static site generators. The example above shows some entries that are used by (the static site generator) Docusaurus. In order to avoid confusion about which entries serve what purposes, it is advised to mark them as separate sections, as shown in the example.",(0,n.kt)("h2",{id:"header-fields"},"Header Fields"),(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/tev2",title:"Tev2: a set of specifications and tools that caters for the Curation of Terminologies, as well as for its subsequent use in publications of different types (e.g. websites, whitepapers) and formats (e.g. html, LaTeX), as appropriate for different, individual Scopes."},"TEv2")," requires a number of fields to exist, to ensure its correct functioning. However, for specific features of different tools, additional fields may be specified. Here is a list of the fields that are are available for genenic use across the tools:",(0,n.kt)("details",null,(0,n.kt)("summary",null,"Legend"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("strong",{parentName:"li"},(0,n.kt)("inlineCode",{parentName:"strong"},"Name"))," contains the field name;"),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("strong",{parentName:"li"},(0,n.kt)("inlineCode",{parentName:"strong"},"Req'd"))," specifies whether (",(0,n.kt)("inlineCode",{parentName:"li"},"Y"),") or not (",(0,n.kt)("inlineCode",{parentName:"li"},"n"),", or ",(0,n.kt)("inlineCode",{parentName:"li"},"F"),") the field is required to be present as a header field. The ",(0,n.kt)("inlineCode",{parentName:"li"},"F")," means that we reserve this field for Future Use."),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("strong",{parentName:"li"},(0,n.kt)("inlineCode",{parentName:"strong"},"Description"))," specifies the meaning of the field, and other things you may need to know, e.g. why it is needed, a required syntax, etc."))),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:"center"},"Req'd"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"term")),(0,n.kt)("td",{parentName:"tr",align:"center"},"Y"),(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-identifier",title:"Term Identifier: a Text that Identifies a Knowledge Artifact within a particular Scope, and hence also the Curated Text that describes it, which includes its Definition."},"Text")," that ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identifies: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identifies")," a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/knowledge-artifact",title:"Knowledge-artifact: something that can be thought of as existing in a particular Knowledge, e.g. a Concept, or a Mental Model."},"knowledge artifact")," within this ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),", and hence also the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text")," that describes it, which includes its ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/definition",title:"Definition: a text that helps Parties to have the same understanding about the meaning of (and Concepts behind) a Term, ideally in such a way that these Parties can determine whether or not they make the same distinction."},"definition"),". Its value is typically the value of the ",(0,n.kt)("inlineCode",{parentName:"td"},"glossaryTerm")," field, where all characters are made lower-case, any text between parentheses is discarded, and any (sequences of) spaces (or other special characters) are replaced with a ",(0,n.kt)("inlineCode",{parentName:"td"},"-"),"character.",(0,n.kt)("br",null),"The ",(0,n.kt)("a",{parentName:"td",href:"/docs/spec-syntax/term-ref-syntax#term"},(0,n.kt)("inlineCode",{parentName:"a"},"term"),"-field")," of a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRef")," that refers to this ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text")," must match this value.",(0,n.kt)("br",null),"Must satisfy regex ",(0,n.kt)("inlineCode",{parentName:"td"},"[a-z0-9_-]+"),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"termType")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-type",title:"Term Type: a Text that Identifies a particular *kind* of Knowledge Artifact within a particular Scope. Examples include `concept`, `relation`, `pattern` (or `mental-model`)."},"Text")," that ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identifies: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identifies")," the kind of ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/knowledge-artifact",title:"Knowledge-artifact: something that can be thought of as existing in a particular Knowledge, e.g. a Concept, or a Mental Model."},"knowledge artifact")," that this ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text")," describes. Typical values would be ",(0,n.kt)("inlineCode",{parentName:"td"},"concept"),", ",(0,n.kt)("inlineCode",{parentName:"td"},"relation"),", ",(0,n.kt)("inlineCode",{parentName:"td"},"pattern")," (or ",(0,n.kt)("inlineCode",{parentName:"td"},"mental-model"),"), ",(0,n.kt)("inlineCode",{parentName:"td"},"term")," (or ",(0,n.kt)("inlineCode",{parentName:"td"},"alias"),"), or ",(0,n.kt)("inlineCode",{parentName:"td"},"usecase"),".",(0,n.kt)("br",null),"Must satisfy regex ",(0,n.kt)("inlineCode",{parentName:"td"},"[a-z0-9_-]+"),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"isa")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-identifier",title:"Term Identifier: a Text that Identifies a Knowledge Artifact within a particular Scope, and hence also the Curated Text that describes it, which includes its Definition."},"Term identifier")," that ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identifies: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identifies")," the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/knowledge-artifact",title:"Knowledge-artifact: something that can be thought of as existing in a particular Knowledge, e.g. a Concept, or a Mental Model."},"knowledge artifact")," of which this is a specialization.")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"bodyFile")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:null},"Path, relative to the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopedir",title:"Scopedir: a directory in a computer file system that contains all files that are either being Curated within a particular Scope, or generated to serve some purpose within that Scope."},"scopedir"),", that contains the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/body",title:"Body (of a Curated Text) the part of a curated text that comes after its its header (also called the 'front-matter')."},"body")," of this ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text"),". If not specified, the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/body",title:"Body (of a Curated Text) the part of a curated text that comes after its its header (also called the 'front-matter')."},"body")," in this file serves as the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/body",title:"Body (of a Curated Text) the part of a curated text that comes after its its header (also called the 'front-matter')."},"body")," of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text"),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"glossaryTerm")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:null},"Text that is used for the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Term: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"term")," in a human readable ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/glossary",title:"Glossary: an alphabetically sorted list of Terms with the (single) meaning it has in (at least) one context."},"glossary"),". For example, for a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Term: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"term")," called ",(0,n.kt)("inlineCode",{parentName:"td"},"member"),", you may want to specify a glossaryTerm ",(0,n.kt)("inlineCode",{parentName:"td"},'member (of a community)'),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"glossaryText")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:null},"Text that is used as the (raw) contents for the entry of this ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Term: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"term")," in a human readable ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/glossary",title:"Glossary: an alphabetically sorted list of Terms with the (single) meaning it has in (at least) one context."},"glossary"),". This text MUST be expected to contain ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRefs"),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"synonymOf")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-identifier",title:"Term Identifier: a Text that Identifies a Knowledge Artifact within a particular Scope, and hence also the Curated Text that describes it, which includes its Definition."},"Term identifier")," that ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identifies: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identifies")," the defined ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Term: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"term")," of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminological-artifact",title:"Terminological Artifact: a basic building block of meaning or representation, i.e., a 'semantic unit' within the 'mind' of a Scope, such as a Concept, a Relation, or a Property."},"terminological artifact")," for which this is a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/synonym",title:"Synonym: a Term that has the same (or similar) meaning as another Term."},"synonym"),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"grouptags")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:null},"List of ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/grouptag",title:"Grouptags: a Tag that is used to group Terms within a specific Scope."},"grouptags"),", each of which signifies that the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scoped-term",title:"Scoped-term: a Term that represents (and Identifies) a specific Knowledge Artifact of a particular Community (or Party)."},"(scoped) term")," that this ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text")," documents, is part of the group of ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Terms: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"terms")," that it represents.",(0,n.kt)("br",null),"Example: ",(0,n.kt)("inlineCode",{parentName:"td"},"[tev2, management]"),".",(0,n.kt)("br",null),"Must satisfy regex ",(0,n.kt)("a",{parentName:"td",href:"https://www.debuggex.com/r/a51CXl1NzR3kwihT"},(0,n.kt)("inlineCode",{parentName:"a"},"(?:\\[\\s*([a-z0-9_-]+)\\s*(?:,\\s*([a-z0-9_-]+))*\\s*\\])?")),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"formPhrases")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:null},"List of ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/@",title:"Error - the reference cannot be resolved."},"texts")," that are ",(0,n.kt)("a",{parentName:"td",href:"/docs/spec-tools/trrt#id"},"used to convert")," the ",(0,n.kt)("inlineCode",{parentName:"td"},"show text")," parts of ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRefs")," into ",(0,n.kt)("inlineCode",{parentName:"td"},"term"),"s, for the purpose of accommodating plural forms (for nouns) or conjugate forms (for verbs). For details, see ",(0,n.kt)("a",{parentName:"td",href:"/docs/spec-syntax/form-phrase-syntax"},"'Syntax Specs - Form Phrases"),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"status")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:null},"Text that identifies the status of the term. (",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/@",title:"Error - the reference cannot be resolved."},"Communities")," of) ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scopes: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scopes")," may specify values for this field. An example is the ",(0,n.kt)("a",{parentName:"td",href:"https://github.com/trustoverip/concepts-and-terminology-wg/blob/master/docs/status-tags.md"},"status tags used by ToIP"),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"created")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:null},"Date at which of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text")," was created, in the date format as used within this ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"updated")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:null},"Date at which of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text")," was last modified, in the date format as used within this ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"contributors")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:null},"Text that shows (or refers to) the people that have contributed to this ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text"),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"attribution")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:null},"Text that credits the original creation of the texts in the document.")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"originalLicense")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:null},"Reference to the license of the work from which the texts were derived.")))),(0,n.kt)("admonition",{title:"Editor's note",type:"info"},(0,n.kt)("p",{parentName:"admonition"},"Do we need to provide more guidance, e.g., regarding the front matter fields that may be used by the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/trrt",title:"TRRT (TermRef Rendering Tool): a TEv2 Tool that is designed to facilitate the visualization and rendering of TermRefs."},"TRRT")," for converting ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRefs"),", e.g. with popovers (for which it is known that the ",(0,n.kt)("inlineCode",{parentName:"p"},"hoverText")," field is used)?")),(0,n.kt)("div",{className:"footnotes"},(0,n.kt)("hr",{parentName:"div"}),(0,n.kt)("ol",{parentName:"div"},(0,n.kt)("li",{parentName:"ol",id:"fn-1"},"There are exceptions. In some contexts, documentation files may already exist that would properly describe a particular term. For ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/tev2",title:"Tev2: a set of specifications and tools that caters for the Curation of Terminologies, as well as for its subsequent use in publications of different types (e.g. websites, whitepapers) and formats (e.g. html, LaTeX), as appropriate for different, individual Scopes."},"TEv2"),", the documentation of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," is an example: it specifies everything you might want to know about machine readable glossary files. If we could use that file to provide the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text")," for ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRGs"),", that would be very convenient. Since ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-texts: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated texts")," consist of a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/header",title:"Header (of a Curated Text): the part at the beginning of that curated text, that starts with a line that (only) contains three subsequent '-'characters, and that ends with a second occurrance of such a line."},"header")," and a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/body",title:"Body (of a Curated Text) the part of a curated text that comes after its its header (also called the 'front-matter')."},"body"),", instead of stuffing them both in a single ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-file: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated file"),", we have the possibility to have only the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/header",title:"Header (of a Curated Text): the part at the beginning of that curated text, that starts with a line that (only) contains three subsequent '-'characters, and that ends with a second occurrance of such a line."},"header")," in a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-file: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated file"),", and leave the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/body",title:"Body (of a Curated Text) the part of a curated text that comes after its its header (also called the 'front-matter')."},"body")," in the existing document.",(0,n.kt)("a",{parentName:"li",href:"#fnref-1",className:"footnote-backref"},"\u21a9")))))}f.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunktev2_specifications=self.webpackChunktev2_specifications||[]).push([[2468],{3905:function(t,e,i){i.d(e,{Zo:function(){return h},kt:function(){return f}});var a=i(7294);function o(t,e,i){return e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}function n(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,a)}return i}function r(t){for(var e=1;e=0||(o[i]=t[i]);return o}(t,e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(t,i)&&(o[i]=t[i])}return o}var c=a.createContext({}),d=function(t){var e=a.useContext(c),i=e;return t&&(i="function"==typeof t?t(e):r(r({},e),t)),i},h=function(t){var e=d(t.components);return a.createElement(c.Provider,{value:e},t.children)},l={inlineCode:"code",wrapper:function(t){var e=t.children;return a.createElement(a.Fragment,{},e)}},p=a.forwardRef((function(t,e){var i=t.components,o=t.mdxType,n=t.originalType,c=t.parentName,h=s(t,["components","mdxType","originalType","parentName"]),p=d(i),f=o,m=p["".concat(c,".").concat(f)]||p[f]||l[f]||n;return i?a.createElement(m,r(r({ref:e},h),{},{components:i})):a.createElement(m,r({ref:e},h))}));function f(t,e){var i=arguments,o=e&&e.mdxType;if("string"==typeof t||o){var n=i.length,r=new Array(n);r[0]=p;var s={};for(var c in e)hasOwnProperty.call(e,c)&&(s[c]=e[c]);s.originalType=t,s.mdxType="string"==typeof t?t:o,r[1]=s;for(var d=2;dconcept or other knowledge artifact of a specific community or other party, and is located within a scope that is owned by that community/party.\nsynonymOf:\ngrouptags:\nformPhrases: curated-text{ss}, ctext{ss}\n# TEv2 Curation status\nstatus: proposed\ncreated: 2022-06-02\nupdated: 2023-08-14\n# Origins/Acknowledgements\ncontributors: RieksJ\nattribution: "[eSSIF-Lab](https://essif-lab.github.io/framework)"\noriginalLicense: "[CC BY-SA 4.0](http://creativecommons.org/licenses/by-sa/4.0/?ref=chooser-v1)"\n---\n\n# Curated Text\nA curated text starts with three dashes `---`.\nThis indicates the start of its (YAML) header.\nTypically, the header consists of a sequence of key-value pairs.\nThe header is terminated with onother three dashes and a new line.\n\nThe body of the curated text typically starts behind the header block,\nbut it can also be placed in another file within the `scopedir`.\nThe body is typically markdown, but other constructs may be inserted\nthat contribute to the rendering of these texts in a (static) website.\nAn example of this is [MDX](https://mdxjs.com/).\nA discussion on these other constructs is outside the scope of this document.\n')))),(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/header",title:"Header (of a Curated Text): the part at the beginning of that curated text, that starts with a line that (only) contains three subsequent '-'characters, and that ends with a second occurrance of such a line."},"Headers")," of ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-texts: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated texts")," are used by ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/tev2",title:"Tev2: a set of specifications and tools that caters for the Curation of Terminologies, as well as for its subsequent use in publications of different types (e.g. websites, whitepapers) and formats (e.g. html, LaTeX), as appropriate for different, individual Scopes."},"TEv2")," tools, but may also contain entries that are used by other tools, such as static site generators. The example above shows some entries that are used by (the static site generator) Docusaurus. In order to avoid confusion about which entries serve what purposes, it is advised to mark them as separate sections, as shown in the example.",(0,n.kt)("h2",{id:"header-fields"},"Header Fields"),(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/tev2",title:"Tev2: a set of specifications and tools that caters for the Curation of Terminologies, as well as for its subsequent use in publications of different types (e.g. websites, whitepapers) and formats (e.g. html, LaTeX), as appropriate for different, individual Scopes."},"TEv2")," requires a number of fields to exist, to ensure its correct functioning. However, for specific features of different tools, additional fields may be specified. Here is a list of the fields that are are available for genenic use across the tools:",(0,n.kt)("details",null,(0,n.kt)("summary",null,"Legend"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("strong",{parentName:"li"},(0,n.kt)("inlineCode",{parentName:"strong"},"Name"))," contains the field name;"),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("strong",{parentName:"li"},(0,n.kt)("inlineCode",{parentName:"strong"},"Req'd"))," specifies whether (",(0,n.kt)("inlineCode",{parentName:"li"},"Y"),") or not (",(0,n.kt)("inlineCode",{parentName:"li"},"n"),", or ",(0,n.kt)("inlineCode",{parentName:"li"},"F"),") the field is required to be present as a header field. The ",(0,n.kt)("inlineCode",{parentName:"li"},"F")," means that we reserve this field for Future Use."),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("strong",{parentName:"li"},(0,n.kt)("inlineCode",{parentName:"strong"},"Description"))," specifies the meaning of the field, and other things you may need to know, e.g. why it is needed, a required syntax, etc."))),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:"center"},"Req'd"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"term")),(0,n.kt)("td",{parentName:"tr",align:"center"},"Y"),(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-identifier",title:"Term Identifier: a Text that Identifies a Knowledge Artifact within a particular Scope, and hence also the Curated Text that describes it, which includes its Definition."},"Text")," that ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identifies: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identifies")," a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/knowledge-artifact",title:"Knowledge-artifact: something that can be thought of as existing in a particular Knowledge, e.g. a Concept, or a Mental Model."},"knowledge artifact")," within this ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),", and hence also the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text")," that describes it, which includes its ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/definition",title:"Definition: a text that helps Parties to have the same understanding about the meaning of (and Concepts behind) a Term, ideally in such a way that these Parties can determine whether or not they make the same distinction."},"definition"),". Its value is typically the value of the ",(0,n.kt)("inlineCode",{parentName:"td"},"glossaryTerm")," field, where all characters are made lower-case, any text between parentheses is discarded, and any (sequences of) spaces (or other special characters) are replaced with a ",(0,n.kt)("inlineCode",{parentName:"td"},"-"),"character.",(0,n.kt)("br",null),"The ",(0,n.kt)("a",{parentName:"td",href:"/docs/spec-syntax/term-ref-syntax#term"},(0,n.kt)("inlineCode",{parentName:"a"},"term"),"-field")," of a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRef")," that refers to this ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text")," must match this value.",(0,n.kt)("br",null),"Must satisfy regex ",(0,n.kt)("inlineCode",{parentName:"td"},"[a-z0-9_-]+"),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"termType")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-type",title:"Term Type: a Text that Identifies a particular *kind* of Knowledge Artifact within a particular Scope. Examples include `concept`, `relation`, `pattern` (or `mental-model`)."},"Text")," that ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identifies: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identifies")," the kind of ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/knowledge-artifact",title:"Knowledge-artifact: something that can be thought of as existing in a particular Knowledge, e.g. a Concept, or a Mental Model."},"knowledge artifact")," that this ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text")," describes. Typical values would be ",(0,n.kt)("inlineCode",{parentName:"td"},"concept"),", ",(0,n.kt)("inlineCode",{parentName:"td"},"relation"),", ",(0,n.kt)("inlineCode",{parentName:"td"},"pattern")," (or ",(0,n.kt)("inlineCode",{parentName:"td"},"mental-model"),"), ",(0,n.kt)("inlineCode",{parentName:"td"},"term")," (or ",(0,n.kt)("inlineCode",{parentName:"td"},"alias"),"), or ",(0,n.kt)("inlineCode",{parentName:"td"},"usecase"),".",(0,n.kt)("br",null),"Must satisfy regex ",(0,n.kt)("inlineCode",{parentName:"td"},"[a-z0-9_-]+"),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"isa")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-identifier",title:"Term Identifier: a Text that Identifies a Knowledge Artifact within a particular Scope, and hence also the Curated Text that describes it, which includes its Definition."},"Term identifier")," that ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identifies: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identifies")," the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/knowledge-artifact",title:"Knowledge-artifact: something that can be thought of as existing in a particular Knowledge, e.g. a Concept, or a Mental Model."},"knowledge artifact")," of which this is a specialization.")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"bodyFile")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:null},"Path, relative to the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopedir",title:"Scopedir: a directory in a computer file system that contains all files that are either being Curated within a particular Scope, or generated to serve some purpose within that Scope."},"scopedir"),", that contains the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/body",title:"Body (of a Curated Text) the part of a curated text that comes after its its header (also called the 'front-matter')."},"body")," of this ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text"),". If not specified, the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/body",title:"Body (of a Curated Text) the part of a curated text that comes after its its header (also called the 'front-matter')."},"body")," in this file serves as the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/body",title:"Body (of a Curated Text) the part of a curated text that comes after its its header (also called the 'front-matter')."},"body")," of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text"),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"glossaryTerm")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:null},"Text that is used for the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Term: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"term")," in a human readable ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/glossary",title:"Glossary: an alphabetically sorted list of Terms with the (single) meaning it has in (at least) one context."},"glossary"),". For example, for a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Term: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"term")," called ",(0,n.kt)("inlineCode",{parentName:"td"},"member"),", you may want to specify a glossaryTerm ",(0,n.kt)("inlineCode",{parentName:"td"},'member (of a community)'),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"glossaryText")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:null},"Text that is used as the (raw) contents for the entry of this ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Term: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"term")," in a human readable ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/glossary",title:"Glossary: an alphabetically sorted list of Terms with the (single) meaning it has in (at least) one context."},"glossary"),". This text MUST be expected to contain ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRefs"),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"synonymOf")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-identifier",title:"Term Identifier: a Text that Identifies a Knowledge Artifact within a particular Scope, and hence also the Curated Text that describes it, which includes its Definition."},"Term identifier")," that ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identifies: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identifies")," the defined ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Term: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"term")," of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminological-artifact",title:"Terminological Artifact: a basic building block of meaning or representation, i.e., a 'semantic unit' within the 'mind' of a Scope, such as a Concept, a Relation, or a Property."},"terminological artifact")," for which this is a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/synonym",title:"Synonym: a Term that has the same (or similar) meaning as another Term."},"synonym"),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"grouptags")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:null},"List of ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/grouptag",title:"Grouptags: a Tag that is used to group Terms within a specific Scope."},"grouptags"),", each of which signifies that the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scoped-term",title:"Scoped-term: a Term that represents (and Identifies) a specific Knowledge Artifact of a particular Community (or Party)."},"(scoped) term")," that this ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text")," documents, is part of the group of ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Terms: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"terms")," that it represents.",(0,n.kt)("br",null),"Example: ",(0,n.kt)("inlineCode",{parentName:"td"},"[tev2, management]"),".",(0,n.kt)("br",null),"Must satisfy regex ",(0,n.kt)("a",{parentName:"td",href:"https://www.debuggex.com/r/a51CXl1NzR3kwihT"},(0,n.kt)("inlineCode",{parentName:"a"},"(?:\\[\\s*([a-z0-9_-]+)\\s*(?:,\\s*([a-z0-9_-]+))*\\s*\\])?")),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"formPhrases")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:null},"List of ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/@",title:"Error - the reference cannot be resolved."},"texts")," that are ",(0,n.kt)("a",{parentName:"td",href:"/docs/spec-tools/trrt#id"},"used to convert")," the ",(0,n.kt)("inlineCode",{parentName:"td"},"show text")," parts of ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRefs")," into ",(0,n.kt)("inlineCode",{parentName:"td"},"term"),"s, for the purpose of accommodating plural forms (for nouns) or conjugate forms (for verbs). For details, see ",(0,n.kt)("a",{parentName:"td",href:"/docs/spec-syntax/form-phrase-syntax"},"'Syntax Specs - Form Phrases"),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"status")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:null},"Text that identifies the status of the term. (",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/@",title:"Error - the reference cannot be resolved."},"Communities")," of) ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scopes: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scopes")," may specify values for this field. An example is the ",(0,n.kt)("a",{parentName:"td",href:"https://github.com/trustoverip/concepts-and-terminology-wg/blob/master/docs/status-tags.md"},"status tags used by ToIP"),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"created")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:null},"Date at which of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text")," was created, in the date format as used within this ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"updated")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:null},"Date at which of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text")," was last modified, in the date format as used within this ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"contributors")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:null},"Text that shows (or refers to) the people that have contributed to this ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text"),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"attribution")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:null},"Text that credits the original creation of the texts in the document.")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"originalLicense")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:null},"Reference to the license of the work from which the texts were derived.")))),(0,n.kt)("admonition",{title:"Editor's note",type:"info"},(0,n.kt)("p",{parentName:"admonition"},"Do we need to provide more guidance, e.g., regarding the front matter fields that may be used by the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/trrt",title:"TRRT (TermRef Rendering Tool): a TEv2 Tool that is designed to facilitate the visualization and rendering of TermRefs."},"TRRT")," for converting ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRefs"),", e.g. with popovers (for which it is known that the ",(0,n.kt)("inlineCode",{parentName:"p"},"hoverText")," field is used)?")),(0,n.kt)("div",{className:"footnotes"},(0,n.kt)("hr",{parentName:"div"}),(0,n.kt)("ol",{parentName:"div"},(0,n.kt)("li",{parentName:"ol",id:"fn-1"},"There are exceptions. In some contexts, documentation files may already exist that would properly describe a particular term. For ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/tev2",title:"Tev2: a set of specifications and tools that caters for the Curation of Terminologies, as well as for its subsequent use in publications of different types (e.g. websites, whitepapers) and formats (e.g. html, LaTeX), as appropriate for different, individual Scopes."},"TEv2"),", the documentation of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," is an example: it specifies everything you might want to know about machine readable glossary files. If we could use that file to provide the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text")," for ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRGs"),", that would be very convenient. Since ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-texts: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated texts")," consist of a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/header",title:"Header (of a Curated Text): the part at the beginning of that curated text, that starts with a line that (only) contains three subsequent '-'characters, and that ends with a second occurrance of such a line."},"header")," and a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/body",title:"Body (of a Curated Text) the part of a curated text that comes after its its header (also called the 'front-matter')."},"body"),", instead of stuffing them both in a single ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-file: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated file"),", we have the possibility to have only the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/header",title:"Header (of a Curated Text): the part at the beginning of that curated text, that starts with a line that (only) contains three subsequent '-'characters, and that ends with a second occurrance of such a line."},"header")," in a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-file: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated file"),", and leave the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/body",title:"Body (of a Curated Text) the part of a curated text that comes after its its header (also called the 'front-matter')."},"body")," in the existing document.",(0,n.kt)("a",{parentName:"li",href:"#fnref-1",className:"footnote-backref"},"\u21a9")))))}f.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/7567abf2.b28dcc17.js b/assets/js/7567abf2.2beddb00.js similarity index 99% rename from assets/js/7567abf2.b28dcc17.js rename to assets/js/7567abf2.2beddb00.js index d241a15857..009fa2425e 100644 --- a/assets/js/7567abf2.b28dcc17.js +++ b/assets/js/7567abf2.2beddb00.js @@ -1 +1 @@ -"use strict";(self.webpackChunktev2_specifications=self.webpackChunktev2_specifications||[]).push([[8948],{3905:function(t,e,i){i.d(e,{Zo:function(){return d},kt:function(){return p}});var a=i(7294);function o(t,e,i){return e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}function n(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,a)}return i}function s(t){for(var e=1;e=0||(o[i]=t[i]);return o}(t,e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(t,i)&&(o[i]=t[i])}return o}var c=a.createContext({}),l=function(t){var e=a.useContext(c),i=e;return t&&(i="function"==typeof t?t(e):s(s({},e),t)),i},d=function(t){var e=l(t.components);return a.createElement(c.Provider,{value:e},t.children)},h={inlineCode:"code",wrapper:function(t){var e=t.children;return a.createElement(a.Fragment,{},e)}},m=a.forwardRef((function(t,e){var i=t.components,o=t.mdxType,n=t.originalType,c=t.parentName,d=r(t,["components","mdxType","originalType","parentName"]),m=l(i),p=o,f=m["".concat(c,".").concat(p)]||m[p]||h[p]||n;return i?a.createElement(f,s(s({ref:e},d),{},{components:i})):a.createElement(f,s({ref:e},d))}));function p(t,e){var i=arguments,o=e&&e.mdxType;if("string"==typeof t||o){var n=i.length,s=new Array(n);s[0]=m;var r={};for(var c in e)hasOwnProperty.call(e,c)&&(r[c]=e[c]);r.originalType=t,r.mdxType="string"==typeof t?t:o,s[1]=r;for(var l=2;l=0||(o[i]=t[i]);return o}(t,e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(t,i)&&(o[i]=t[i])}return o}var c=a.createContext({}),l=function(t){var e=a.useContext(c),i=e;return t&&(i="function"==typeof t?t(e):s(s({},e),t)),i},d=function(t){var e=l(t.components);return a.createElement(c.Provider,{value:e},t.children)},h={inlineCode:"code",wrapper:function(t){var e=t.children;return a.createElement(a.Fragment,{},e)}},m=a.forwardRef((function(t,e){var i=t.components,o=t.mdxType,n=t.originalType,c=t.parentName,d=r(t,["components","mdxType","originalType","parentName"]),m=l(i),p=o,f=m["".concat(c,".").concat(p)]||m[p]||h[p]||n;return i?a.createElement(f,s(s({ref:e},d),{},{components:i})):a.createElement(f,s({ref:e},d))}));function p(t,e){var i=arguments,o=e&&e.mdxType;if("string"==typeof t||o){var n=i.length,s=new Array(n);s[0]=m;var r={};for(var c in e)hasOwnProperty.call(e,c)&&(r[c]=e[c]);r.originalType=t,r.mdxType="string"==typeof t?t:o,s[1]=r;for(var l=2;l=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var c=r.createContext({}),u=function(e){var t=r.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):a(a({},t),e)),n},l=function(e){var t=u(e.components);return r.createElement(c.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},p=r.forwardRef((function(e,t){var n=e.components,o=e.mdxType,i=e.originalType,c=e.parentName,l=s(e,["components","mdxType","originalType","parentName"]),p=u(n),m=o,f=p["".concat(c,".").concat(m)]||p[m]||d[m]||i;return n?r.createElement(f,a(a({ref:t},l),{},{components:n})):r.createElement(f,a({ref:t},l))}));function m(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var i=n.length,a=new Array(i);a[0]=p;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s.mdxType="string"==typeof e?e:o,a[1]=s;for(var u=2;u=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var c=r.createContext({}),u=function(e){var t=r.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):a(a({},t),e)),n},l=function(e){var t=u(e.components);return r.createElement(c.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},p=r.forwardRef((function(e,t){var n=e.components,o=e.mdxType,i=e.originalType,c=e.parentName,l=s(e,["components","mdxType","originalType","parentName"]),p=u(n),m=o,f=p["".concat(c,".").concat(m)]||p[m]||d[m]||i;return n?r.createElement(f,a(a({ref:t},l),{},{components:n})):r.createElement(f,a({ref:t},l))}));function m(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var i=n.length,a=new Array(i);a[0]=p;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s.mdxType="string"==typeof e?e:o,a[1]=s;for(var u=2;u=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var l=a.createContext({}),h=function(e){var t=a.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):s(s({},t),e)),n},c=function(e){var t=h(e.components);return a.createElement(l.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},d=a.forwardRef((function(e,t){var n=e.components,i=e.mdxType,o=e.originalType,l=e.parentName,c=r(e,["components","mdxType","originalType","parentName"]),d=h(n),m=i,u=d["".concat(l,".").concat(m)]||d[m]||p[m]||o;return n?a.createElement(u,s(s({ref:t},c),{},{components:n})):a.createElement(u,s({ref:t},c))}));function m(e,t){var n=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var o=n.length,s=new Array(o);s[0]=d;var r={};for(var l in t)hasOwnProperty.call(t,l)&&(r[l]=t[l]);r.originalType=e,r.mdxType="string"==typeof e?e:i,s[1]=r;for(var h=2;h ")," (Person owns House) suggests the phrase that describes the intension(al definition) of that relation. The (operational) extension of a relation embraces all pairs (SRC,TGT) for which the relation holds. In the example, it consists of all pairs (P,H), where P is a Person and H is a House, such that the phrase 'P owns H' is true."),(0,o.kt)("p",null,"A ",(0,o.kt)("strong",{parentName:"p"},"green name")," at either ",(0,o.kt)("a",{parentName:"p",href:"https://www.uml-diagrams.org/association.html#association-end"},"end of a relation/association")," is what UML calls 'role'; this name may be used to refer to (an instance of) the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/concept",title:"Concept: a Knowledge Artifact that captures the ideas/thoughts behind a classification of Entities (what makes Entities in that class 'the same')."},"concept")," at which the name is placed as it performs its/this role in this relation. In the figure, ",(0,o.kt)("inlineCode",{parentName:"p"},"owner")," is the role that a Person fulfills in the relation 'owns'. If we assert that a Person (P) is the owner of a specific House (H), or that House H is owned by Person P, this means that (P,H) is an element of the extension of the relation 'owns'."),(0,o.kt)("p",null,"A ",(0,o.kt)("strong",{parentName:"p"},"solid line with an open arrowhead"),", represents a ",(0,o.kt)("a",{parentName:"p",href:"https://www.uml-diagrams.org/generalization.html"},"generalization relation"),". It can be read as ",(0,o.kt)("inlineCode",{parentName:"p"}," is a "),", and is therefore also referred to as an ISA-relation. The SRC of the relation is the specialization (subclass) of the TGT (which in turn is a generalization of SRC). This means that SRC satisfies all constraints that TGT satisfies, and also that SRC has all attributes (properties, characteristics) that TGT has. The figure shows 'Self Employed Retailer is a Person' as an example."),(0,o.kt)("p",null,"A ",(0,o.kt)("strong",{parentName:"p"},"line with a solid diamond")," at one end represents a ",(0,o.kt)("a",{parentName:"p",href:"https://www.uml-diagrams.org/composition.html"},"composition")," relation. The element at the 'diamond-end' is called the 'parent', or the 'whole'. The other element is called the 'child' or the 'part'. A 'part' in a composition relation cannot be part of more than one 'whole'. Normally, if a 'whole' in a composition relation ceases to exist, then so do all of its composite parts. In the figure, at least one Bedroom and precisely one Living Room are parts of a (every) House. Obviously, if a House ceases to exist, then so do these rooms."),(0,o.kt)("p",null,"A ",(0,o.kt)("strong",{parentName:"p"},"line with a hollow diamond")," at one end represents an ",(0,o.kt)("a",{parentName:"p",href:"https://www.uml-diagrams.org/aggregation.html"},"aggregation")," relation. The element at the 'diamond-end' is called the 'parent', or the 'whole'. The other element is called the 'child' or the 'part'. A 'part' can be a part in multiple aggregation relations, and hence be part of multiple 'wholes'. If a 'whole' in an aggregation relation ceases to exist, the parts typically continue their existence. In the figure, 'Documentation' (about a Building Type) is an aggregation of a 'User Manual' and at least one 'Technical Document'. Obviously, if the Documentation ceases to exist, then the 'User Manual' and 'Technical Documents' typically continue to exist."),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},"A ",(0,o.kt)("strong",{parentName:"p"},"dashed line")," with a pointed arrow (",(0,o.kt)("inlineCode",{parentName:"p"},">"),") represents a ",(0,o.kt)("a",{parentName:"p",href:"https://www.uml-diagrams.org/dependency.html"},"dependency"),", where the SRC concept somehow depends on the TGT concept. The kind of dependency is specified by a ",(0,o.kt)("inlineCode",{parentName:"p"},"<>"),". In the figure, we see a dependency relation relation ",(0,o.kt)("inlineCode",{parentName:"p"},"<>"),", indicating that 'House' is a specific instance of 'Building Type'.")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},"A ",(0,o.kt)("strong",{parentName:"p"},"[n..m]")," structure represents a ",(0,o.kt)("a",{parentName:"p",href:"https://www.uml-diagrams.org/multiplicity.html"},"multiplicity"),". When it appears"),(0,o.kt)("ul",{parentName:"li"},(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"at the TGT end of a relation"),", it means that for every SRC element there must be at least ",(0,o.kt)("em",{parentName:"li"},"n")," and at most ",(0,o.kt)("em",{parentName:"li"},"m")," TGT elements in the relation. For example, the ","[0..n]"," multiplicity in the 'owns' relation in the figure means that for every 'Person' element, there must be at least 0 and at most ",(0,o.kt)("em",{parentName:"li"},"n")," (i.e. any number) 'House' elements. Effectively, this says that every Person can own any number of Houses."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"at the SRC end of a relation"),", it means that for every TGT element there must be at least ",(0,o.kt)("em",{parentName:"li"},"n")," and at most ",(0,o.kt)("em",{parentName:"li"},"m")," SRC elements in the relation. For example, the ","[0..1]"," multiplicity in the 'owns' relation in the figure means that for every 'House' element, there must be at least 0 and at most 1 'Person' elements. Effectively, this means that every House can be owned by at most 1 Person."),(0,o.kt)("li",{parentName:"ul"},"is typically of any of the following forms (although there may be others, e.g. ","[1..2]","):\n","[0..1]",": at most one;\n","[1..1]",": precisely one;\n","[0..n]",": any number - as this is not a constraint, this is the default multiplicity and may be omitted;\n","[1..n]",": at least one.\nNote that the term ",(0,o.kt)("em",{parentName:"li"},"multiplicity")," is distinct from ",(0,o.kt)("em",{parentName:"li"},"cardinality"),", the difference being that a cardinality states the ",(0,o.kt)("em",{parentName:"li"},"actual")," number of SRC/TGT elements that a specific TGT/SRC element has in a relation, whereas a multiplicity states the ",(0,o.kt)("em",{parentName:"li"},"possible")," number of such elements. In short, the multiplicity is the set of all possible cardinalities in a relation. We note this becaus it is common practice for people to use the term 'cardinality' where 'multiplicity' is intended."))),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},"a ",(0,o.kt)("strong",{parentName:"p"},"named and coloured area"),", e.g. the green area named ",(0,o.kt)("inlineCode",{parentName:"p"},"House Ownership")," is the aggregate (Parent/Whole) of all concepts (rectangular elements) therein, which are its children/parts. This aggregate can be linked/associated with any other concept, including its children/parts."))),(0,o.kt)("h3",{id:"notational-exceptions"},"Notational Exceptions"),(0,o.kt)("p",null,"The following notational conventions are not used by ",(0,o.kt)("a",{parentName:"p",href:"https://www.uml-diagrams.org/"},"UML"),", but are specific to our use."),(0,o.kt)("p",null,"We use a ",(0,o.kt)("strong",{parentName:"p"},"coloring convention")," to distinguish between what is 'officially' part of the eSSIF-Lab models, and parts that are not."),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"blue")," is used to color the lines and other symbols that are part of the 'official' models. Typically, they are explicitly defined or otherwise explained, e.g. in a ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mental-model",title:"Mental-model: A Knowledge Artifact that relates a set of Concepts (ideas), Relations between them, and constraints about a certain topic, into a coherent and consistent whole (sometimes called 'viewpoint', or 'way of thinking')."},"mental model"),". Their definitions/meanings may differ from 'common knowledge'."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"red")," is used to color the lines and other symbols that are part of our 'common knowledge', and hence need not be explicitly defined. They appear to explain where eSSIF-Lab models link to these commonly known/used concepts. We think of them as necessary in order to bridge possible gaps between 'common understanding' and the eSSIF-Lab ways of thinking. Whenever a 'red concept' is nevertheless defined, this is for the purpose of conveying what we conceive the 'common knowledge' to be.")),(0,o.kt)("p",null,"We use a ",(0,o.kt)("strong",{parentName:"p"},"line typing convention")," within a diagram, as follows:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"solid lines")," are used for lines and other symbols that are part of the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mental-model",title:"Mental-model: A Knowledge Artifact that relates a set of Concepts (ideas), Relations between them, and constraints about a certain topic, into a coherent and consistent whole (sometimes called 'viewpoint', or 'way of thinking')."},"mental model")," that is represented by the diagram;"),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"dashed lines")," are used for lines and other symbols that are (authoritatively) defined elsewhere.\nFor example, the concept ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/@",title:"Error - the reference cannot be resolved."},"party")," is authoritatively defined in the ",(0,o.kt)("a",{parentName:"li",href:"pattern-party-actor-action@essif-lab"},"party, actor and action pattern"),", so the diagram there shows a solid (blue) line for that concept. It also appears in other diagrams, e.g. in the ",(0,o.kt)("a",{parentName:"li",href:"pattern-jurisdiction@essif-lab"},"jurisdiction pattern"),", where the concept is represented with a (blue) dashed line.")))}u.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunktev2_specifications=self.webpackChunktev2_specifications||[]).push([[1789],{3905:function(e,t,n){n.d(t,{Zo:function(){return c},kt:function(){return m}});var a=n(7294);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function s(e){for(var t=1;t=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var l=a.createContext({}),h=function(e){var t=a.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):s(s({},t),e)),n},c=function(e){var t=h(e.components);return a.createElement(l.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},d=a.forwardRef((function(e,t){var n=e.components,i=e.mdxType,o=e.originalType,l=e.parentName,c=r(e,["components","mdxType","originalType","parentName"]),d=h(n),m=i,u=d["".concat(l,".").concat(m)]||d[m]||p[m]||o;return n?a.createElement(u,s(s({ref:t},c),{},{components:n})):a.createElement(u,s({ref:t},c))}));function m(e,t){var n=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var o=n.length,s=new Array(o);s[0]=d;var r={};for(var l in t)hasOwnProperty.call(t,l)&&(r[l]=t[l]);r.originalType=e,r.mdxType="string"==typeof e?e:i,s[1]=r;for(var h=2;h ")," (Person owns House) suggests the phrase that describes the intension(al definition) of that relation. The (operational) extension of a relation embraces all pairs (SRC,TGT) for which the relation holds. In the example, it consists of all pairs (P,H), where P is a Person and H is a House, such that the phrase 'P owns H' is true."),(0,o.kt)("p",null,"A ",(0,o.kt)("strong",{parentName:"p"},"green name")," at either ",(0,o.kt)("a",{parentName:"p",href:"https://www.uml-diagrams.org/association.html#association-end"},"end of a relation/association")," is what UML calls 'role'; this name may be used to refer to (an instance of) the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/concept",title:"Concept: a Knowledge Artifact that captures the ideas/thoughts behind a classification of Entities (what makes Entities in that class 'the same')."},"concept")," at which the name is placed as it performs its/this role in this relation. In the figure, ",(0,o.kt)("inlineCode",{parentName:"p"},"owner")," is the role that a Person fulfills in the relation 'owns'. If we assert that a Person (P) is the owner of a specific House (H), or that House H is owned by Person P, this means that (P,H) is an element of the extension of the relation 'owns'."),(0,o.kt)("p",null,"A ",(0,o.kt)("strong",{parentName:"p"},"solid line with an open arrowhead"),", represents a ",(0,o.kt)("a",{parentName:"p",href:"https://www.uml-diagrams.org/generalization.html"},"generalization relation"),". It can be read as ",(0,o.kt)("inlineCode",{parentName:"p"}," is a "),", and is therefore also referred to as an ISA-relation. The SRC of the relation is the specialization (subclass) of the TGT (which in turn is a generalization of SRC). This means that SRC satisfies all constraints that TGT satisfies, and also that SRC has all attributes (properties, characteristics) that TGT has. The figure shows 'Self Employed Retailer is a Person' as an example."),(0,o.kt)("p",null,"A ",(0,o.kt)("strong",{parentName:"p"},"line with a solid diamond")," at one end represents a ",(0,o.kt)("a",{parentName:"p",href:"https://www.uml-diagrams.org/composition.html"},"composition")," relation. The element at the 'diamond-end' is called the 'parent', or the 'whole'. The other element is called the 'child' or the 'part'. A 'part' in a composition relation cannot be part of more than one 'whole'. Normally, if a 'whole' in a composition relation ceases to exist, then so do all of its composite parts. In the figure, at least one Bedroom and precisely one Living Room are parts of a (every) House. Obviously, if a House ceases to exist, then so do these rooms."),(0,o.kt)("p",null,"A ",(0,o.kt)("strong",{parentName:"p"},"line with a hollow diamond")," at one end represents an ",(0,o.kt)("a",{parentName:"p",href:"https://www.uml-diagrams.org/aggregation.html"},"aggregation")," relation. The element at the 'diamond-end' is called the 'parent', or the 'whole'. The other element is called the 'child' or the 'part'. A 'part' can be a part in multiple aggregation relations, and hence be part of multiple 'wholes'. If a 'whole' in an aggregation relation ceases to exist, the parts typically continue their existence. In the figure, 'Documentation' (about a Building Type) is an aggregation of a 'User Manual' and at least one 'Technical Document'. Obviously, if the Documentation ceases to exist, then the 'User Manual' and 'Technical Documents' typically continue to exist."),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},"A ",(0,o.kt)("strong",{parentName:"p"},"dashed line")," with a pointed arrow (",(0,o.kt)("inlineCode",{parentName:"p"},">"),") represents a ",(0,o.kt)("a",{parentName:"p",href:"https://www.uml-diagrams.org/dependency.html"},"dependency"),", where the SRC concept somehow depends on the TGT concept. The kind of dependency is specified by a ",(0,o.kt)("inlineCode",{parentName:"p"},"<>"),". In the figure, we see a dependency relation relation ",(0,o.kt)("inlineCode",{parentName:"p"},"<>"),", indicating that 'House' is a specific instance of 'Building Type'.")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},"A ",(0,o.kt)("strong",{parentName:"p"},"[n..m]")," structure represents a ",(0,o.kt)("a",{parentName:"p",href:"https://www.uml-diagrams.org/multiplicity.html"},"multiplicity"),". When it appears"),(0,o.kt)("ul",{parentName:"li"},(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"at the TGT end of a relation"),", it means that for every SRC element there must be at least ",(0,o.kt)("em",{parentName:"li"},"n")," and at most ",(0,o.kt)("em",{parentName:"li"},"m")," TGT elements in the relation. For example, the ","[0..n]"," multiplicity in the 'owns' relation in the figure means that for every 'Person' element, there must be at least 0 and at most ",(0,o.kt)("em",{parentName:"li"},"n")," (i.e. any number) 'House' elements. Effectively, this says that every Person can own any number of Houses."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"at the SRC end of a relation"),", it means that for every TGT element there must be at least ",(0,o.kt)("em",{parentName:"li"},"n")," and at most ",(0,o.kt)("em",{parentName:"li"},"m")," SRC elements in the relation. For example, the ","[0..1]"," multiplicity in the 'owns' relation in the figure means that for every 'House' element, there must be at least 0 and at most 1 'Person' elements. Effectively, this means that every House can be owned by at most 1 Person."),(0,o.kt)("li",{parentName:"ul"},"is typically of any of the following forms (although there may be others, e.g. ","[1..2]","):\n","[0..1]",": at most one;\n","[1..1]",": precisely one;\n","[0..n]",": any number - as this is not a constraint, this is the default multiplicity and may be omitted;\n","[1..n]",": at least one.\nNote that the term ",(0,o.kt)("em",{parentName:"li"},"multiplicity")," is distinct from ",(0,o.kt)("em",{parentName:"li"},"cardinality"),", the difference being that a cardinality states the ",(0,o.kt)("em",{parentName:"li"},"actual")," number of SRC/TGT elements that a specific TGT/SRC element has in a relation, whereas a multiplicity states the ",(0,o.kt)("em",{parentName:"li"},"possible")," number of such elements. In short, the multiplicity is the set of all possible cardinalities in a relation. We note this becaus it is common practice for people to use the term 'cardinality' where 'multiplicity' is intended."))),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},"a ",(0,o.kt)("strong",{parentName:"p"},"named and coloured area"),", e.g. the green area named ",(0,o.kt)("inlineCode",{parentName:"p"},"House Ownership")," is the aggregate (Parent/Whole) of all concepts (rectangular elements) therein, which are its children/parts. This aggregate can be linked/associated with any other concept, including its children/parts."))),(0,o.kt)("h3",{id:"notational-exceptions"},"Notational Exceptions"),(0,o.kt)("p",null,"The following notational conventions are not used by ",(0,o.kt)("a",{parentName:"p",href:"https://www.uml-diagrams.org/"},"UML"),", but are specific to our use."),(0,o.kt)("p",null,"We use a ",(0,o.kt)("strong",{parentName:"p"},"coloring convention")," to distinguish between what is 'officially' part of the eSSIF-Lab models, and parts that are not."),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"blue")," is used to color the lines and other symbols that are part of the 'official' models. Typically, they are explicitly defined or otherwise explained, e.g. in a ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mental-model",title:"Mental-model: A Knowledge Artifact that relates a set of Concepts (ideas), Relations between them, and constraints about a certain topic, into a coherent and consistent whole (sometimes called 'viewpoint', or 'way of thinking')."},"mental model"),". Their definitions/meanings may differ from 'common knowledge'."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"red")," is used to color the lines and other symbols that are part of our 'common knowledge', and hence need not be explicitly defined. They appear to explain where eSSIF-Lab models link to these commonly known/used concepts. We think of them as necessary in order to bridge possible gaps between 'common understanding' and the eSSIF-Lab ways of thinking. Whenever a 'red concept' is nevertheless defined, this is for the purpose of conveying what we conceive the 'common knowledge' to be.")),(0,o.kt)("p",null,"We use a ",(0,o.kt)("strong",{parentName:"p"},"line typing convention")," within a diagram, as follows:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"solid lines")," are used for lines and other symbols that are part of the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mental-model",title:"Mental-model: A Knowledge Artifact that relates a set of Concepts (ideas), Relations between them, and constraints about a certain topic, into a coherent and consistent whole (sometimes called 'viewpoint', or 'way of thinking')."},"mental model")," that is represented by the diagram;"),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"dashed lines")," are used for lines and other symbols that are (authoritatively) defined elsewhere.\nFor example, the concept ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/@",title:"Error - the reference cannot be resolved."},"party")," is authoritatively defined in the ",(0,o.kt)("a",{parentName:"li",href:"pattern-party-actor-action@essif-lab"},"party, actor and action pattern"),", so the diagram there shows a solid (blue) line for that concept. It also appears in other diagrams, e.g. in the ",(0,o.kt)("a",{parentName:"li",href:"pattern-jurisdiction@essif-lab"},"jurisdiction pattern"),", where the concept is represented with a (blue) dashed line.")))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/79495b8c.7b403f0b.js b/assets/js/79495b8c.0936b735.js similarity index 99% rename from assets/js/79495b8c.7b403f0b.js rename to assets/js/79495b8c.0936b735.js index 63238b633b..4cb8f9ac11 100644 --- a/assets/js/79495b8c.7b403f0b.js +++ b/assets/js/79495b8c.0936b735.js @@ -1 +1 @@ -"use strict";(self.webpackChunktev2_specifications=self.webpackChunktev2_specifications||[]).push([[6122],{3905:function(e,t,o){o.d(t,{Zo:function(){return m},kt:function(){return u}});var n=o(7294);function i(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function r(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,n)}return o}function a(e){for(var t=1;t=0||(i[o]=e[o]);return i}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(i[o]=e[o])}return i}var c=n.createContext({}),l=function(e){var t=n.useContext(c),o=t;return e&&(o="function"==typeof e?e(t):a(a({},t),e)),o},m=function(e){var t=l(e.components);return n.createElement(c.Provider,{value:t},e.children)},h={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},d=n.forwardRef((function(e,t){var o=e.components,i=e.mdxType,r=e.originalType,c=e.parentName,m=s(e,["components","mdxType","originalType","parentName"]),d=l(o),u=i,g=d["".concat(c,".").concat(u)]||d[u]||h[u]||r;return o?n.createElement(g,a(a({ref:t},m),{},{components:o})):n.createElement(g,a({ref:t},m))}));function u(e,t){var o=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var r=o.length,a=new Array(r);a[0]=d;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s.mdxType="string"==typeof e?e:i,a[1]=s;for(var l=2;l=0||(i[o]=e[o]);return i}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(i[o]=e[o])}return i}var c=n.createContext({}),l=function(e){var t=n.useContext(c),o=t;return e&&(o="function"==typeof e?e(t):a(a({},t),e)),o},m=function(e){var t=l(e.components);return n.createElement(c.Provider,{value:t},e.children)},h={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},d=n.forwardRef((function(e,t){var o=e.components,i=e.mdxType,r=e.originalType,c=e.parentName,m=s(e,["components","mdxType","originalType","parentName"]),d=l(o),u=i,g=d["".concat(c,".").concat(u)]||d[u]||h[u]||r;return o?n.createElement(g,a(a({ref:t},m),{},{components:o})):n.createElement(g,a({ref:t},m))}));function u(e,t){var o=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var r=o.length,a=new Array(r);a[0]=d;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s.mdxType="string"==typeof e?e:i,a[1]=s;for(var l=2;l=0||(n[i]=t[i]);return n}(t,e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(t,i)&&(n[i]=t[i])}return n}var c=o.createContext({}),h=function(t){var e=o.useContext(c),i=e;return t&&(i="function"==typeof t?t(e):a(a({},e),t)),i},l=function(t){var e=h(t.components);return o.createElement(c.Provider,{value:e},t.children)},d={inlineCode:"code",wrapper:function(t){var e=t.children;return o.createElement(o.Fragment,{},e)}},p=o.forwardRef((function(t,e){var i=t.components,n=t.mdxType,s=t.originalType,c=t.parentName,l=r(t,["components","mdxType","originalType","parentName"]),p=h(i),f=n,g=p["".concat(c,".").concat(f)]||p[f]||d[f]||s;return i?o.createElement(g,a(a({ref:e},l),{},{components:i})):o.createElement(g,a({ref:e},l))}));function f(t,e){var i=arguments,n=e&&e.mdxType;if("string"==typeof t||n){var s=i.length,a=new Array(s);a[0]=p;var r={};for(var c in e)hasOwnProperty.call(e,c)&&(r[c]=e[c]);r.originalType=t,r.mdxType="string"==typeof t?t:n,a[1]=r;for(var h=2;h=0||(n[i]=t[i]);return n}(t,e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(t,i)&&(n[i]=t[i])}return n}var c=o.createContext({}),h=function(t){var e=o.useContext(c),i=e;return t&&(i="function"==typeof t?t(e):a(a({},e),t)),i},l=function(t){var e=h(t.components);return o.createElement(c.Provider,{value:e},t.children)},d={inlineCode:"code",wrapper:function(t){var e=t.children;return o.createElement(o.Fragment,{},e)}},p=o.forwardRef((function(t,e){var i=t.components,n=t.mdxType,s=t.originalType,c=t.parentName,l=r(t,["components","mdxType","originalType","parentName"]),p=h(i),f=n,g=p["".concat(c,".").concat(f)]||p[f]||d[f]||s;return i?o.createElement(g,a(a({ref:e},l),{},{components:i})):o.createElement(g,a({ref:e},l))}));function f(t,e){var i=arguments,n=e&&e.mdxType;if("string"==typeof t||n){var s=i.length,a=new Array(s);a[0]=p;var r={};for(var c in e)hasOwnProperty.call(e,c)&&(r[c]=e[c]);r.originalType=t,r.mdxType="string"==typeof t?t:n,a[1]=r;for(var h=2;h=0||(o[i]=e[i]);return o}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(o[i]=e[i])}return o}var h=a.createContext({}),c=function(e){var t=a.useContext(h),i=t;return e&&(i="function"==typeof e?e(t):r(r({},t),e)),i},l=function(e){var t=c(e.components);return a.createElement(h.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},p=a.forwardRef((function(e,t){var i=e.components,o=e.mdxType,n=e.originalType,h=e.parentName,l=s(e,["components","mdxType","originalType","parentName"]),p=c(i),f=o,m=p["".concat(h,".").concat(f)]||p[f]||d[f]||n;return i?a.createElement(m,r(r({ref:t},l),{},{components:i})):a.createElement(m,r({ref:t},l))}));function f(e,t){var i=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var n=i.length,r=new Array(n);r[0]=p;var s={};for(var h in t)hasOwnProperty.call(t,h)&&(s[h]=t[h]);s.originalType=e,s.mdxType="string"==typeof e?e:o,r[1]=s;for(var c=2;c child <"+("string"==typeof e.type?e.type:e.type.name)+'>: all children of the component should be , and every should have a unique "value" prop.')})))?void 0:i.filter(Boolean))?t:[]}(e).map((function(e){var t=e.props;return{value:t.value,label:t.label,attributes:t.attributes,default:t.default}}))}function p(e){var t=e.values,i=e.children;return(0,o.useMemo)((function(){var e=null!=t?t:d(i);return function(e){var t=(0,c.l)(e,(function(e,t){return e.value===t.value}));if(t.length>0)throw new Error('Docusaurus error: Duplicate values "'+t.map((function(e){return e.value})).join(", ")+'" found in . Every value needs to be unique.')}(e),e}),[t,i])}function f(e){var t=e.value;return e.tabValues.some((function(e){return e.value===t}))}function m(e){var t=e.queryString,i=void 0!==t&&t,a=e.groupId,n=(0,s.k6)(),r=function(e){var t=e.queryString,i=void 0!==t&&t,a=e.groupId;if("string"==typeof i)return i;if(!1===i)return null;if(!0===i&&!a)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return null!=a?a:null}({queryString:i,groupId:a});return[(0,h._X)(r),(0,o.useCallback)((function(e){if(r){var t=new URLSearchParams(n.location.search);t.set(r,e),n.replace(Object.assign({},n.location,{search:t.toString()}))}}),[r,n])]}function g(e){var t,i,a,n,r=e.defaultValue,s=e.queryString,h=void 0!==s&&s,c=e.groupId,d=p(e),g=(0,o.useState)((function(){return function(e){var t,i=e.defaultValue,a=e.tabValues;if(0===a.length)throw new Error("Docusaurus error: the component requires at least one children component");if(i){if(!f({value:i,tabValues:a}))throw new Error('Docusaurus error: The has a defaultValue "'+i+'" but none of its children has the corresponding value. Available values are: '+a.map((function(e){return e.value})).join(", ")+". If you intend to show no default tab, use defaultValue={null} instead.");return i}var o=null!=(t=a.find((function(e){return e.default})))?t:a[0];if(!o)throw new Error("Unexpected error: 0 tabValues");return o.value}({defaultValue:r,tabValues:d})})),u=g[0],y=g[1],b=m({queryString:h,groupId:c}),w=b[0],k=b[1],v=(t=function(e){return e?"docusaurus.tab."+e:null}({groupId:c}.groupId),i=(0,l.Nk)(t),a=i[0],n=i[1],[a,(0,o.useCallback)((function(e){t&&n.set(e)}),[t,n])]),T=v[0],R=v[1],C=function(){var e=null!=w?w:T;return f({value:e,tabValues:d})?e:null}();return(0,o.useLayoutEffect)((function(){C&&y(C)}),[C]),{selectedValue:u,selectValue:(0,o.useCallback)((function(e){if(!f({value:e,tabValues:d}))throw new Error("Can't select invalid tab value="+e);y(e),k(e),R(e)}),[k,R,d]),tabValues:d}}var u=i(2389),y="tabList__CuJ",b="tabItem_LNqP";function w(e){var t=e.className,i=e.block,s=e.selectedValue,h=e.selectValue,c=e.tabValues,l=[],d=(0,r.o5)().blockElementScrollPositionUntilNextRender,p=function(e){var t=e.currentTarget,i=l.indexOf(t),a=c[i].value;a!==s&&(d(t),h(a))},f=function(e){var t,i=null;switch(e.key){case"Enter":p(e);break;case"ArrowRight":var a,o=l.indexOf(e.currentTarget)+1;i=null!=(a=l[o])?a:l[0];break;case"ArrowLeft":var n,r=l.indexOf(e.currentTarget)-1;i=null!=(n=l[r])?n:l[l.length-1]}null==(t=i)||t.focus()};return o.createElement("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,n.Z)("tabs",{"tabs--block":i},t)},c.map((function(e){var t=e.value,i=e.label,r=e.attributes;return o.createElement("li",(0,a.Z)({role:"tab",tabIndex:s===t?0:-1,"aria-selected":s===t,key:t,ref:function(e){return l.push(e)},onKeyDown:f,onClick:p},r,{className:(0,n.Z)("tabs__item",b,null==r?void 0:r.className,{"tabs__item--active":s===t})}),null!=i?i:t)})))}function k(e){var t=e.lazy,i=e.children,a=e.selectedValue,n=(Array.isArray(i)?i:[i]).filter(Boolean);if(t){var r=n.find((function(e){return e.props.value===a}));return r?(0,o.cloneElement)(r,{className:"margin-top--md"}):null}return o.createElement("div",{className:"margin-top--md"},n.map((function(e,t){return(0,o.cloneElement)(e,{key:t,hidden:e.props.value!==a})})))}function v(e){var t=g(e);return o.createElement("div",{className:(0,n.Z)("tabs-container",y)},o.createElement(w,(0,a.Z)({},e,t)),o.createElement(k,(0,a.Z)({},e,t)))}function T(e){var t=(0,u.Z)();return o.createElement(v,(0,a.Z)({key:String(t)},e))}},9257:function(e,t,i){i.r(t),i.d(t,{assets:function(){return f},contentTitle:function(){return d},default:function(){return y},frontMatter:function(){return l},mark:function(){return g},metadata:function(){return p},toc:function(){return m}});var a=i(7462),o=i(3366),n=(i(7294),i(3905)),r=i(4996),s=i(4866),h=i(5162),c=["components"],l={id:"trrt",sidebar_label:"Term Ref Resolution",date:20220421},d="Term Reference Resolution Tool",p={unversionedId:"spec-tools/trrt",id:"spec-tools/trrt",title:"Term Reference Resolution Tool",description:"text to mark",source:"@site/docs/spec-tools/13-trrt.md",sourceDirName:"spec-tools",slug:"/spec-tools/trrt",permalink:"/tev2-specifications/docs/spec-tools/trrt",draft:!1,editUrl:"https://github.com/tno-terminology-design/tev2-specifications/blob/master/docs/spec-tools/13-trrt.md",tags:[],version:"current",lastUpdatedBy:"Kees",lastUpdatedAt:1694174606,formattedLastUpdatedAt:"Sep 8, 2023",sidebarPosition:13,frontMatter:{id:"trrt",sidebar_label:"Term Ref Resolution",date:20220421},sidebar:"tev2SideBar",previous:{title:"MRG Importer",permalink:"/tev2-specifications/docs/spec-tools/mrg-importer"},next:{title:"Terminology Construction",permalink:"/tev2-specifications/docs/spec-tools/terminology-construction"}},f={},m=[{value:"Installing the Tool",id:"installing-the-tool",level:2},{value:"Calling the Tool",id:"calling-the-tool",level:2},{value:"Term Ref Resolution",id:"term-ref-resolution",level:2},{value:"Interpretation of the Term Ref",id:"interpretation-of-the-term-ref",level:3},{value:"showtext (required)",id:"showtext",level:4},{value:"scopetag (optional)",id:"scopetag",level:4},{value:"vsntag (optional)",id:"vsntag",level:4},{value:"term (optional)",id:"id",level:4},{value:"trait (optional)",id:"trait",level:4},{value:"Locating the identified MRG Entry",id:"locating-the-identified-mrg-entry",level:3},{value:"Rewriting the Term Ref with a Renderable Ref",id:"rewriting-the-term-ref-with-a-renderable-ref",level:3},{value:"Processing, Errors and Warnings",id:"processing-errors-and-warnings",level:2},{value:"Deploying the Tool",id:"deploying-the-tool",level:2}],g=function(e){var t=e.children;return(0,n.kt)("span",{style:{color:"black",backgroundColor:"yellow",padding:"0.2rem",borderRadius:"2px"}},t)},u={toc:m,mark:g};function y(e){var t=e.components,i=(0,o.Z)(e,c);return(0,n.kt)("wrapper",(0,a.Z)({},u,i,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"term-reference-resolution-tool"},"Term Reference Resolution Tool"),(0,n.kt)("admonition",{type:"caution"},(0,n.kt)("p",{parentName:"admonition"},"The entire section on Terminology Engine v 2 (TEv2) is still under construction.",(0,n.kt)("br",null),"\nAs TEv2 is not (yet) available, the texts that specify the tool are still 'raw', i.e. not yet processed.",(0,n.kt)("br",null),(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/reader",title:"Reader: a person that reads a text that is authored by another person (its Author]), and that tries to understand the meaning of this text in the way its Author intended."},"readers")," will need to see through some (currently unprocessed) notational conventions.")),(0,n.kt)("admonition",{title:"Editor's note",type:"info"},(0,n.kt)("p",{parentName:"admonition"},"Term ref resolution is the same process as we use for ingestion, and other conversions, as (will be) explained in the ",(0,n.kt)("a",{parentName:"p",href:"/docs/spec-files/profile-templates"},"profiles template section"),". When that 'conversion pattern' is stable and properly documented, we need to revise this section to align with those descriptions.")),(0,n.kt)("p",null,"The ",(0,n.kt)("strong",{parentName:"p"},"Term Ref(erence) Resolution Tool (",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/trrt",title:"TRRT (TermRef Rendering Tool): a TEv2 Tool that is designed to facilitate the visualization and rendering of TermRefs."},"TRRT"),")")," takes files that contain so-called ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRefs")," and outputs a copy of these files in which these ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRefs")," are converted into so-called ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/renderable-ref",title:"Renderable-refs: a text with which the TRRT replaces a TermRef, that can be processed by specific third party rendering tools, the result of which is a rendering of the original TermRef that has additional characteristics that help Readers to (better) understand the intention of its Author."},"renderable refs"),", i.e. texts that can be further processed by tools such as GitHub pages, Docusaurus, etc. The result of this is that the rendered document contains markups that help ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/reader",title:"Reader: a person that reads a text that is authored by another person (its Author]), and that tries to understand the meaning of this text in the way its Author intended."},"readers")," to quickly find more explanations of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/concept",title:"Concept: a Knowledge Artifact that captures the ideas/thoughts behind a classification of Entities (what makes Entities in that class 'the same')."},"concept")," or other ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/knowledge-artifact",title:"Knowledge-artifact: something that can be thought of as existing in a particular Knowledge, e.g. a Concept, or a Mental Model."},"knowledge artifact")," that is being referenced."),(0,n.kt)("p",null,"There is currently one implementation of the tool:"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"the repo is ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/tno-terminology-design/trrt"},"here"),"."),(0,n.kt)("li",{parentName:"ul"},"the documentation is ",(0,n.kt)("a",{parentName:"li",href:"https://tno-terminology-design.github.io/trrt"},"here"),".")),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Examples"),(0,n.kt)("p",null,"Consider the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRef")," ",(0,n.kt)("inlineCode",{parentName:"p"},"[the purpose of actors](actor#purpose@essif-lab)"),". Here are a number of ways that it can be converted into:"),(0,n.kt)(s.Z,{defaultValue:"markdown",values:[{label:"Markdown",value:"markdown"},{label:"HTML",value:"html"},{label:"eSSIF-Lab Style",value:"essiflab-style"}],mdxType:"Tabs"},(0,n.kt)(h.Z,{value:"markdown",mdxType:"TabItem"},(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-markdown"}," [the purpose of actors](/framework/docs/terms/actor#purpose)\n")),(0,n.kt)("p",null,"which is text that a markdown interpreter will render into a text ",(0,n.kt)("inlineCode",{parentName:"p"},"the purpose of actors")," that hyperlinks to the (relative) path ",(0,n.kt)("inlineCode",{parentName:"p"},"/framework/docs/terms/actor#purpose"),".")),(0,n.kt)(h.Z,{value:"html",mdxType:"TabItem"},(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-html"},' \n the purpose of actors\n ,\n')),(0,n.kt)("p",null,"which is code that will render the text ",(0,n.kt)("inlineCode",{parentName:"p"},"the purpose of actors")," as a (boldface) hyperlink, that, when clicked, will navigate to the ",(0,n.kt)("inlineCode",{parentName:"p"},"purpose")," section of the page that documents (the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/knowledge-artifact",title:"Knowledge-artifact: something that can be thought of as existing in a particular Knowledge, e.g. a Concept, or a Mental Model."},"knowledge artifact")," called ",(0,n.kt)("inlineCode",{parentName:"p"},"actor"),".")),(0,n.kt)(h.Z,{value:"essiflab-style",mdxType:"TabItem"},(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-html"},' the purpose of actors\n \n')),(0,n.kt)("p",null,"Note that this text is not readily renderable in a browser. ",(0,n.kt)("inlineCode",{parentName:"p"},"")," and ",(0,n.kt)("inlineCode",{parentName:"p"},"")," represent a React component that supports linking and tooltip functionality, so that users hovering over the link will see a popup/tooltip with the text ",(0,n.kt)("inlineCode",{parentName:"p"},""),". This functionality is expected to be provided by an appropriate plugin in the static website generator.")))),(0,n.kt)("p",null,"Conceptually, ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRef")," conversion is a simple two-step process:"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"The ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRef")," is interpreted, the result of which is a set of variables (or if regexes are used: ",(0,n.kt)("a",{parentName:"li",href:"https://riptutorial.com/regex/example/2479/named-capture-groups"},"named capturing groups"),") whose contents ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identify: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identify")," an ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," from a specific ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG"),"."),(0,n.kt)("li",{parentName:"ol"},"Then, using the contents of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identified: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identified")," ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry"),", the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRef")," is replaced by a converter with a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/renderable-ref",title:"Renderable-ref: a text with which the TRRT replaces a TermRef, that can be processed by specific third party rendering tools, the result of which is a rendering of the original TermRef that has additional characteristics that help Readers to (better) understand the intention of its Author."},"renderable ref"),", of the kind as specified by the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/trrt",title:"TRRT (TermRef Rendering Tool): a TEv2 Tool that is designed to facilitate the visualization and rendering of TermRefs."},"TRRT's")," command line arguments or configuration file. Through the use of converters, the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/renderable-ref",title:"Renderable-ref: a text with which the TRRT replaces a TermRef, that can be processed by specific third party rendering tools, the result of which is a rendering of the original TermRef that has additional characteristics that help Readers to (better) understand the intention of its Author."},"renderable ref")," may include all sorts of code that is processed further by other, third party rendering tools.")),(0,n.kt)("p",null,"By cleanly separating ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRef")," interpretation from the part where it is overwritten with a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/renderable-ref",title:"Renderable-ref: a text with which the TRRT replaces a TermRef, that can be processed by specific third party rendering tools, the result of which is a rendering of the original TermRef that has additional characteristics that help Readers to (better) understand the intention of its Author."},"renderable ref"),", it becomes easy to extend the capabilities of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/trrt",title:"TRRT (TermRef Rendering Tool): a TEv2 Tool that is designed to facilitate the visualization and rendering of TermRefs."},"TRRT")," to include ways for rendering ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRefs"),", e.g. for LaTeX, PDF, docx, odt and other formats, as well as for formats that we currently do not even know we would like to have."),(0,n.kt)("p",null,"In order to convert ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRefs")," into ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/renderable-ref",title:"Renderable-refs: a text with which the TRRT replaces a TermRef, that can be processed by specific third party rendering tools, the result of which is a rendering of the original TermRef that has additional characteristics that help Readers to (better) understand the intention of its Author."},"renderable refs"),", ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/trrt",title:"TRRT (TermRef Rendering Tool): a TEv2 Tool that is designed to facilitate the visualization and rendering of TermRefs."},"TRRT")," expects the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF")," and the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," from within which it is being called, to be available. The ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," is used to resolve all links to ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Terms: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"terms")," that are part of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology")," of this ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),". The ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF")," is used to locate the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRGs")," of any (other) ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," whose ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopetag",title:"Scopetag: a Tag that is used to Identify Scopes from within a specific Scope"},"scopetag")," is used as part of a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRef")," that needs to be resolved."),(0,n.kt)("h2",{id:"installing-the-tool"},"Installing the Tool"),(0,n.kt)("p",null,"The tool can be installed from the command line and made globally available by executing"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre"},"npm install tno-terminology-design/trrt -g\n")),(0,n.kt)("h2",{id:"calling-the-tool"},"Calling the Tool"),(0,n.kt)("p",null,"The behavior of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/trrt",title:"TRRT (TermRef Rendering Tool): a TEv2 Tool that is designed to facilitate the visualization and rendering of TermRefs."},"TRRT")," can be configured per call e.g. by a configuration file and/or command-line parameters. The command-line syntax is as follows:"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre"},"trrt [ ] [ ]\n")),(0,n.kt)("p",null,"where:"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("inlineCode",{parentName:"li"},"")," (optional) is a list of key-value pairs"),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"https://en.wikipedia.org/wiki/Glob_(programming)#Syntax"},(0,n.kt)("inlineCode",{parentName:"a"},"globpattern"))," (optional) specifies a set of (input) files that are to be processed. If a configuration file is used, its contents may specify an additional set of input files to be processed.")),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Legend"),(0,n.kt)("p",null,"The columns in the following table are defined as follows:"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("strong",{parentName:"li"},(0,n.kt)("inlineCode",{parentName:"strong"},"Key"))," is the text to be used as a key."),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("strong",{parentName:"li"},(0,n.kt)("inlineCode",{parentName:"strong"},"Value"))," represents the kind of value to be used."),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("strong",{parentName:"li"},(0,n.kt)("inlineCode",{parentName:"strong"},"Req'd"))," specifies whether (",(0,n.kt)("inlineCode",{parentName:"li"},"Y"),") or not (",(0,n.kt)("inlineCode",{parentName:"li"},"n"),") the field is required to be present when the tool is being called. If required, it MUST either be present in the configuration file, or as a command-line parameter."),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("strong",{parentName:"li"},(0,n.kt)("inlineCode",{parentName:"strong"},"Description"))," specifies the meaning of the ",(0,n.kt)("inlineCode",{parentName:"li"},"Value")," field, and other things you may need to know, e.g. why it is needed, a required syntax, etc."))),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:"left"},"Key"),(0,n.kt)("th",{parentName:"tr",align:"left"},"Value"),(0,n.kt)("th",{parentName:"tr",align:"center"},"Req'd"),(0,n.kt)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"config")),(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:"left"},"Path (including the filename) of the tool's (YAML) configuration file. This file contains the default key-value pairs to be used. Allowed keys (and the associated values) are documented in this table. Command-line arguments override key-value pairs specified in the configuration file. This parameter MUST NOT appear in the configuration file itself.")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"input")),(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("a",{parentName:"td",href:"https://en.wikipedia.org/wiki/Glob_(programming)#Syntax"},"Globpattern")," that specifies the set of (input) files that are to be processed.")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"output")),(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"")),(0,n.kt)("td",{parentName:"tr",align:"center"},"Y"),(0,n.kt)("td",{parentName:"tr",align:"left"},"(Root) directory where output files are to be written. This directory is specified as an absolute or relative path.")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"scopedir")),(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"")),(0,n.kt)("td",{parentName:"tr",align:"center"},"Y"),(0,n.kt)("td",{parentName:"tr",align:"left"},"Path of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopedir",title:"Scope-directory: a directory in a computer file system that contains all files that are either being Curated within a particular Scope, or generated to serve some purpose within that Scope."},"scope directory")," from which the tool is called. It MUST contain the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF")," for that ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),", which we will refer to as the 'current scope' for the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/trrt",title:"TRRT (TermRef Rendering Tool): a TEv2 Tool that is designed to facilitate the visualization and rendering of TermRefs."},"TRRT"),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"version")),(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:"left"},"Version of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology")," that is to be used to resolve ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRefs")," for which neither a ",(0,n.kt)("inlineCode",{parentName:"td"},"scope")," nor a ",(0,n.kt)("inlineCode",{parentName:"td"},"version")," part has been specified (which is the most common case). It MUST match either the ",(0,n.kt)("inlineCode",{parentName:"td"},"vsntag")," field, or an element of the ",(0,n.kt)("inlineCode",{parentName:"td"},"altvsntags")," field as specified in the ",(0,n.kt)("a",{parentName:"td",href:"/docs/spec-files/saf#versions"},(0,n.kt)("inlineCode",{parentName:"a"},"versions")," section")," of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"),". When not specified, its value is taken from the ",(0,n.kt)("inlineCode",{parentName:"td"},"defaultvsn")," field in the ",(0,n.kt)("a",{parentName:"td",href:"/docs/spec-files/mrg#mrg-terminology"},"terminology section")," of the default ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," (which is ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identified: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identified")," by the contents of the ",(0,n.kt)("inlineCode",{parentName:"td"},"mrgfile")," field (in the ",(0,n.kt)("a",{parentName:"td",href:"/docs/spec-files/saf#terminology"},(0,n.kt)("inlineCode",{parentName:"a"},"scope")," section")," of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"),").")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"interpreter")),(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:"left"},"Allows for the switching between interpreter types. By default the ",(0,n.kt)("inlineCode",{parentName:"td"},"AltInterpreter")," and ",(0,n.kt)("inlineCode",{parentName:"td"},"StandardInterpreter")," are available. When this parameter is omitted, the basic ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRef")," syntax is used.")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"converter")),(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:"left"},"The type of converter which creates the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/renderable-ref",title:"Renderable-refs: a text with which the TRRT replaces a TermRef, that can be processed by specific third party rendering tools, the result of which is a rendering of the original TermRef that has additional characteristics that help Readers to (better) understand the intention of its Author."},"renderable refs"),". When this parameter is omitted, the Markdown converter is used.")))),(0,n.kt)("h2",{id:"term-ref-resolution"},"Term Ref Resolution"),(0,n.kt)("p",null,"The ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRef")," resolution process has three steps:"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Interpretation of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRef")," into variables that can be used to ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identify: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identify")," an ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry"),";"),(0,n.kt)("li",{parentName:"ol"},"Locating the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identified: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identified")," ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG Entry"),";"),(0,n.kt)("li",{parentName:"ol"},"Rewriting the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRef")," with a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/renderable-ref",title:"Renderable-ref: a text with which the TRRT replaces a TermRef, that can be processed by specific third party rendering tools, the result of which is a rendering of the original TermRef that has additional characteristics that help Readers to (better) understand the intention of its Author."},"renderable ref"),".")),(0,n.kt)("h3",{id:"interpretation-of-the-term-ref"},"Interpretation of the Term Ref"),(0,n.kt)("p",null,"The following kinds of ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRef")," syntaxes are (to be) supported:"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"the ",(0,n.kt)("a",{parentName:"li",href:"/docs/spec-syntax/term-ref-syntax#basic-syntax"},"basic syntax"),", i.e. ","[",(0,n.kt)("inlineCode",{parentName:"li"},"show text"),"]","(",(0,n.kt)("inlineCode",{parentName:"li"},"term"),"#",(0,n.kt)("inlineCode",{parentName:"li"},"trait"),"@",(0,n.kt)("inlineCode",{parentName:"li"},"scopetag"),":",(0,n.kt)("inlineCode",{parentName:"li"},"vsntag"),");"),(0,n.kt)("li",{parentName:"ul"},"the ",(0,n.kt)("a",{parentName:"li",href:"/docs/spec-syntax/term-ref-syntax#alternative-syntax"},"alternative syntax"),", e.g. ","[",(0,n.kt)("inlineCode",{parentName:"li"},"show text"),"@","]",", which basically moves the ",(0,n.kt)("inlineCode",{parentName:"li"},"@"),"-character from the basic syntax within the square brackets, which in many (if not most) cases is more convenient for ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/author",title:"Author: a person that creates a text that is meant to be read and understood by others - usually, a particular audience."},"authors"),", but has the drawback that the rendering of the plain markdown text would be rendered as ","[show text@]",", which may be inconvenient.")),(0,n.kt)("p",null,"Interpretation of a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRef")," leads to the population of the following variables (or, in case regexes are used, named capturing groups):"),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Using regexes to find the values for the variables"),(0,n.kt)("p",null,"Finding a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRef")," in the file can be done by using a regular expressions (regexes - you can use ",(0,n.kt)("a",{parentName:"p",href:"https://www.debuggex.com/"},"debuggex")," to see what these regexps do (make sure you choose PCRE as the regex flavor to work with))."),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("p",{parentName:"li"},"For the ",(0,n.kt)("a",{parentName:"p",href:"/docs/spec-syntax/term-ref-syntax#basic-syntax"},"basic syntax"),", you can use the PCRE regex"),(0,n.kt)("ul",{parentName:"li"},(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"https://www.debuggex.com/r/G1uvznpNG1mhqEx5"},(0,n.kt)("inlineCode",{parentName:"a"},"(?:(?<=[^`\\\\])|^)\\[(?=[^@\\]]+\\]\\([#a-z0-9_-]*@[:a-z0-9_-]*\\))"))," to find the ",(0,n.kt)("inlineCode",{parentName:"li"},"[")," that starts a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRef"),", and"),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"https://www.debuggex.com/r/36D57uOvsnyPehh3"},(0,n.kt)("inlineCode",{parentName:"a"},"(?[^\\n\\]@]+)\\]\\((?:(?[a-z0-9_-]*)?(?:#(?[a-z0-9_-]+))?)?@(?[a-z0-9_-]*)(?::(?[a-z0-9_-]+))?\\)"))," to find the various parts of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRef")," as (named) capturing groups."))),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("p",{parentName:"li"},"For the ",(0,n.kt)("a",{parentName:"p",href:"/docs/spec-syntax/term-ref-syntax#alternative-syntax"},"alternative syntax"),", you can use the PCRE regex"),(0,n.kt)("ul",{parentName:"li"},(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"https://www.debuggex.com/r/7dEYEdoc52QeIxf4"},(0,n.kt)("inlineCode",{parentName:"a"},"(?:(?<=[^`\\\\])|^)\\[(?=[^@\\]]+@[:a-z0-9_-]*\\](?:\\([#a-z0-9_-]+\\))?)"))," to find the ",(0,n.kt)("inlineCode",{parentName:"li"},"[")," that starts a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRef"),", and"),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"https://www.debuggex.com/r/tMBiAk_W9ipNc9Mm"},(0,n.kt)("inlineCode",{parentName:"a"},"(?[^\\n\\]@]+?)@(?[a-z0-9_-]*)(?::(?[a-z0-9_-]+?))?\\](?:\\((?[a-z0-9_-]*)(?:#(?[a-z0-9_-]+?))?\\))?"))," to subsequently obtain the various fields as (named) capturing groups from the PCRE regex.")))),(0,n.kt)("p",null,"Note that when a value of a named capturing group is empty, it is filled by the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/trrt",title:"TRRT (TermRef Rendering Tool): a TEv2 Tool that is designed to facilitate the visualization and rendering of TermRefs."},"TRRT")," with (default) values according to the specifications below.")),(0,n.kt)("h4",{id:"showtext"},(0,n.kt)("inlineCode",{parentName:"h4"},"showtext")," (required)"),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"showtext")," is a (non-empty) text that will be highlighed/enhanced, and will become clickable and/or receive other features when rendered. It MUST NOT be empty, and it MUST NOT contain the characters ",(0,n.kt)("inlineCode",{parentName:"p"},"@")," or ",(0,n.kt)("inlineCode",{parentName:"p"},"]")," (which we need to be able to distinguish between ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRefs")," and other links)."),(0,n.kt)("admonition",{title:"Editor's note",type:"info"},(0,n.kt)("p",{parentName:"admonition"},"The alternative notation assumes that the ",(0,n.kt)("inlineCode",{parentName:"p"},"showtext")," part of a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRef")," won't contain the ",(0,n.kt)("inlineCode",{parentName:"p"},"@")," character. However, it is likely that some ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/author",title:"Author: a person that creates a text that is meant to be read and understood by others - usually, a particular audience."},"authors")," will want to use an email address as the ",(0,n.kt)("inlineCode",{parentName:"p"},"showtext")," part of a ",(0,n.kt)("em",{parentName:"p"},"regular")," link, e.g. as in ",(0,n.kt)("inlineCode",{parentName:"p"},"[rieks.joosten@tno.nl](mailto:rieks.joosten@tno.nl)"),". However, since ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopetag",title:"Scopetags: a Tag that is used to Identify Scopes from within a specific Scope"},"scopetags")," should not contain ",(0,n.kt)("inlineCode",{parentName:"p"},"."),"-characters, ",(0,n.kt)("inlineCode",{parentName:"p"},"[rieks.joosten@tno.nl]")," does not qualify as a ",(0,n.kt)("inlineCode",{parentName:"p"},"showtext")," in our syntax. Also, it would be detectable if such syntax is followed by ",(0,n.kt)("inlineCode",{parentName:"p"},"(mailto:"),". Any detected problems must result in a proper warning, and the suggestion that email addresses can be used in a ",(0,n.kt)("a",{parentName:"p",href:"https://www.markdownguide.org/basic-syntax/#urls-and-email-addresses"},"link with angle brackets"),", e.g. ",(0,n.kt)("inlineCode",{parentName:"p"},""),".")),(0,n.kt)("h4",{id:"scopetag"},(0,n.kt)("inlineCode",{parentName:"h4"},"scopetag")," (optional)"),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"scopetag")," is a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopetag",title:"Scopetag: a Tag that is used to Identify Scopes from within a specific Scope"},"scopetag")," that ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identifies: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identifies")," the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," within which the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRef")," is to be resolved."),(0,n.kt)("p",null,"If specified, it MUST appear in the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF")," (of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," from which the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/trrt",title:"TRRT (TermRef Rendering Tool): a TEv2 Tool that is designed to facilitate the visualization and rendering of TermRefs."},"TRRT")," is called), as an element of the ",(0,n.kt)("inlineCode",{parentName:"p"},"scopetags")," field of one of elements in the list of ",(0,n.kt)("inlineCode",{parentName:"p"},"scopes"),". That element also contains a ",(0,n.kt)("inlineCode",{parentName:"p"},"scopedir")," field, that can subsequently be used to obtain the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF")," of that ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),"."),(0,n.kt)("p",null,"If not specified, the current ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," (from which the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/trrt",title:"TRRT (TermRef Rendering Tool): a TEv2 Tool that is designed to facilitate the visualization and rendering of TermRefs."},"TRRT")," is being called) will be used. This SHOULD be the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," within which the document containing the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRef")," is being maintained. Note that the preceding ",(0,n.kt)("inlineCode",{parentName:"p"},"@")," sign may never be omitted because as it serves the purpose to distinguish ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRefs")," from other ",(0,n.kt)("a",{parentName:"p",href:"https://www.markdownguide.org/basic-syntax/#links"},"Markdown links"),". A ",(0,n.kt)("inlineCode",{parentName:"p"},"scopetag")," shall only contain characters in regex ",(0,n.kt)("inlineCode",{parentName:"p"},"[a-z0-9_-]"),"."),(0,n.kt)("h4",{id:"vsntag"},(0,n.kt)("inlineCode",{parentName:"h4"},"vsntag")," (optional)"),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"vsntag")," is a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/versiontag",title:"Versiontag: a Tag that is used to Identify a specific version of a Terminology from within a specific Scope."},"versiontag")," that ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identifies: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identifies")," the version of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology")," in the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," (as ","[identified]"," by the ",(0,n.kt)("inlineCode",{parentName:"p"},"scopetag"),"). It MUST appear either in the ",(0,n.kt)("inlineCode",{parentName:"p"},"vsntag")," field, or as one of the elements in the ",(0,n.kt)("inlineCode",{parentName:"p"},"altvsntags")," field of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF")," that contains the administration of that ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),"."),(0,n.kt)("p",null,"If omitted (in which case the preceding ",(0,n.kt)("inlineCode",{parentName:"p"},":"),"-character may also be omitted from the syntax), its value will ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identify: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identify")," the default ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," (as ",(0,n.kt)("a",{parentName:"p",href:"/docs/spec-files/saf#terminology"},"specified")," in the ",(0,n.kt)("inlineCode",{parentName:"p"},"mrgfile")," field os the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"),")."),(0,n.kt)("h4",{id:"id"},(0,n.kt)("inlineCode",{parentName:"h4"},"term")," (optional)"),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"term")," is a text that ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identifies: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identifies")," a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/knowledge-artifact",title:"Knowledge-artifact: something that can be thought of as existing in a particular Knowledge, e.g. a Concept, or a Mental Model."},"knowledge artifact"),", and is specified in the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text")," that documents that ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/knowledge-artifact",title:"Knowledge-artifact: something that can be thought of as existing in a particular Knowledge, e.g. a Concept, or a Mental Model."},"artifact")," (in a specific version of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology")," of a specific ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),"). It will be matched against the ",(0,n.kt)("inlineCode",{parentName:"p"},"term")," fields of ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entries: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entries")," in the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," that documents said ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology"),"."),(0,n.kt)("p",null,"If omitted, "," it is generated as follows (assuming the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," to be used has already been ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identified: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identified"),"):"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"set ",(0,n.kt)("inlineCode",{parentName:"li"},"term"),":=",(0,n.kt)("inlineCode",{parentName:"li"},"showtext"),";"),(0,n.kt)("li",{parentName:"ul"},"convert every character in the (regex) range ",(0,n.kt)("inlineCode",{parentName:"li"},"[A-Z]")," to lower-case;"),(0,n.kt)("li",{parentName:"ul"},"convert every sequence of characters ",(0,n.kt)("inlineCode",{parentName:"li"},"[^A-Za-z_-]+")," to (a single) ",(0,n.kt)("inlineCode",{parentName:"li"},"-")," character;"),(0,n.kt)("li",{parentName:"ul"},"if the resulting ",(0,n.kt)("inlineCode",{parentName:"li"},"term")," ",(0,n.kt)("a",{parentName:"li",href:"/docs/spec-syntax/form-phrase-syntax"},"matches an element in the list of texts")," in the ",(0,n.kt)("inlineCode",{parentName:"li"},"formphrases")," field of an ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry"),", then replace ",(0,n.kt)("inlineCode",{parentName:"li"},"term")," with the contents of the ",(0,n.kt)("inlineCode",{parentName:"li"},"term"),"-field of that same ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry"),".")),(0,n.kt)("admonition",{title:"Editor's note",type:"info"},(0,n.kt)("p",{parentName:"admonition"},"We should clarify the extent to which this ",(0,n.kt)("inlineCode",{parentName:"p"},"matching")," supports formphrase macro's, Currently, this is documented as part of the ",(0,n.kt)("a",{parentName:"p",href:"/docs/spec-syntax/form-phrase-syntax"},"form-phrase syntax")," which doesn't seem right.")),(0,n.kt)("p",null,"It is an error if the resulting ",(0,n.kt)("inlineCode",{parentName:"p"},"term")," does not ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identify: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identify")," an ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," in the selected ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG"),". This may mean that the ",(0,n.kt)("inlineCode",{parentName:"p"},"showtext")," has misspellings, the ",(0,n.kt)("inlineCode",{parentName:"p"},"term")," field was not specified where it had to, or the list of ",(0,n.kt)("inlineCode",{parentName:"p"},"formphrases")," in some ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," should have included more elements."),(0,n.kt)("admonition",{title:"Editor's note",type:"info"},(0,n.kt)("p",{parentName:"admonition"},(0,n.kt)("a",{parentName:"p",href:"https://tartarus.org/martin/PorterStemmer/"},"The Porter Stemming Algorithm")," is a process for removing the commoner morphological and inflexional endings from words in English. Its main use is as part of a term normalisation process that is usually done when setting up Information Retrieval systems. The mentioned site links to lots of freely useable code that the TRRT might want to consider using."),(0,n.kt)("p",{parentName:"admonition"},"Perhaps the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/trrt",title:"TRRT (TermRef Rendering Tool): a TEv2 Tool that is designed to facilitate the visualization and rendering of TermRefs."},"TRRT")," may use this tool as a means for generating the ",(0,n.kt)("inlineCode",{parentName:"p"},"term")," field from the ",(0,n.kt)("inlineCode",{parentName:"p"},"showtext")," if necessary. However, we would need to first experiment with that to see whether or not, c.q. to what extent this conversion does what it is expected to do.")),(0,n.kt)("h4",{id:"trait"},(0,n.kt)("inlineCode",{parentName:"h4"},"trait")," (optional)"),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"trait")," ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identifies: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identifies")," a particular kind of descriptive text that is associated with the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/knowledge-artifact",title:"Knowledge-artifact: something that can be thought of as existing in a particular Knowledge, e.g. a Concept, or a Mental Model."},"knowledge artifact"),". If specified, it must be one of the elements in the list of headingid's as specified in ",(0,n.kt)("a",{parentName:"p",href:"/docs/spec-files/mrg#mrg-entries"},"the ",(0,n.kt)("inlineCode",{parentName:"a"},"headingids")," field")," of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry"),". If omitted, the preceding ",(0,n.kt)("inlineCode",{parentName:"p"},"#"),"-character should also be omitted."),(0,n.kt)("h3",{id:"locating-the-identified-mrg-entry"},"Locating the identified MRG Entry"),(0,n.kt)("p",null,"As soon as the variables have been provided with a value, the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," can be found by following a sequence of steps:"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},(0,n.kt)("strong",{parentName:"p"},"get the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopedir",title:"Scopedir: a directory in a computer file system that contains all files that are either being Curated within a particular Scope, or generated to serve some purpose within that Scope."},"scopedir")," and ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF")," associated with the ",(0,n.kt)("inlineCode",{parentName:"strong"},"scope")," variable of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRef")),". If the value of the ",(0,n.kt)("inlineCode",{parentName:"p"},"scopetag")," variable is the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopetag",title:"Scopetag: a Tag that is used to Identify Scopes from within a specific Scope"},"scopetag")," of the current ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," (as specified when the ",(0,n.kt)("a",{parentName:"p",href:"#calling-the-tool"},"tool was called"),"), then use the current ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopedir",title:"Scopedir: a directory in a computer file system that contains all files that are either being Curated within a particular Scope, or generated to serve some purpose within that Scope."},"scopedir"),". Otherwise, look up the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopedir",title:"Scopedir: a directory in a computer file system that contains all files that are either being Curated within a particular Scope, or generated to serve some purpose within that Scope."},"scopedir")," from the ",(0,n.kt)("a",{parentName:"p",href:"/docs/spec-files/saf#scopes"},(0,n.kt)("inlineCode",{parentName:"a"},"scopes")," section")," of the current ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"),". From the resulting ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopedir",title:"Scopedir: a directory in a computer file system that contains all files that are either being Curated within a particular Scope, or generated to serve some purpose within that Scope."},"scopedir"),", read the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF")," (i.e. the ",(0,n.kt)("inlineCode",{parentName:"p"},"saf.yaml")," file in the root of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopedir",title:"Scopedir: a directory in a computer file system that contains all files that are either being Curated within a particular Scope, or generated to serve some purpose within that Scope."},"scopedir"),").")),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},(0,n.kt)("strong",{parentName:"p"},"get the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," associated with the ",(0,n.kt)("inlineCode",{parentName:"strong"},"vsntag")," of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRef")),". Search the element in the ",(0,n.kt)("a",{parentName:"p",href:"docs/spec-files/mrg#versions"},"versions section")," of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF")," where the ",(0,n.kt)("inlineCode",{parentName:"p"},"vsntag")," variable is either the value of the ",(0,n.kt)("inlineCode",{parentName:"p"},"vsntag")," field, or appears as one of the elements in the ",(0,n.kt)("inlineCode",{parentName:"p"},"altvsntags")," field. Then, obtain the filename of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," from the ",(0,n.kt)("inlineCode",{parentName:"p"},"mrgfile")," field of that element.")),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},(0,n.kt)("strong",{parentName:"p"},"identify the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," associated with the ",(0,n.kt)("inlineCode",{parentName:"strong"},"id")," field of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRef")),". Get the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," from the location specified by the URL ",(0,n.kt)("inlineCode",{parentName:"p"},""),"/",(0,n.kt)("inlineCode",{parentName:"p"},""),"/",(0,n.kt)("inlineCode",{parentName:"p"},"")," (which are all in the context of ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," as identified by the ",(0,n.kt)("inlineCode",{parentName:"p"},"scopetag")," variable). The ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," will be ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identified: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identified")," by a process that starts with the set of all ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"entries")," that exist in the selected ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG"),", and then weeding out any non-matching ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"entries")," by applying the following steps:"),(0,n.kt)("ul",{parentName:"li"},(0,n.kt)("li",{parentName:"ul"},"since ",(0,n.kt)("inlineCode",{parentName:"li"},"term")," must be present, all ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"entries")," are removed whose ",(0,n.kt)("inlineCode",{parentName:"li"},"term")," field differs from the ",(0,n.kt)("inlineCode",{parentName:"li"},"term")," variable;"),(0,n.kt)("li",{parentName:"ul"},"then, if the variable ",(0,n.kt)("inlineCode",{parentName:"li"},"termtype")," is present, all ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"entries")," whose ",(0,n.kt)("inlineCode",{parentName:"li"},"termtype")," field has a different value from what that variable holds, are removed from the set;"),(0,n.kt)("li",{parentName:"ul"},"If the resulting set contains exactly one ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry"),", this is the one that is selected; otherwise, a warning is raised.")))),(0,n.kt)("h3",{id:"rewriting-the-term-ref-with-a-renderable-ref"},"Rewriting the Term Ref with a Renderable Ref"),(0,n.kt)("img",{alt:"From this point onward, texts are under construction",src:(0,r.Z)("images/wip/wip-under-construction-from-here-onward.png")}),(0,n.kt)("br",null),(0,n.kt)("br",null),(0,n.kt)("p",null,"The ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRef")," will by default dereference to a human readable, rendered version of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text")," associated with the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identified: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identified")," ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry"),", which can be obtained through the URL located in the ",(0,n.kt)("inlineCode",{parentName:"p"},"navurl")," field of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry"),", which the text ",(0,n.kt)("inlineCode",{parentName:"p"},"#")," is appended if a ",(0,n.kt)("inlineCode",{parentName:"p"},"trait")," was specified."),(0,n.kt)("admonition",{title:"Editor's note",type:"info"},(0,n.kt)("p",{parentName:"admonition"},"We should think about how to document ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/renderable-ref",title:"Renderable-refs: a text with which the TRRT replaces a TermRef, that can be processed by specific third party rendering tools, the result of which is a rendering of the original TermRef that has additional characteristics that help Readers to (better) understand the intention of its Author."},"renderable refs")," in such a way that they can easily be found and used for different roles (",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/author",title:"Author: a person that creates a text that is meant to be read and understood by others - usually, a particular audience."},"authors"),", curators, developers) and purposes (writing a trrt-config file, adding a new type of ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/renderable-ref",title:"Renderable-ref: a text with which the TRRT replaces a TermRef, that can be processed by specific third party rendering tools, the result of which is a rendering of the original TermRef that has additional characteristics that help Readers to (better) understand the intention of its Author."},"renderable ref"),", etc.).")),(0,n.kt)("p",null,"The text with which the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRef")," is to be replaced can have various formats. This enables the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/trrt",title:"TRRT (TermRef Rendering Tool): a TEv2 Tool that is designed to facilitate the visualization and rendering of TermRefs."},"TRRT")," to be used in different contexts, and its results to be further processed by a variety of third-party rendering tools."),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Examples of term-ref replacements"),(0,n.kt)(s.Z,{defaultValue:"simple",values:[{label:"ToIP Style",value:"simple"},{label:"eSSIF-Lab Style",value:"complex"}],mdxType:"Tabs"},(0,n.kt)(h.Z,{value:"simple",mdxType:"TabItem"},(0,n.kt)("p",null,"The simplest example is where a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRef")," is replaced with a regular ",(0,n.kt)("a",{parentName:"p",href:"https://www.markdownguide.org/basic-syntax/#links"},"markdown link")),(0,n.kt)("p",null,"In this case, the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRef")," ",(0,n.kt)("inlineCode",{parentName:"p"},"[Actions](@)")," is replaced with ",(0,n.kt)("inlineCode",{parentName:"p"},"[Actions](/#action)"),"\nwhere:"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("inlineCode",{parentName:"li"},"hrgfile")," is the contents of the field ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"),".",(0,n.kt)("inlineCode",{parentName:"li"},"scope.hrgfile"),".")),(0,n.kt)("p",null,"Note that if the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRef")," refers to a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," that differs from the current ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),", then the URL should be preceeded by the text specified in the ",(0,n.kt)("inlineCode",{parentName:"p"},"website")," field of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF")," of that ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),", because it would not be a relative (local) hyperlink.")),(0,n.kt)(h.Z,{value:"complex",mdxType:"TabItem"},(0,n.kt)("p",null,"A more complex example is what is done within eSSIF-Lab, where the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curator",title:"Curator: {(noRefs glossaryText)}"},"curators")," not only want ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Terms: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"terms")," to be linked to their (rendered) ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-texts: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated texts"),", but also want them to be provided with a tooltip that states their ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/definition",title:"Definitions: a text that helps Parties to have the same understanding about the meaning of (and Concepts behind) a Term, ideally in such a way that these Parties can determine whether or not they make the same distinction."},"definitions"),"."),(0,n.kt)("p",null,"In this ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),", the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRef")," ",(0,n.kt)("inlineCode",{parentName:"p"},"[Actions](@)")," is replaced with ",(0,n.kt)("inlineCode",{parentName:"p"},'Actions'),"\nwhere:"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("inlineCode",{parentName:"li"},"")," is the text provided in the ",(0,n.kt)("inlineCode",{parentName:"li"},"hoverText")," field of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," whose ",(0,n.kt)("inlineCode",{parentName:"li"},"term")," field is ",(0,n.kt)("inlineCode",{parentName:"li"},"action"),", and"),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("inlineCode",{parentName:"li"},"")," and ",(0,n.kt)("inlineCode",{parentName:"li"},"")," represent a React component that supports linking and tooltip functionality, so that users hovering over the link will see a popup/tooltip with the text ",(0,n.kt)("inlineCode",{parentName:"li"},""),", and will navigate to the location of the (human readable, i.e. rendered) file that contains details and further explanations, as specified in the ",(0,n.kt)("inlineCode",{parentName:"li"},"navurl")," field of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry"),".")),(0,n.kt)("admonition",{title:"Editor's note",type:"info"},(0,n.kt)("p",{parentName:"admonition"},"The implementation of the ",(0,n.kt)("inlineCode",{parentName:"p"},"")," ... ",(0,n.kt)("inlineCode",{parentName:"p"},"")," construct will differ from that which is used by eSSIF-Lab, because a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Term: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"term")," that is defined in this, or another ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),", lives in the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-file: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated file")," at ",(0,n.kt)("inlineCode",{parentName:"p"},"scopedir"),"/",(0,n.kt)("inlineCode",{parentName:"p"},"curatedir"),"/",(0,n.kt)("inlineCode",{parentName:"p"},"locator"),", where"),(0,n.kt)("ul",{parentName:"admonition"},(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("inlineCode",{parentName:"li"},"scopedir")," is the URL that locates the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopedir",title:"Scope-directory: a directory in a computer file system that contains all files that are either being Curated within a particular Scope, or generated to serve some purpose within that Scope."},"scope directory")," of that ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),";"),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("inlineCode",{parentName:"li"},"curatedir")," is the directory in that ",(0,n.kt)("inlineCode",{parentName:"li"},"scopedir")," where ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/knowledge-artifact",title:"Knowledge-artifacts: something that can be thought of as existing in a particular Knowledge, e.g. a Concept, or a Mental Model."},"knowledge artifacts")," (c.q. ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-texts: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated texts"),") live; its value is found both in the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF")," and in the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),";"),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("inlineCode",{parentName:"li"},"locator")," is the path (including filename), relative to ",(0,n.kt)("inlineCode",{parentName:"li"},"scopedir"),"/",(0,n.kt)("inlineCode",{parentName:"li"},"curatedir"),"/, of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-file: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated file")," that describes the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/knowledge-artifact",title:"Knowledge-artifact: something that can be thought of as existing in a particular Knowledge, e.g. a Concept, or a Mental Model."},"knowledge artifact")," that is being referred to.")))))),(0,n.kt)("p",null,"The essentials of the rewriting start with the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopedir",title:"Scopedir: a directory in a computer file system that contains all files that are either being Curated within a particular Scope, or generated to serve some purpose within that Scope."},"scopedir")," of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," from which the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/trrt",title:"TRRT (TermRef Rendering Tool): a TEv2 Tool that is designed to facilitate the visualization and rendering of TermRefs."},"TRRT")," is called, and proceed as follows:"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"access the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"),", and in case the ",(0,n.kt)("inlineCode",{parentName:"li"},"scopetag")," is not of this ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),", look up the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopedir",title:"Scopedir: a directory in a computer file system that contains all files that are either being Curated within a particular Scope, or generated to serve some purpose within that Scope."},"scopedir")," associated with that ",(0,n.kt)("inlineCode",{parentName:"li"},"scopetag")," and obtain its ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"),";"),(0,n.kt)("li",{parentName:"ul"},"using the ",(0,n.kt)("inlineCode",{parentName:"li"},"vsntag"),", locate the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," (or if ",(0,n.kt)("inlineCode",{parentName:"li"},"vsntag")," isn't specified, use the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scopes: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope's")," default ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG"),"-file as specified in the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scopes: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope's")," ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"),");"),(0,n.kt)("li",{parentName:"ul"},"Find the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," that has a ",(0,n.kt)("inlineCode",{parentName:"li"},"term"),"-field that is the same as ",(0,n.kt)("inlineCode",{parentName:"li"},"term"),";")),(0,n.kt)("p",null,"At this point, all data is available for constructing the replacement text. As we have seen, it depends on the situation that need to be supported how the actual construction needs to be done."),(0,n.kt)("h2",{id:"processing-errors-and-warnings"},"Processing, Errors and Warnings"),(0,n.kt)("p",null,"The ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/trrt",title:"TRRT (TermRef Rendering Tool): a TEv2 Tool that is designed to facilitate the visualization and rendering of TermRefs."},"TRRT")," starts by reading its command-line and configuration file. If the command-line has a key that is also found in the configuration file, the command-line key-value pair takes precedence. The resulting set of key-value pairs is tested for proper syntax and validity. Every improper syntax and every invalidity found will be logged. Improper syntax may be e.g. an invalid ",(0,n.kt)("a",{parentName:"p",href:"https://en.wikipedia.org/wiki/Glob_(programming)#Syntax"},"globpattern"),". Invalidities include non-existing directories or files, lack of write-permissions where needed, etc."),(0,n.kt)("p",null,"Then, the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/trrt",title:"TRRT (TermRef Rendering Tool): a TEv2 Tool that is designed to facilitate the visualization and rendering of TermRefs."},"TRRT")," reads the specified input files (in arbitrary order), and for each of them, produces an output file that is the same as the input file except for the fact that all ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRefs")," have been replaced with regular ",(0,n.kt)("a",{parentName:"p",href:"https://www.markdownguide.org/basic-syntax/#links"},"markdown links"),", and (optionally) with additional texts that are to be used by third-party rendering tools for enhanced rendering of such links. An example of this would be text that can be used to enhance a link with a popup that contains the definition, or a description of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Term: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"term")," that is being referenced."),(0,n.kt)("p",null,"The ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/trrt",title:"TRRT (TermRef Rendering Tool): a TEv2 Tool that is designed to facilitate the visualization and rendering of TermRefs."},"TRRT")," logs every error- and/or warning condition that it comes across while processing its configuration file, commandline parameters, and input files, in a way that helps tool-operators and document ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/author",title:"Author: a person that creates a text that is meant to be read and understood by others - usually, a particular audience."},"authors")," to identify and fix such conditions."),(0,n.kt)("h2",{id:"deploying-the-tool"},"Deploying the Tool"),(0,n.kt)("p",null,"The ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/trrt",title:"TRRT (TermRef Rendering Tool): a TEv2 Tool that is designed to facilitate the visualization and rendering of TermRefs."},"TRRT")," comes with documentation that enables developers to ascertain its correct functioning (e.g. by using a test set of files, test scripts that exercise its parameters, etc.), and also enables them to deploy the tool in a git repo and author/modify CI-pipes to use that deployment."))}y.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunktev2_specifications=self.webpackChunktev2_specifications||[]).push([[3991],{3905:function(e,t,i){i.d(t,{Zo:function(){return l},kt:function(){return f}});var a=i(7294);function o(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function n(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,a)}return i}function r(e){for(var t=1;t=0||(o[i]=e[i]);return o}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(o[i]=e[i])}return o}var h=a.createContext({}),c=function(e){var t=a.useContext(h),i=t;return e&&(i="function"==typeof e?e(t):r(r({},t),e)),i},l=function(e){var t=c(e.components);return a.createElement(h.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},p=a.forwardRef((function(e,t){var i=e.components,o=e.mdxType,n=e.originalType,h=e.parentName,l=s(e,["components","mdxType","originalType","parentName"]),p=c(i),f=o,m=p["".concat(h,".").concat(f)]||p[f]||d[f]||n;return i?a.createElement(m,r(r({ref:t},l),{},{components:i})):a.createElement(m,r({ref:t},l))}));function f(e,t){var i=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var n=i.length,r=new Array(n);r[0]=p;var s={};for(var h in t)hasOwnProperty.call(t,h)&&(s[h]=t[h]);s.originalType=e,s.mdxType="string"==typeof e?e:o,r[1]=s;for(var c=2;c child <"+("string"==typeof e.type?e.type:e.type.name)+'>: all children of the component should be , and every should have a unique "value" prop.')})))?void 0:i.filter(Boolean))?t:[]}(e).map((function(e){var t=e.props;return{value:t.value,label:t.label,attributes:t.attributes,default:t.default}}))}function p(e){var t=e.values,i=e.children;return(0,o.useMemo)((function(){var e=null!=t?t:d(i);return function(e){var t=(0,c.l)(e,(function(e,t){return e.value===t.value}));if(t.length>0)throw new Error('Docusaurus error: Duplicate values "'+t.map((function(e){return e.value})).join(", ")+'" found in . Every value needs to be unique.')}(e),e}),[t,i])}function f(e){var t=e.value;return e.tabValues.some((function(e){return e.value===t}))}function m(e){var t=e.queryString,i=void 0!==t&&t,a=e.groupId,n=(0,s.k6)(),r=function(e){var t=e.queryString,i=void 0!==t&&t,a=e.groupId;if("string"==typeof i)return i;if(!1===i)return null;if(!0===i&&!a)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return null!=a?a:null}({queryString:i,groupId:a});return[(0,h._X)(r),(0,o.useCallback)((function(e){if(r){var t=new URLSearchParams(n.location.search);t.set(r,e),n.replace(Object.assign({},n.location,{search:t.toString()}))}}),[r,n])]}function g(e){var t,i,a,n,r=e.defaultValue,s=e.queryString,h=void 0!==s&&s,c=e.groupId,d=p(e),g=(0,o.useState)((function(){return function(e){var t,i=e.defaultValue,a=e.tabValues;if(0===a.length)throw new Error("Docusaurus error: the component requires at least one children component");if(i){if(!f({value:i,tabValues:a}))throw new Error('Docusaurus error: The has a defaultValue "'+i+'" but none of its children has the corresponding value. Available values are: '+a.map((function(e){return e.value})).join(", ")+". If you intend to show no default tab, use defaultValue={null} instead.");return i}var o=null!=(t=a.find((function(e){return e.default})))?t:a[0];if(!o)throw new Error("Unexpected error: 0 tabValues");return o.value}({defaultValue:r,tabValues:d})})),u=g[0],y=g[1],b=m({queryString:h,groupId:c}),w=b[0],k=b[1],v=(t=function(e){return e?"docusaurus.tab."+e:null}({groupId:c}.groupId),i=(0,l.Nk)(t),a=i[0],n=i[1],[a,(0,o.useCallback)((function(e){t&&n.set(e)}),[t,n])]),T=v[0],R=v[1],C=function(){var e=null!=w?w:T;return f({value:e,tabValues:d})?e:null}();return(0,o.useLayoutEffect)((function(){C&&y(C)}),[C]),{selectedValue:u,selectValue:(0,o.useCallback)((function(e){if(!f({value:e,tabValues:d}))throw new Error("Can't select invalid tab value="+e);y(e),k(e),R(e)}),[k,R,d]),tabValues:d}}var u=i(2389),y="tabList__CuJ",b="tabItem_LNqP";function w(e){var t=e.className,i=e.block,s=e.selectedValue,h=e.selectValue,c=e.tabValues,l=[],d=(0,r.o5)().blockElementScrollPositionUntilNextRender,p=function(e){var t=e.currentTarget,i=l.indexOf(t),a=c[i].value;a!==s&&(d(t),h(a))},f=function(e){var t,i=null;switch(e.key){case"Enter":p(e);break;case"ArrowRight":var a,o=l.indexOf(e.currentTarget)+1;i=null!=(a=l[o])?a:l[0];break;case"ArrowLeft":var n,r=l.indexOf(e.currentTarget)-1;i=null!=(n=l[r])?n:l[l.length-1]}null==(t=i)||t.focus()};return o.createElement("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,n.Z)("tabs",{"tabs--block":i},t)},c.map((function(e){var t=e.value,i=e.label,r=e.attributes;return o.createElement("li",(0,a.Z)({role:"tab",tabIndex:s===t?0:-1,"aria-selected":s===t,key:t,ref:function(e){return l.push(e)},onKeyDown:f,onClick:p},r,{className:(0,n.Z)("tabs__item",b,null==r?void 0:r.className,{"tabs__item--active":s===t})}),null!=i?i:t)})))}function k(e){var t=e.lazy,i=e.children,a=e.selectedValue,n=(Array.isArray(i)?i:[i]).filter(Boolean);if(t){var r=n.find((function(e){return e.props.value===a}));return r?(0,o.cloneElement)(r,{className:"margin-top--md"}):null}return o.createElement("div",{className:"margin-top--md"},n.map((function(e,t){return(0,o.cloneElement)(e,{key:t,hidden:e.props.value!==a})})))}function v(e){var t=g(e);return o.createElement("div",{className:(0,n.Z)("tabs-container",y)},o.createElement(w,(0,a.Z)({},e,t)),o.createElement(k,(0,a.Z)({},e,t)))}function T(e){var t=(0,u.Z)();return o.createElement(v,(0,a.Z)({key:String(t)},e))}},9257:function(e,t,i){i.r(t),i.d(t,{assets:function(){return f},contentTitle:function(){return d},default:function(){return y},frontMatter:function(){return l},mark:function(){return g},metadata:function(){return p},toc:function(){return m}});var a=i(7462),o=i(3366),n=(i(7294),i(3905)),r=i(4996),s=i(4866),h=i(5162),c=["components"],l={id:"trrt",sidebar_label:"Term Ref Resolution",date:20220421},d="Term Reference Resolution Tool",p={unversionedId:"spec-tools/trrt",id:"spec-tools/trrt",title:"Term Reference Resolution Tool",description:"text to mark",source:"@site/docs/spec-tools/13-trrt.md",sourceDirName:"spec-tools",slug:"/spec-tools/trrt",permalink:"/tev2-specifications/docs/spec-tools/trrt",draft:!1,editUrl:"https://github.com/tno-terminology-design/tev2-specifications/blob/master/docs/spec-tools/13-trrt.md",tags:[],version:"current",lastUpdatedBy:"Ca5e",lastUpdatedAt:1694182104,formattedLastUpdatedAt:"Sep 8, 2023",sidebarPosition:13,frontMatter:{id:"trrt",sidebar_label:"Term Ref Resolution",date:20220421},sidebar:"tev2SideBar",previous:{title:"MRG Importer",permalink:"/tev2-specifications/docs/spec-tools/mrg-importer"},next:{title:"Terminology Construction",permalink:"/tev2-specifications/docs/spec-tools/terminology-construction"}},f={},m=[{value:"Installing the Tool",id:"installing-the-tool",level:2},{value:"Calling the Tool",id:"calling-the-tool",level:2},{value:"Term Ref Resolution",id:"term-ref-resolution",level:2},{value:"Interpretation of the Term Ref",id:"interpretation-of-the-term-ref",level:3},{value:"showtext (required)",id:"showtext",level:4},{value:"scopetag (optional)",id:"scopetag",level:4},{value:"vsntag (optional)",id:"vsntag",level:4},{value:"term (optional)",id:"id",level:4},{value:"trait (optional)",id:"trait",level:4},{value:"Locating the identified MRG Entry",id:"locating-the-identified-mrg-entry",level:3},{value:"Rewriting the Term Ref with a Renderable Ref",id:"rewriting-the-term-ref-with-a-renderable-ref",level:3},{value:"Processing, Errors and Warnings",id:"processing-errors-and-warnings",level:2},{value:"Deploying the Tool",id:"deploying-the-tool",level:2}],g=function(e){var t=e.children;return(0,n.kt)("span",{style:{color:"black",backgroundColor:"yellow",padding:"0.2rem",borderRadius:"2px"}},t)},u={toc:m,mark:g};function y(e){var t=e.components,i=(0,o.Z)(e,c);return(0,n.kt)("wrapper",(0,a.Z)({},u,i,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"term-reference-resolution-tool"},"Term Reference Resolution Tool"),(0,n.kt)("admonition",{type:"caution"},(0,n.kt)("p",{parentName:"admonition"},"The entire section on Terminology Engine v 2 (TEv2) is still under construction.",(0,n.kt)("br",null),"\nAs TEv2 is not (yet) available, the texts that specify the tool are still 'raw', i.e. not yet processed.",(0,n.kt)("br",null),(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/reader",title:"Reader: a person that reads a text that is authored by another person (its Author]), and that tries to understand the meaning of this text in the way its Author intended."},"readers")," will need to see through some (currently unprocessed) notational conventions.")),(0,n.kt)("admonition",{title:"Editor's note",type:"info"},(0,n.kt)("p",{parentName:"admonition"},"Term ref resolution is the same process as we use for ingestion, and other conversions, as (will be) explained in the ",(0,n.kt)("a",{parentName:"p",href:"/docs/spec-files/profile-templates"},"profiles template section"),". When that 'conversion pattern' is stable and properly documented, we need to revise this section to align with those descriptions.")),(0,n.kt)("p",null,"The ",(0,n.kt)("strong",{parentName:"p"},"Term Ref(erence) Resolution Tool (",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/trrt",title:"TRRT (TermRef Rendering Tool): a TEv2 Tool that is designed to facilitate the visualization and rendering of TermRefs."},"TRRT"),")")," takes files that contain so-called ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRefs")," and outputs a copy of these files in which these ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRefs")," are converted into so-called ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/renderable-ref",title:"Renderable-refs: a text with which the TRRT replaces a TermRef, that can be processed by specific third party rendering tools, the result of which is a rendering of the original TermRef that has additional characteristics that help Readers to (better) understand the intention of its Author."},"renderable refs"),", i.e. texts that can be further processed by tools such as GitHub pages, Docusaurus, etc. The result of this is that the rendered document contains markups that help ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/reader",title:"Reader: a person that reads a text that is authored by another person (its Author]), and that tries to understand the meaning of this text in the way its Author intended."},"readers")," to quickly find more explanations of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/concept",title:"Concept: a Knowledge Artifact that captures the ideas/thoughts behind a classification of Entities (what makes Entities in that class 'the same')."},"concept")," or other ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/knowledge-artifact",title:"Knowledge-artifact: something that can be thought of as existing in a particular Knowledge, e.g. a Concept, or a Mental Model."},"knowledge artifact")," that is being referenced."),(0,n.kt)("p",null,"There is currently one implementation of the tool:"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"the repo is ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/tno-terminology-design/trrt"},"here"),"."),(0,n.kt)("li",{parentName:"ul"},"the documentation is ",(0,n.kt)("a",{parentName:"li",href:"https://tno-terminology-design.github.io/trrt"},"here"),".")),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Examples"),(0,n.kt)("p",null,"Consider the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRef")," ",(0,n.kt)("inlineCode",{parentName:"p"},"[the purpose of actors](actor#purpose@essif-lab)"),". Here are a number of ways that it can be converted into:"),(0,n.kt)(s.Z,{defaultValue:"markdown",values:[{label:"Markdown",value:"markdown"},{label:"HTML",value:"html"},{label:"eSSIF-Lab Style",value:"essiflab-style"}],mdxType:"Tabs"},(0,n.kt)(h.Z,{value:"markdown",mdxType:"TabItem"},(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-markdown"}," [the purpose of actors](/framework/docs/terms/actor#purpose)\n")),(0,n.kt)("p",null,"which is text that a markdown interpreter will render into a text ",(0,n.kt)("inlineCode",{parentName:"p"},"the purpose of actors")," that hyperlinks to the (relative) path ",(0,n.kt)("inlineCode",{parentName:"p"},"/framework/docs/terms/actor#purpose"),".")),(0,n.kt)(h.Z,{value:"html",mdxType:"TabItem"},(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-html"},' \n the purpose of actors\n ,\n')),(0,n.kt)("p",null,"which is code that will render the text ",(0,n.kt)("inlineCode",{parentName:"p"},"the purpose of actors")," as a (boldface) hyperlink, that, when clicked, will navigate to the ",(0,n.kt)("inlineCode",{parentName:"p"},"purpose")," section of the page that documents (the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/knowledge-artifact",title:"Knowledge-artifact: something that can be thought of as existing in a particular Knowledge, e.g. a Concept, or a Mental Model."},"knowledge artifact")," called ",(0,n.kt)("inlineCode",{parentName:"p"},"actor"),".")),(0,n.kt)(h.Z,{value:"essiflab-style",mdxType:"TabItem"},(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-html"},' the purpose of actors\n \n')),(0,n.kt)("p",null,"Note that this text is not readily renderable in a browser. ",(0,n.kt)("inlineCode",{parentName:"p"},"")," and ",(0,n.kt)("inlineCode",{parentName:"p"},"")," represent a React component that supports linking and tooltip functionality, so that users hovering over the link will see a popup/tooltip with the text ",(0,n.kt)("inlineCode",{parentName:"p"},""),". This functionality is expected to be provided by an appropriate plugin in the static website generator.")))),(0,n.kt)("p",null,"Conceptually, ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRef")," conversion is a simple two-step process:"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"The ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRef")," is interpreted, the result of which is a set of variables (or if regexes are used: ",(0,n.kt)("a",{parentName:"li",href:"https://riptutorial.com/regex/example/2479/named-capture-groups"},"named capturing groups"),") whose contents ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identify: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identify")," an ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," from a specific ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG"),"."),(0,n.kt)("li",{parentName:"ol"},"Then, using the contents of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identified: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identified")," ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry"),", the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRef")," is replaced by a converter with a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/renderable-ref",title:"Renderable-ref: a text with which the TRRT replaces a TermRef, that can be processed by specific third party rendering tools, the result of which is a rendering of the original TermRef that has additional characteristics that help Readers to (better) understand the intention of its Author."},"renderable ref"),", of the kind as specified by the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/trrt",title:"TRRT (TermRef Rendering Tool): a TEv2 Tool that is designed to facilitate the visualization and rendering of TermRefs."},"TRRT's")," command line arguments or configuration file. Through the use of converters, the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/renderable-ref",title:"Renderable-ref: a text with which the TRRT replaces a TermRef, that can be processed by specific third party rendering tools, the result of which is a rendering of the original TermRef that has additional characteristics that help Readers to (better) understand the intention of its Author."},"renderable ref")," may include all sorts of code that is processed further by other, third party rendering tools.")),(0,n.kt)("p",null,"By cleanly separating ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRef")," interpretation from the part where it is overwritten with a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/renderable-ref",title:"Renderable-ref: a text with which the TRRT replaces a TermRef, that can be processed by specific third party rendering tools, the result of which is a rendering of the original TermRef that has additional characteristics that help Readers to (better) understand the intention of its Author."},"renderable ref"),", it becomes easy to extend the capabilities of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/trrt",title:"TRRT (TermRef Rendering Tool): a TEv2 Tool that is designed to facilitate the visualization and rendering of TermRefs."},"TRRT")," to include ways for rendering ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRefs"),", e.g. for LaTeX, PDF, docx, odt and other formats, as well as for formats that we currently do not even know we would like to have."),(0,n.kt)("p",null,"In order to convert ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRefs")," into ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/renderable-ref",title:"Renderable-refs: a text with which the TRRT replaces a TermRef, that can be processed by specific third party rendering tools, the result of which is a rendering of the original TermRef that has additional characteristics that help Readers to (better) understand the intention of its Author."},"renderable refs"),", ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/trrt",title:"TRRT (TermRef Rendering Tool): a TEv2 Tool that is designed to facilitate the visualization and rendering of TermRefs."},"TRRT")," expects the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF")," and the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," from within which it is being called, to be available. The ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," is used to resolve all links to ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Terms: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"terms")," that are part of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology")," of this ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),". The ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF")," is used to locate the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRGs")," of any (other) ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," whose ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopetag",title:"Scopetag: a Tag that is used to Identify Scopes from within a specific Scope"},"scopetag")," is used as part of a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRef")," that needs to be resolved."),(0,n.kt)("h2",{id:"installing-the-tool"},"Installing the Tool"),(0,n.kt)("p",null,"The tool can be installed from the command line and made globally available by executing"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre"},"npm install tno-terminology-design/trrt -g\n")),(0,n.kt)("h2",{id:"calling-the-tool"},"Calling the Tool"),(0,n.kt)("p",null,"The behavior of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/trrt",title:"TRRT (TermRef Rendering Tool): a TEv2 Tool that is designed to facilitate the visualization and rendering of TermRefs."},"TRRT")," can be configured per call e.g. by a configuration file and/or command-line parameters. The command-line syntax is as follows:"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre"},"trrt [ ] [ ]\n")),(0,n.kt)("p",null,"where:"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("inlineCode",{parentName:"li"},"")," (optional) is a list of key-value pairs"),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"https://en.wikipedia.org/wiki/Glob_(programming)#Syntax"},(0,n.kt)("inlineCode",{parentName:"a"},"globpattern"))," (optional) specifies a set of (input) files that are to be processed. If a configuration file is used, its contents may specify an additional set of input files to be processed.")),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Legend"),(0,n.kt)("p",null,"The columns in the following table are defined as follows:"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("strong",{parentName:"li"},(0,n.kt)("inlineCode",{parentName:"strong"},"Key"))," is the text to be used as a key."),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("strong",{parentName:"li"},(0,n.kt)("inlineCode",{parentName:"strong"},"Value"))," represents the kind of value to be used."),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("strong",{parentName:"li"},(0,n.kt)("inlineCode",{parentName:"strong"},"Req'd"))," specifies whether (",(0,n.kt)("inlineCode",{parentName:"li"},"Y"),") or not (",(0,n.kt)("inlineCode",{parentName:"li"},"n"),") the field is required to be present when the tool is being called. If required, it MUST either be present in the configuration file, or as a command-line parameter."),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("strong",{parentName:"li"},(0,n.kt)("inlineCode",{parentName:"strong"},"Description"))," specifies the meaning of the ",(0,n.kt)("inlineCode",{parentName:"li"},"Value")," field, and other things you may need to know, e.g. why it is needed, a required syntax, etc."))),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:"left"},"Key"),(0,n.kt)("th",{parentName:"tr",align:"left"},"Value"),(0,n.kt)("th",{parentName:"tr",align:"center"},"Req'd"),(0,n.kt)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"config")),(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:"left"},"Path (including the filename) of the tool's (YAML) configuration file. This file contains the default key-value pairs to be used. Allowed keys (and the associated values) are documented in this table. Command-line arguments override key-value pairs specified in the configuration file. This parameter MUST NOT appear in the configuration file itself.")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"input")),(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("a",{parentName:"td",href:"https://en.wikipedia.org/wiki/Glob_(programming)#Syntax"},"Globpattern")," that specifies the set of (input) files that are to be processed.")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"output")),(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"")),(0,n.kt)("td",{parentName:"tr",align:"center"},"Y"),(0,n.kt)("td",{parentName:"tr",align:"left"},"(Root) directory where output files are to be written. This directory is specified as an absolute or relative path.")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"scopedir")),(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"")),(0,n.kt)("td",{parentName:"tr",align:"center"},"Y"),(0,n.kt)("td",{parentName:"tr",align:"left"},"Path of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopedir",title:"Scope-directory: a directory in a computer file system that contains all files that are either being Curated within a particular Scope, or generated to serve some purpose within that Scope."},"scope directory")," from which the tool is called. It MUST contain the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF")," for that ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),", which we will refer to as the 'current scope' for the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/trrt",title:"TRRT (TermRef Rendering Tool): a TEv2 Tool that is designed to facilitate the visualization and rendering of TermRefs."},"TRRT"),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"version")),(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:"left"},"Version of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology")," that is to be used to resolve ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRefs")," for which neither a ",(0,n.kt)("inlineCode",{parentName:"td"},"scope")," nor a ",(0,n.kt)("inlineCode",{parentName:"td"},"version")," part has been specified (which is the most common case). It MUST match either the ",(0,n.kt)("inlineCode",{parentName:"td"},"vsntag")," field, or an element of the ",(0,n.kt)("inlineCode",{parentName:"td"},"altvsntags")," field as specified in the ",(0,n.kt)("a",{parentName:"td",href:"/docs/spec-files/saf#versions"},(0,n.kt)("inlineCode",{parentName:"a"},"versions")," section")," of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"),". When not specified, its value is taken from the ",(0,n.kt)("inlineCode",{parentName:"td"},"defaultvsn")," field in the ",(0,n.kt)("a",{parentName:"td",href:"/docs/spec-files/mrg#mrg-terminology"},"terminology section")," of the default ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," (which is ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identified: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identified")," by the contents of the ",(0,n.kt)("inlineCode",{parentName:"td"},"mrgfile")," field (in the ",(0,n.kt)("a",{parentName:"td",href:"/docs/spec-files/saf#terminology"},(0,n.kt)("inlineCode",{parentName:"a"},"scope")," section")," of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"),").")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"interpreter")),(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:"left"},"Allows for the switching between interpreter types. By default the ",(0,n.kt)("inlineCode",{parentName:"td"},"AltInterpreter")," and ",(0,n.kt)("inlineCode",{parentName:"td"},"StandardInterpreter")," are available. When this parameter is omitted, the basic ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRef")," syntax is used.")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"converter")),(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("inlineCode",{parentName:"td"},"")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:"left"},"The type of converter which creates the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/renderable-ref",title:"Renderable-refs: a text with which the TRRT replaces a TermRef, that can be processed by specific third party rendering tools, the result of which is a rendering of the original TermRef that has additional characteristics that help Readers to (better) understand the intention of its Author."},"renderable refs"),". When this parameter is omitted, the Markdown converter is used.")))),(0,n.kt)("h2",{id:"term-ref-resolution"},"Term Ref Resolution"),(0,n.kt)("p",null,"The ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRef")," resolution process has three steps:"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Interpretation of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRef")," into variables that can be used to ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identify: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identify")," an ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry"),";"),(0,n.kt)("li",{parentName:"ol"},"Locating the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identified: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identified")," ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG Entry"),";"),(0,n.kt)("li",{parentName:"ol"},"Rewriting the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRef")," with a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/renderable-ref",title:"Renderable-ref: a text with which the TRRT replaces a TermRef, that can be processed by specific third party rendering tools, the result of which is a rendering of the original TermRef that has additional characteristics that help Readers to (better) understand the intention of its Author."},"renderable ref"),".")),(0,n.kt)("h3",{id:"interpretation-of-the-term-ref"},"Interpretation of the Term Ref"),(0,n.kt)("p",null,"The following kinds of ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRef")," syntaxes are (to be) supported:"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"the ",(0,n.kt)("a",{parentName:"li",href:"/docs/spec-syntax/term-ref-syntax#basic-syntax"},"basic syntax"),", i.e. ","[",(0,n.kt)("inlineCode",{parentName:"li"},"show text"),"]","(",(0,n.kt)("inlineCode",{parentName:"li"},"term"),"#",(0,n.kt)("inlineCode",{parentName:"li"},"trait"),"@",(0,n.kt)("inlineCode",{parentName:"li"},"scopetag"),":",(0,n.kt)("inlineCode",{parentName:"li"},"vsntag"),");"),(0,n.kt)("li",{parentName:"ul"},"the ",(0,n.kt)("a",{parentName:"li",href:"/docs/spec-syntax/term-ref-syntax#alternative-syntax"},"alternative syntax"),", e.g. ","[",(0,n.kt)("inlineCode",{parentName:"li"},"show text"),"@","]",", which basically moves the ",(0,n.kt)("inlineCode",{parentName:"li"},"@"),"-character from the basic syntax within the square brackets, which in many (if not most) cases is more convenient for ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/author",title:"Author: a person that creates a text that is meant to be read and understood by others - usually, a particular audience."},"authors"),", but has the drawback that the rendering of the plain markdown text would be rendered as ","[show text@]",", which may be inconvenient.")),(0,n.kt)("p",null,"Interpretation of a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRef")," leads to the population of the following variables (or, in case regexes are used, named capturing groups):"),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Using regexes to find the values for the variables"),(0,n.kt)("p",null,"Finding a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRef")," in the file can be done by using a regular expressions (regexes - you can use ",(0,n.kt)("a",{parentName:"p",href:"https://www.debuggex.com/"},"debuggex")," to see what these regexps do (make sure you choose PCRE as the regex flavor to work with))."),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("p",{parentName:"li"},"For the ",(0,n.kt)("a",{parentName:"p",href:"/docs/spec-syntax/term-ref-syntax#basic-syntax"},"basic syntax"),", you can use the PCRE regex"),(0,n.kt)("ul",{parentName:"li"},(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"https://www.debuggex.com/r/G1uvznpNG1mhqEx5"},(0,n.kt)("inlineCode",{parentName:"a"},"(?:(?<=[^`\\\\])|^)\\[(?=[^@\\]]+\\]\\([#a-z0-9_-]*@[:a-z0-9_-]*\\))"))," to find the ",(0,n.kt)("inlineCode",{parentName:"li"},"[")," that starts a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRef"),", and"),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"https://www.debuggex.com/r/36D57uOvsnyPehh3"},(0,n.kt)("inlineCode",{parentName:"a"},"(?[^\\n\\]@]+)\\]\\((?:(?[a-z0-9_-]*)?(?:#(?[a-z0-9_-]+))?)?@(?[a-z0-9_-]*)(?::(?[a-z0-9_-]+))?\\)"))," to find the various parts of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRef")," as (named) capturing groups."))),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("p",{parentName:"li"},"For the ",(0,n.kt)("a",{parentName:"p",href:"/docs/spec-syntax/term-ref-syntax#alternative-syntax"},"alternative syntax"),", you can use the PCRE regex"),(0,n.kt)("ul",{parentName:"li"},(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"https://www.debuggex.com/r/7dEYEdoc52QeIxf4"},(0,n.kt)("inlineCode",{parentName:"a"},"(?:(?<=[^`\\\\])|^)\\[(?=[^@\\]]+@[:a-z0-9_-]*\\](?:\\([#a-z0-9_-]+\\))?)"))," to find the ",(0,n.kt)("inlineCode",{parentName:"li"},"[")," that starts a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRef"),", and"),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"https://www.debuggex.com/r/tMBiAk_W9ipNc9Mm"},(0,n.kt)("inlineCode",{parentName:"a"},"(?[^\\n\\]@]+?)@(?[a-z0-9_-]*)(?::(?[a-z0-9_-]+?))?\\](?:\\((?[a-z0-9_-]*)(?:#(?[a-z0-9_-]+?))?\\))?"))," to subsequently obtain the various fields as (named) capturing groups from the PCRE regex.")))),(0,n.kt)("p",null,"Note that when a value of a named capturing group is empty, it is filled by the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/trrt",title:"TRRT (TermRef Rendering Tool): a TEv2 Tool that is designed to facilitate the visualization and rendering of TermRefs."},"TRRT")," with (default) values according to the specifications below.")),(0,n.kt)("h4",{id:"showtext"},(0,n.kt)("inlineCode",{parentName:"h4"},"showtext")," (required)"),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"showtext")," is a (non-empty) text that will be highlighed/enhanced, and will become clickable and/or receive other features when rendered. It MUST NOT be empty, and it MUST NOT contain the characters ",(0,n.kt)("inlineCode",{parentName:"p"},"@")," or ",(0,n.kt)("inlineCode",{parentName:"p"},"]")," (which we need to be able to distinguish between ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRefs")," and other links)."),(0,n.kt)("admonition",{title:"Editor's note",type:"info"},(0,n.kt)("p",{parentName:"admonition"},"The alternative notation assumes that the ",(0,n.kt)("inlineCode",{parentName:"p"},"showtext")," part of a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRef")," won't contain the ",(0,n.kt)("inlineCode",{parentName:"p"},"@")," character. However, it is likely that some ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/author",title:"Author: a person that creates a text that is meant to be read and understood by others - usually, a particular audience."},"authors")," will want to use an email address as the ",(0,n.kt)("inlineCode",{parentName:"p"},"showtext")," part of a ",(0,n.kt)("em",{parentName:"p"},"regular")," link, e.g. as in ",(0,n.kt)("inlineCode",{parentName:"p"},"[rieks.joosten@tno.nl](mailto:rieks.joosten@tno.nl)"),". However, since ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopetag",title:"Scopetags: a Tag that is used to Identify Scopes from within a specific Scope"},"scopetags")," should not contain ",(0,n.kt)("inlineCode",{parentName:"p"},"."),"-characters, ",(0,n.kt)("inlineCode",{parentName:"p"},"[rieks.joosten@tno.nl]")," does not qualify as a ",(0,n.kt)("inlineCode",{parentName:"p"},"showtext")," in our syntax. Also, it would be detectable if such syntax is followed by ",(0,n.kt)("inlineCode",{parentName:"p"},"(mailto:"),". Any detected problems must result in a proper warning, and the suggestion that email addresses can be used in a ",(0,n.kt)("a",{parentName:"p",href:"https://www.markdownguide.org/basic-syntax/#urls-and-email-addresses"},"link with angle brackets"),", e.g. ",(0,n.kt)("inlineCode",{parentName:"p"},""),".")),(0,n.kt)("h4",{id:"scopetag"},(0,n.kt)("inlineCode",{parentName:"h4"},"scopetag")," (optional)"),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"scopetag")," is a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopetag",title:"Scopetag: a Tag that is used to Identify Scopes from within a specific Scope"},"scopetag")," that ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identifies: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identifies")," the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," within which the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRef")," is to be resolved."),(0,n.kt)("p",null,"If specified, it MUST appear in the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF")," (of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," from which the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/trrt",title:"TRRT (TermRef Rendering Tool): a TEv2 Tool that is designed to facilitate the visualization and rendering of TermRefs."},"TRRT")," is called), as an element of the ",(0,n.kt)("inlineCode",{parentName:"p"},"scopetags")," field of one of elements in the list of ",(0,n.kt)("inlineCode",{parentName:"p"},"scopes"),". That element also contains a ",(0,n.kt)("inlineCode",{parentName:"p"},"scopedir")," field, that can subsequently be used to obtain the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF")," of that ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),"."),(0,n.kt)("p",null,"If not specified, the current ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," (from which the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/trrt",title:"TRRT (TermRef Rendering Tool): a TEv2 Tool that is designed to facilitate the visualization and rendering of TermRefs."},"TRRT")," is being called) will be used. This SHOULD be the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," within which the document containing the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRef")," is being maintained. Note that the preceding ",(0,n.kt)("inlineCode",{parentName:"p"},"@")," sign may never be omitted because as it serves the purpose to distinguish ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRefs")," from other ",(0,n.kt)("a",{parentName:"p",href:"https://www.markdownguide.org/basic-syntax/#links"},"Markdown links"),". A ",(0,n.kt)("inlineCode",{parentName:"p"},"scopetag")," shall only contain characters in regex ",(0,n.kt)("inlineCode",{parentName:"p"},"[a-z0-9_-]"),"."),(0,n.kt)("h4",{id:"vsntag"},(0,n.kt)("inlineCode",{parentName:"h4"},"vsntag")," (optional)"),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"vsntag")," is a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/versiontag",title:"Versiontag: a Tag that is used to Identify a specific version of a Terminology from within a specific Scope."},"versiontag")," that ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identifies: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identifies")," the version of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology")," in the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," (as ","[identified]"," by the ",(0,n.kt)("inlineCode",{parentName:"p"},"scopetag"),"). It MUST appear either in the ",(0,n.kt)("inlineCode",{parentName:"p"},"vsntag")," field, or as one of the elements in the ",(0,n.kt)("inlineCode",{parentName:"p"},"altvsntags")," field of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF")," that contains the administration of that ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),"."),(0,n.kt)("p",null,"If omitted (in which case the preceding ",(0,n.kt)("inlineCode",{parentName:"p"},":"),"-character may also be omitted from the syntax), its value will ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identify: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identify")," the default ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," (as ",(0,n.kt)("a",{parentName:"p",href:"/docs/spec-files/saf#terminology"},"specified")," in the ",(0,n.kt)("inlineCode",{parentName:"p"},"mrgfile")," field os the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"),")."),(0,n.kt)("h4",{id:"id"},(0,n.kt)("inlineCode",{parentName:"h4"},"term")," (optional)"),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"term")," is a text that ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identifies: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identifies")," a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/knowledge-artifact",title:"Knowledge-artifact: something that can be thought of as existing in a particular Knowledge, e.g. a Concept, or a Mental Model."},"knowledge artifact"),", and is specified in the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text")," that documents that ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/knowledge-artifact",title:"Knowledge-artifact: something that can be thought of as existing in a particular Knowledge, e.g. a Concept, or a Mental Model."},"artifact")," (in a specific version of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology")," of a specific ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),"). It will be matched against the ",(0,n.kt)("inlineCode",{parentName:"p"},"term")," fields of ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entries: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entries")," in the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," that documents said ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology"),"."),(0,n.kt)("p",null,"If omitted, "," it is generated as follows (assuming the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," to be used has already been ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identified: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identified"),"):"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"set ",(0,n.kt)("inlineCode",{parentName:"li"},"term"),":=",(0,n.kt)("inlineCode",{parentName:"li"},"showtext"),";"),(0,n.kt)("li",{parentName:"ul"},"convert every character in the (regex) range ",(0,n.kt)("inlineCode",{parentName:"li"},"[A-Z]")," to lower-case;"),(0,n.kt)("li",{parentName:"ul"},"convert every sequence of characters ",(0,n.kt)("inlineCode",{parentName:"li"},"[^A-Za-z_-]+")," to (a single) ",(0,n.kt)("inlineCode",{parentName:"li"},"-")," character;"),(0,n.kt)("li",{parentName:"ul"},"if the resulting ",(0,n.kt)("inlineCode",{parentName:"li"},"term")," ",(0,n.kt)("a",{parentName:"li",href:"/docs/spec-syntax/form-phrase-syntax"},"matches an element in the list of texts")," in the ",(0,n.kt)("inlineCode",{parentName:"li"},"formphrases")," field of an ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry"),", then replace ",(0,n.kt)("inlineCode",{parentName:"li"},"term")," with the contents of the ",(0,n.kt)("inlineCode",{parentName:"li"},"term"),"-field of that same ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry"),".")),(0,n.kt)("admonition",{title:"Editor's note",type:"info"},(0,n.kt)("p",{parentName:"admonition"},"We should clarify the extent to which this ",(0,n.kt)("inlineCode",{parentName:"p"},"matching")," supports formphrase macro's, Currently, this is documented as part of the ",(0,n.kt)("a",{parentName:"p",href:"/docs/spec-syntax/form-phrase-syntax"},"form-phrase syntax")," which doesn't seem right.")),(0,n.kt)("p",null,"It is an error if the resulting ",(0,n.kt)("inlineCode",{parentName:"p"},"term")," does not ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identify: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identify")," an ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," in the selected ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG"),". This may mean that the ",(0,n.kt)("inlineCode",{parentName:"p"},"showtext")," has misspellings, the ",(0,n.kt)("inlineCode",{parentName:"p"},"term")," field was not specified where it had to, or the list of ",(0,n.kt)("inlineCode",{parentName:"p"},"formphrases")," in some ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," should have included more elements."),(0,n.kt)("admonition",{title:"Editor's note",type:"info"},(0,n.kt)("p",{parentName:"admonition"},(0,n.kt)("a",{parentName:"p",href:"https://tartarus.org/martin/PorterStemmer/"},"The Porter Stemming Algorithm")," is a process for removing the commoner morphological and inflexional endings from words in English. Its main use is as part of a term normalisation process that is usually done when setting up Information Retrieval systems. The mentioned site links to lots of freely useable code that the TRRT might want to consider using."),(0,n.kt)("p",{parentName:"admonition"},"Perhaps the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/trrt",title:"TRRT (TermRef Rendering Tool): a TEv2 Tool that is designed to facilitate the visualization and rendering of TermRefs."},"TRRT")," may use this tool as a means for generating the ",(0,n.kt)("inlineCode",{parentName:"p"},"term")," field from the ",(0,n.kt)("inlineCode",{parentName:"p"},"showtext")," if necessary. However, we would need to first experiment with that to see whether or not, c.q. to what extent this conversion does what it is expected to do.")),(0,n.kt)("h4",{id:"trait"},(0,n.kt)("inlineCode",{parentName:"h4"},"trait")," (optional)"),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"trait")," ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identifies: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identifies")," a particular kind of descriptive text that is associated with the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/knowledge-artifact",title:"Knowledge-artifact: something that can be thought of as existing in a particular Knowledge, e.g. a Concept, or a Mental Model."},"knowledge artifact"),". If specified, it must be one of the elements in the list of headingid's as specified in ",(0,n.kt)("a",{parentName:"p",href:"/docs/spec-files/mrg#mrg-entries"},"the ",(0,n.kt)("inlineCode",{parentName:"a"},"headingids")," field")," of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry"),". If omitted, the preceding ",(0,n.kt)("inlineCode",{parentName:"p"},"#"),"-character should also be omitted."),(0,n.kt)("h3",{id:"locating-the-identified-mrg-entry"},"Locating the identified MRG Entry"),(0,n.kt)("p",null,"As soon as the variables have been provided with a value, the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," can be found by following a sequence of steps:"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},(0,n.kt)("strong",{parentName:"p"},"get the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopedir",title:"Scopedir: a directory in a computer file system that contains all files that are either being Curated within a particular Scope, or generated to serve some purpose within that Scope."},"scopedir")," and ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF")," associated with the ",(0,n.kt)("inlineCode",{parentName:"strong"},"scope")," variable of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRef")),". If the value of the ",(0,n.kt)("inlineCode",{parentName:"p"},"scopetag")," variable is the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopetag",title:"Scopetag: a Tag that is used to Identify Scopes from within a specific Scope"},"scopetag")," of the current ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," (as specified when the ",(0,n.kt)("a",{parentName:"p",href:"#calling-the-tool"},"tool was called"),"), then use the current ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopedir",title:"Scopedir: a directory in a computer file system that contains all files that are either being Curated within a particular Scope, or generated to serve some purpose within that Scope."},"scopedir"),". Otherwise, look up the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopedir",title:"Scopedir: a directory in a computer file system that contains all files that are either being Curated within a particular Scope, or generated to serve some purpose within that Scope."},"scopedir")," from the ",(0,n.kt)("a",{parentName:"p",href:"/docs/spec-files/saf#scopes"},(0,n.kt)("inlineCode",{parentName:"a"},"scopes")," section")," of the current ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"),". From the resulting ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopedir",title:"Scopedir: a directory in a computer file system that contains all files that are either being Curated within a particular Scope, or generated to serve some purpose within that Scope."},"scopedir"),", read the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF")," (i.e. the ",(0,n.kt)("inlineCode",{parentName:"p"},"saf.yaml")," file in the root of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopedir",title:"Scopedir: a directory in a computer file system that contains all files that are either being Curated within a particular Scope, or generated to serve some purpose within that Scope."},"scopedir"),").")),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},(0,n.kt)("strong",{parentName:"p"},"get the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," associated with the ",(0,n.kt)("inlineCode",{parentName:"strong"},"vsntag")," of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRef")),". Search the element in the ",(0,n.kt)("a",{parentName:"p",href:"docs/spec-files/mrg#versions"},"versions section")," of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF")," where the ",(0,n.kt)("inlineCode",{parentName:"p"},"vsntag")," variable is either the value of the ",(0,n.kt)("inlineCode",{parentName:"p"},"vsntag")," field, or appears as one of the elements in the ",(0,n.kt)("inlineCode",{parentName:"p"},"altvsntags")," field. Then, obtain the filename of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," from the ",(0,n.kt)("inlineCode",{parentName:"p"},"mrgfile")," field of that element.")),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},(0,n.kt)("strong",{parentName:"p"},"identify the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," associated with the ",(0,n.kt)("inlineCode",{parentName:"strong"},"id")," field of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRef")),". Get the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," from the location specified by the URL ",(0,n.kt)("inlineCode",{parentName:"p"},""),"/",(0,n.kt)("inlineCode",{parentName:"p"},""),"/",(0,n.kt)("inlineCode",{parentName:"p"},"")," (which are all in the context of ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," as identified by the ",(0,n.kt)("inlineCode",{parentName:"p"},"scopetag")," variable). The ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," will be ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identified: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identified")," by a process that starts with the set of all ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"entries")," that exist in the selected ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG"),", and then weeding out any non-matching ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"entries")," by applying the following steps:"),(0,n.kt)("ul",{parentName:"li"},(0,n.kt)("li",{parentName:"ul"},"since ",(0,n.kt)("inlineCode",{parentName:"li"},"term")," must be present, all ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"entries")," are removed whose ",(0,n.kt)("inlineCode",{parentName:"li"},"term")," field differs from the ",(0,n.kt)("inlineCode",{parentName:"li"},"term")," variable;"),(0,n.kt)("li",{parentName:"ul"},"then, if the variable ",(0,n.kt)("inlineCode",{parentName:"li"},"termtype")," is present, all ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"entries")," whose ",(0,n.kt)("inlineCode",{parentName:"li"},"termtype")," field has a different value from what that variable holds, are removed from the set;"),(0,n.kt)("li",{parentName:"ul"},"If the resulting set contains exactly one ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry"),", this is the one that is selected; otherwise, a warning is raised.")))),(0,n.kt)("h3",{id:"rewriting-the-term-ref-with-a-renderable-ref"},"Rewriting the Term Ref with a Renderable Ref"),(0,n.kt)("img",{alt:"From this point onward, texts are under construction",src:(0,r.Z)("images/wip/wip-under-construction-from-here-onward.png")}),(0,n.kt)("br",null),(0,n.kt)("br",null),(0,n.kt)("p",null,"The ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRef")," will by default dereference to a human readable, rendered version of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text")," associated with the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identified: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identified")," ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry"),", which can be obtained through the URL located in the ",(0,n.kt)("inlineCode",{parentName:"p"},"navurl")," field of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry"),", which the text ",(0,n.kt)("inlineCode",{parentName:"p"},"#")," is appended if a ",(0,n.kt)("inlineCode",{parentName:"p"},"trait")," was specified."),(0,n.kt)("admonition",{title:"Editor's note",type:"info"},(0,n.kt)("p",{parentName:"admonition"},"We should think about how to document ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/renderable-ref",title:"Renderable-refs: a text with which the TRRT replaces a TermRef, that can be processed by specific third party rendering tools, the result of which is a rendering of the original TermRef that has additional characteristics that help Readers to (better) understand the intention of its Author."},"renderable refs")," in such a way that they can easily be found and used for different roles (",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/author",title:"Author: a person that creates a text that is meant to be read and understood by others - usually, a particular audience."},"authors"),", curators, developers) and purposes (writing a trrt-config file, adding a new type of ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/renderable-ref",title:"Renderable-ref: a text with which the TRRT replaces a TermRef, that can be processed by specific third party rendering tools, the result of which is a rendering of the original TermRef that has additional characteristics that help Readers to (better) understand the intention of its Author."},"renderable ref"),", etc.).")),(0,n.kt)("p",null,"The text with which the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRef")," is to be replaced can have various formats. This enables the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/trrt",title:"TRRT (TermRef Rendering Tool): a TEv2 Tool that is designed to facilitate the visualization and rendering of TermRefs."},"TRRT")," to be used in different contexts, and its results to be further processed by a variety of third-party rendering tools."),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Examples of term-ref replacements"),(0,n.kt)(s.Z,{defaultValue:"simple",values:[{label:"ToIP Style",value:"simple"},{label:"eSSIF-Lab Style",value:"complex"}],mdxType:"Tabs"},(0,n.kt)(h.Z,{value:"simple",mdxType:"TabItem"},(0,n.kt)("p",null,"The simplest example is where a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRef")," is replaced with a regular ",(0,n.kt)("a",{parentName:"p",href:"https://www.markdownguide.org/basic-syntax/#links"},"markdown link")),(0,n.kt)("p",null,"In this case, the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRef")," ",(0,n.kt)("inlineCode",{parentName:"p"},"[Actions](@)")," is replaced with ",(0,n.kt)("inlineCode",{parentName:"p"},"[Actions](/#action)"),"\nwhere:"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("inlineCode",{parentName:"li"},"hrgfile")," is the contents of the field ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"),".",(0,n.kt)("inlineCode",{parentName:"li"},"scope.hrgfile"),".")),(0,n.kt)("p",null,"Note that if the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRef")," refers to a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," that differs from the current ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),", then the URL should be preceeded by the text specified in the ",(0,n.kt)("inlineCode",{parentName:"p"},"website")," field of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF")," of that ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),", because it would not be a relative (local) hyperlink.")),(0,n.kt)(h.Z,{value:"complex",mdxType:"TabItem"},(0,n.kt)("p",null,"A more complex example is what is done within eSSIF-Lab, where the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curator",title:"Curator: {(noRefs glossaryText)}"},"curators")," not only want ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Terms: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"terms")," to be linked to their (rendered) ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-texts: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated texts"),", but also want them to be provided with a tooltip that states their ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/definition",title:"Definitions: a text that helps Parties to have the same understanding about the meaning of (and Concepts behind) a Term, ideally in such a way that these Parties can determine whether or not they make the same distinction."},"definitions"),"."),(0,n.kt)("p",null,"In this ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),", the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRef")," ",(0,n.kt)("inlineCode",{parentName:"p"},"[Actions](@)")," is replaced with ",(0,n.kt)("inlineCode",{parentName:"p"},'Actions'),"\nwhere:"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("inlineCode",{parentName:"li"},"")," is the text provided in the ",(0,n.kt)("inlineCode",{parentName:"li"},"hoverText")," field of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," whose ",(0,n.kt)("inlineCode",{parentName:"li"},"term")," field is ",(0,n.kt)("inlineCode",{parentName:"li"},"action"),", and"),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("inlineCode",{parentName:"li"},"")," and ",(0,n.kt)("inlineCode",{parentName:"li"},"")," represent a React component that supports linking and tooltip functionality, so that users hovering over the link will see a popup/tooltip with the text ",(0,n.kt)("inlineCode",{parentName:"li"},""),", and will navigate to the location of the (human readable, i.e. rendered) file that contains details and further explanations, as specified in the ",(0,n.kt)("inlineCode",{parentName:"li"},"navurl")," field of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry"),".")),(0,n.kt)("admonition",{title:"Editor's note",type:"info"},(0,n.kt)("p",{parentName:"admonition"},"The implementation of the ",(0,n.kt)("inlineCode",{parentName:"p"},"")," ... ",(0,n.kt)("inlineCode",{parentName:"p"},"")," construct will differ from that which is used by eSSIF-Lab, because a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Term: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"term")," that is defined in this, or another ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),", lives in the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-file: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated file")," at ",(0,n.kt)("inlineCode",{parentName:"p"},"scopedir"),"/",(0,n.kt)("inlineCode",{parentName:"p"},"curatedir"),"/",(0,n.kt)("inlineCode",{parentName:"p"},"locator"),", where"),(0,n.kt)("ul",{parentName:"admonition"},(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("inlineCode",{parentName:"li"},"scopedir")," is the URL that locates the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopedir",title:"Scope-directory: a directory in a computer file system that contains all files that are either being Curated within a particular Scope, or generated to serve some purpose within that Scope."},"scope directory")," of that ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),";"),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("inlineCode",{parentName:"li"},"curatedir")," is the directory in that ",(0,n.kt)("inlineCode",{parentName:"li"},"scopedir")," where ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/knowledge-artifact",title:"Knowledge-artifacts: something that can be thought of as existing in a particular Knowledge, e.g. a Concept, or a Mental Model."},"knowledge artifacts")," (c.q. ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-texts: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated texts"),") live; its value is found both in the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF")," and in the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),";"),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("inlineCode",{parentName:"li"},"locator")," is the path (including filename), relative to ",(0,n.kt)("inlineCode",{parentName:"li"},"scopedir"),"/",(0,n.kt)("inlineCode",{parentName:"li"},"curatedir"),"/, of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-file: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated file")," that describes the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/knowledge-artifact",title:"Knowledge-artifact: something that can be thought of as existing in a particular Knowledge, e.g. a Concept, or a Mental Model."},"knowledge artifact")," that is being referred to.")))))),(0,n.kt)("p",null,"The essentials of the rewriting start with the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopedir",title:"Scopedir: a directory in a computer file system that contains all files that are either being Curated within a particular Scope, or generated to serve some purpose within that Scope."},"scopedir")," of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," from which the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/trrt",title:"TRRT (TermRef Rendering Tool): a TEv2 Tool that is designed to facilitate the visualization and rendering of TermRefs."},"TRRT")," is called, and proceed as follows:"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"access the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"),", and in case the ",(0,n.kt)("inlineCode",{parentName:"li"},"scopetag")," is not of this ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),", look up the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopedir",title:"Scopedir: a directory in a computer file system that contains all files that are either being Curated within a particular Scope, or generated to serve some purpose within that Scope."},"scopedir")," associated with that ",(0,n.kt)("inlineCode",{parentName:"li"},"scopetag")," and obtain its ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"),";"),(0,n.kt)("li",{parentName:"ul"},"using the ",(0,n.kt)("inlineCode",{parentName:"li"},"vsntag"),", locate the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," (or if ",(0,n.kt)("inlineCode",{parentName:"li"},"vsntag")," isn't specified, use the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scopes: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope's")," default ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG"),"-file as specified in the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scopes: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope's")," ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"),");"),(0,n.kt)("li",{parentName:"ul"},"Find the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," that has a ",(0,n.kt)("inlineCode",{parentName:"li"},"term"),"-field that is the same as ",(0,n.kt)("inlineCode",{parentName:"li"},"term"),";")),(0,n.kt)("p",null,"At this point, all data is available for constructing the replacement text. As we have seen, it depends on the situation that need to be supported how the actual construction needs to be done."),(0,n.kt)("h2",{id:"processing-errors-and-warnings"},"Processing, Errors and Warnings"),(0,n.kt)("p",null,"The ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/trrt",title:"TRRT (TermRef Rendering Tool): a TEv2 Tool that is designed to facilitate the visualization and rendering of TermRefs."},"TRRT")," starts by reading its command-line and configuration file. If the command-line has a key that is also found in the configuration file, the command-line key-value pair takes precedence. The resulting set of key-value pairs is tested for proper syntax and validity. Every improper syntax and every invalidity found will be logged. Improper syntax may be e.g. an invalid ",(0,n.kt)("a",{parentName:"p",href:"https://en.wikipedia.org/wiki/Glob_(programming)#Syntax"},"globpattern"),". Invalidities include non-existing directories or files, lack of write-permissions where needed, etc."),(0,n.kt)("p",null,"Then, the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/trrt",title:"TRRT (TermRef Rendering Tool): a TEv2 Tool that is designed to facilitate the visualization and rendering of TermRefs."},"TRRT")," reads the specified input files (in arbitrary order), and for each of them, produces an output file that is the same as the input file except for the fact that all ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRefs")," have been replaced with regular ",(0,n.kt)("a",{parentName:"p",href:"https://www.markdownguide.org/basic-syntax/#links"},"markdown links"),", and (optionally) with additional texts that are to be used by third-party rendering tools for enhanced rendering of such links. An example of this would be text that can be used to enhance a link with a popup that contains the definition, or a description of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Term: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"term")," that is being referenced."),(0,n.kt)("p",null,"The ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/trrt",title:"TRRT (TermRef Rendering Tool): a TEv2 Tool that is designed to facilitate the visualization and rendering of TermRefs."},"TRRT")," logs every error- and/or warning condition that it comes across while processing its configuration file, commandline parameters, and input files, in a way that helps tool-operators and document ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/author",title:"Author: a person that creates a text that is meant to be read and understood by others - usually, a particular audience."},"authors")," to identify and fix such conditions."),(0,n.kt)("h2",{id:"deploying-the-tool"},"Deploying the Tool"),(0,n.kt)("p",null,"The ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/trrt",title:"TRRT (TermRef Rendering Tool): a TEv2 Tool that is designed to facilitate the visualization and rendering of TermRefs."},"TRRT")," comes with documentation that enables developers to ascertain its correct functioning (e.g. by using a test set of files, test scripts that exercise its parameters, etc.), and also enables them to deploy the tool in a git repo and author/modify CI-pipes to use that deployment."))}y.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/83d6452b.e59eb517.js b/assets/js/83d6452b.1f1f6f09.js similarity index 75% rename from assets/js/83d6452b.e59eb517.js rename to assets/js/83d6452b.1f1f6f09.js index c1da8173ba..ca3f54f5c9 100644 --- a/assets/js/83d6452b.e59eb517.js +++ b/assets/js/83d6452b.1f1f6f09.js @@ -1 +1 @@ -"use strict";(self.webpackChunktev2_specifications=self.webpackChunktev2_specifications||[]).push([[1437],{3905:function(e,t,r){r.d(t,{Zo:function(){return p},kt:function(){return d}});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function c(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var s=n.createContext({}),l=function(e){var t=n.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},p=function(e){var t=l(e.components);return n.createElement(s.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},f=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,i=e.originalType,s=e.parentName,p=a(e,["components","mdxType","originalType","parentName"]),f=l(r),d=o,m=f["".concat(s,".").concat(d)]||f[d]||u[d]||i;return r?n.createElement(m,c(c({ref:t},p),{},{components:r})):n.createElement(m,c({ref:t},p))}));function d(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var i=r.length,c=new Array(i);c[0]=f;var a={};for(var s in t)hasOwnProperty.call(t,s)&&(a[s]=t[s]);a.originalType=e,a.mdxType="string"==typeof e?e:o,c[1]=a;for(var l=2;l=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var s=n.createContext({}),l=function(e){var t=n.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):a(a({},t),e)),r},p=function(e){var t=l(e.components);return n.createElement(s.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},f=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,i=e.originalType,s=e.parentName,p=c(e,["components","mdxType","originalType","parentName"]),f=l(r),d=o,m=f["".concat(s,".").concat(d)]||f[d]||u[d]||i;return r?n.createElement(m,a(a({ref:t},p),{},{components:r})):n.createElement(m,a({ref:t},p))}));function d(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var i=r.length,a=new Array(i);a[0]=f;var c={};for(var s in t)hasOwnProperty.call(t,s)&&(c[s]=t[s]);c.originalType=e,c.mdxType="string"==typeof e?e:o,a[1]=c;for(var l=2;l=0||(i[n]=t[n]);return i}(t,e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(i[n]=t[n])}return i}var c=o.createContext({}),p=function(t){var e=o.useContext(c),n=e;return t&&(n="function"==typeof t?t(e):r(r({},e),t)),n},l=function(t){var e=p(t.components);return o.createElement(c.Provider,{value:e},t.children)},h={inlineCode:"code",wrapper:function(t){var e=t.children;return o.createElement(o.Fragment,{},e)}},u=o.forwardRef((function(t,e){var n=t.components,i=t.mdxType,a=t.originalType,c=t.parentName,l=s(t,["components","mdxType","originalType","parentName"]),u=p(n),m=i,f=u["".concat(c,".").concat(m)]||u[m]||h[m]||a;return n?o.createElement(f,r(r({ref:e},l),{},{components:n})):o.createElement(f,r({ref:e},l))}));function m(t,e){var n=arguments,i=e&&e.mdxType;if("string"==typeof t||i){var a=n.length,r=new Array(a);r[0]=u;var s={};for(var c in e)hasOwnProperty.call(e,c)&&(s[c]=e[c]);s.originalType=t,s.mdxType="string"==typeof t?t:i,r[1]=s;for(var p=2;p=0||(i[n]=t[n]);return i}(t,e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(i[n]=t[n])}return i}var c=o.createContext({}),p=function(t){var e=o.useContext(c),n=e;return t&&(n="function"==typeof t?t(e):r(r({},e),t)),n},l=function(t){var e=p(t.components);return o.createElement(c.Provider,{value:e},t.children)},h={inlineCode:"code",wrapper:function(t){var e=t.children;return o.createElement(o.Fragment,{},e)}},u=o.forwardRef((function(t,e){var n=t.components,i=t.mdxType,a=t.originalType,c=t.parentName,l=s(t,["components","mdxType","originalType","parentName"]),u=p(n),m=i,f=u["".concat(c,".").concat(m)]||u[m]||h[m]||a;return n?o.createElement(f,r(r({ref:e},l),{},{components:n})):o.createElement(f,r({ref:e},l))}));function m(t,e){var n=arguments,i=e&&e.mdxType;if("string"==typeof t||i){var a=n.length,r=new Array(a);r[0]=u;var s={};for(var c in e)hasOwnProperty.call(e,c)&&(s[c]=e[c]);s.originalType=t,s.mdxType="string"==typeof t?t:i,r[1]=s;for(var p=2;p=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var h=i.createContext({}),d=function(e){var t=i.useContext(h),r=t;return e&&(r="function"==typeof e?e(t):a(a({},t),e)),r},c=function(e){var t=d(e.components);return i.createElement(h.Provider,{value:t},e.children)},l={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},f=i.forwardRef((function(e,t){var r=e.components,n=e.mdxType,o=e.originalType,h=e.parentName,c=s(e,["components","mdxType","originalType","parentName"]),f=d(r),p=n,u=f["".concat(h,".").concat(p)]||f[p]||l[p]||o;return r?i.createElement(u,a(a({ref:t},c),{},{components:r})):i.createElement(u,a({ref:t},c))}));function p(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=r.length,a=new Array(o);a[0]=f;var s={};for(var h in t)hasOwnProperty.call(t,h)&&(s[h]=t[h]);s.originalType=e,s.mdxType="string"==typeof e?e:n,a[1]=s;for(var d=2;d=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var h=i.createContext({}),d=function(e){var t=i.useContext(h),r=t;return e&&(r="function"==typeof e?e(t):a(a({},t),e)),r},c=function(e){var t=d(e.components);return i.createElement(h.Provider,{value:t},e.children)},l={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},f=i.forwardRef((function(e,t){var r=e.components,n=e.mdxType,o=e.originalType,h=e.parentName,c=s(e,["components","mdxType","originalType","parentName"]),f=d(r),p=n,u=f["".concat(h,".").concat(p)]||f[p]||l[p]||o;return r?i.createElement(u,a(a({ref:t},c),{},{components:r})):i.createElement(u,a({ref:t},c))}));function p(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=r.length,a=new Array(o);a[0]=f;var s={};for(var h in t)hasOwnProperty.call(t,h)&&(s[h]=t[h]);s.originalType=e,s.mdxType="string"==typeof e?e:n,a[1]=s;for(var d=2;d=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var c=a.createContext({}),p=function(e){var t=a.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},f=function(e){var t=p(e.components);return a.createElement(c.Provider,{value:t},e.children)},l={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},u=a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,o=e.originalType,c=e.parentName,f=s(e,["components","mdxType","originalType","parentName"]),u=p(r),d=n,m=u["".concat(c,".").concat(d)]||u[d]||l[d]||o;return r?a.createElement(m,i(i({ref:t},f),{},{components:r})):a.createElement(m,i({ref:t},f))}));function d(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=r.length,i=new Array(o);i[0]=u;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s.mdxType="string"==typeof e?e:n,i[1]=s;for(var p=2;p=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var c=a.createContext({}),p=function(e){var t=a.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},f=function(e){var t=p(e.components);return a.createElement(c.Provider,{value:t},e.children)},l={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},u=a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,o=e.originalType,c=e.parentName,f=s(e,["components","mdxType","originalType","parentName"]),u=p(r),d=n,m=u["".concat(c,".").concat(d)]||u[d]||l[d]||o;return r?a.createElement(m,i(i({ref:t},f),{},{components:r})):a.createElement(m,i({ref:t},f))}));function d(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=r.length,i=new Array(o);i[0]=u;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s.mdxType="string"==typeof e?e:n,i[1]=s;for(var p=2;p=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}var c=n.createContext({}),l=function(e){var t=n.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):s(s({},t),e)),r},p=function(e){var t=l(e.components);return n.createElement(c.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},d=n.forwardRef((function(e,t){var r=e.components,i=e.mdxType,o=e.originalType,c=e.parentName,p=a(e,["components","mdxType","originalType","parentName"]),d=l(r),m=i,h=d["".concat(c,".").concat(m)]||d[m]||u[m]||o;return r?n.createElement(h,s(s({ref:t},p),{},{components:r})):n.createElement(h,s({ref:t},p))}));function m(e,t){var r=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var o=r.length,s=new Array(o);s[0]=d;var a={};for(var c in t)hasOwnProperty.call(t,c)&&(a[c]=t[c]);a.originalType=e,a.mdxType="string"==typeof e?e:i,s[1]=a;for(var l=2;l=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}var c=n.createContext({}),l=function(e){var t=n.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):a(a({},t),e)),r},p=function(e){var t=l(e.components);return n.createElement(c.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},d=n.forwardRef((function(e,t){var r=e.components,i=e.mdxType,o=e.originalType,c=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),d=l(r),m=i,h=d["".concat(c,".").concat(m)]||d[m]||u[m]||o;return r?n.createElement(h,a(a({ref:t},p),{},{components:r})):n.createElement(h,a({ref:t},p))}));function m(e,t){var r=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var o=r.length,a=new Array(o);a[0]=d;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s.mdxType="string"==typeof e?e:i,a[1]=s;for(var l=2;l=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var c=i.createContext({}),l=function(e){var t=i.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):a(a({},t),e)),n},p=function(e){var t=l(e.components);return i.createElement(c.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},m=i.forwardRef((function(e,t){var n=e.components,o=e.mdxType,r=e.originalType,c=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),m=l(n),u=o,f=m["".concat(c,".").concat(u)]||m[u]||d[u]||r;return n?i.createElement(f,a(a({ref:t},p),{},{components:n})):i.createElement(f,a({ref:t},p))}));function u(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var r=n.length,a=new Array(r);a[0]=m;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s.mdxType="string"==typeof e?e:o,a[1]=s;for(var l=2;l=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var c=i.createContext({}),l=function(e){var t=i.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):a(a({},t),e)),n},p=function(e){var t=l(e.components);return i.createElement(c.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},m=i.forwardRef((function(e,t){var n=e.components,o=e.mdxType,r=e.originalType,c=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),m=l(n),u=o,f=m["".concat(c,".").concat(u)]||m[u]||d[u]||r;return n?i.createElement(f,a(a({ref:t},p),{},{components:n})):i.createElement(f,a({ref:t},p))}));function u(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var r=n.length,a=new Array(r);a[0]=m;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s.mdxType="string"==typeof e?e:o,a[1]=s;for(var l=2;l=0||(n[o]=e[o]);return n}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(n[o]=e[o])}return n}var c=i.createContext({}),h=function(e){var t=i.useContext(c),o=t;return e&&(o="function"==typeof e?e(t):r(r({},t),e)),o},p=function(e){var t=h(e.components);return i.createElement(c.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},l=i.forwardRef((function(e,t){var o=e.components,n=e.mdxType,s=e.originalType,c=e.parentName,p=a(e,["components","mdxType","originalType","parentName"]),l=h(o),u=n,f=l["".concat(c,".").concat(u)]||l[u]||d[u]||s;return o?i.createElement(f,r(r({ref:t},p),{},{components:o})):i.createElement(f,r({ref:t},p))}));function u(e,t){var o=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var s=o.length,r=new Array(s);r[0]=l;var a={};for(var c in t)hasOwnProperty.call(t,c)&&(a[c]=t[c]);a.originalType=e,a.mdxType="string"==typeof e?e:n,r[1]=a;for(var h=2;h=0||(n[o]=e[o]);return n}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(n[o]=e[o])}return n}var c=i.createContext({}),h=function(e){var t=i.useContext(c),o=t;return e&&(o="function"==typeof e?e(t):r(r({},t),e)),o},p=function(e){var t=h(e.components);return i.createElement(c.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},l=i.forwardRef((function(e,t){var o=e.components,n=e.mdxType,s=e.originalType,c=e.parentName,p=a(e,["components","mdxType","originalType","parentName"]),l=h(o),u=n,f=l["".concat(c,".").concat(u)]||l[u]||d[u]||s;return o?i.createElement(f,r(r({ref:t},p),{},{components:o})):i.createElement(f,r({ref:t},p))}));function u(e,t){var o=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var s=o.length,r=new Array(s);r[0]=l;var a={};for(var c in t)hasOwnProperty.call(t,c)&&(a[c]=t[c]);a.originalType=e,a.mdxType="string"==typeof e?e:n,r[1]=a;for(var h=2;h=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var c=i.createContext({}),l=function(e){var t=i.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):a(a({},t),e)),n},p=function(e){var t=l(e.components);return i.createElement(c.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},m=i.forwardRef((function(e,t){var n=e.components,r=e.mdxType,o=e.originalType,c=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),m=l(n),f=r,u=m["".concat(c,".").concat(f)]||m[f]||d[f]||o;return n?i.createElement(u,a(a({ref:t},p),{},{components:n})):i.createElement(u,a({ref:t},p))}));function f(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=n.length,a=new Array(o);a[0]=m;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s.mdxType="string"==typeof e?e:r,a[1]=s;for(var l=2;l=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var c=i.createContext({}),l=function(e){var t=i.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):a(a({},t),e)),n},p=function(e){var t=l(e.components);return i.createElement(c.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},m=i.forwardRef((function(e,t){var n=e.components,r=e.mdxType,o=e.originalType,c=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),m=l(n),f=r,u=m["".concat(c,".").concat(f)]||m[f]||d[f]||o;return n?i.createElement(u,a(a({ref:t},p),{},{components:n})):i.createElement(u,a({ref:t},p))}));function f(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=n.length,a=new Array(o);a[0]=m;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s.mdxType="string"==typeof e?e:r,a[1]=s;for(var l=2;l=0||(r[i]=e[i]);return r}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(r[i]=e[i])}return r}var c=o.createContext({}),p=function(e){var t=o.useContext(c),i=t;return e&&(i="function"==typeof e?e(t):s(s({},t),e)),i},l=function(e){var t=p(e.components);return o.createElement(c.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},m=o.forwardRef((function(e,t){var i=e.components,r=e.mdxType,n=e.originalType,c=e.parentName,l=a(e,["components","mdxType","originalType","parentName"]),m=p(i),d=r,g=m["".concat(c,".").concat(d)]||m[d]||u[d]||n;return i?o.createElement(g,s(s({ref:t},l),{},{components:i})):o.createElement(g,s({ref:t},l))}));function d(e,t){var i=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var n=i.length,s=new Array(n);s[0]=m;var a={};for(var c in t)hasOwnProperty.call(t,c)&&(a[c]=t[c]);a.originalType=e,a.mdxType="string"==typeof e?e:r,s[1]=a;for(var p=2;p=0||(r[i]=e[i]);return r}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(r[i]=e[i])}return r}var c=o.createContext({}),p=function(e){var t=o.useContext(c),i=t;return e&&(i="function"==typeof e?e(t):s(s({},t),e)),i},l=function(e){var t=p(e.components);return o.createElement(c.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},m=o.forwardRef((function(e,t){var i=e.components,r=e.mdxType,n=e.originalType,c=e.parentName,l=a(e,["components","mdxType","originalType","parentName"]),m=p(i),d=r,g=m["".concat(c,".").concat(d)]||m[d]||u[d]||n;return i?o.createElement(g,s(s({ref:t},l),{},{components:i})):o.createElement(g,s({ref:t},l))}));function d(e,t){var i=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var n=i.length,s=new Array(n);s[0]=m;var a={};for(var c in t)hasOwnProperty.call(t,c)&&(a[c]=t[c]);a.originalType=e,a.mdxType="string"==typeof e?e:r,s[1]=a;for(var p=2;p=0||(s[i]=e[i]);return s}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(s[i]=e[i])}return s}var c=o.createContext({}),l=function(e){var t=o.useContext(c),i=t;return e&&(i="function"==typeof e?e(t):a(a({},t),e)),i},h=function(e){var t=l(e.components);return o.createElement(c.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},d=o.forwardRef((function(e,t){var i=e.components,s=e.mdxType,n=e.originalType,c=e.parentName,h=r(e,["components","mdxType","originalType","parentName"]),d=l(i),f=s,m=d["".concat(c,".").concat(f)]||d[f]||p[f]||n;return i?o.createElement(m,a(a({ref:t},h),{},{components:i})):o.createElement(m,a({ref:t},h))}));function f(e,t){var i=arguments,s=t&&t.mdxType;if("string"==typeof e||s){var n=i.length,a=new Array(n);a[0]=d;var r={};for(var c in t)hasOwnProperty.call(t,c)&&(r[c]=t[c]);r.originalType=e,r.mdxType="string"==typeof e?e:s,a[1]=r;for(var l=2;l=0||(s[i]=e[i]);return s}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(s[i]=e[i])}return s}var c=o.createContext({}),l=function(e){var t=o.useContext(c),i=t;return e&&(i="function"==typeof e?e(t):a(a({},t),e)),i},h=function(e){var t=l(e.components);return o.createElement(c.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},d=o.forwardRef((function(e,t){var i=e.components,s=e.mdxType,n=e.originalType,c=e.parentName,h=r(e,["components","mdxType","originalType","parentName"]),d=l(i),f=s,m=d["".concat(c,".").concat(f)]||d[f]||p[f]||n;return i?o.createElement(m,a(a({ref:t},h),{},{components:i})):o.createElement(m,a({ref:t},h))}));function f(e,t){var i=arguments,s=t&&t.mdxType;if("string"==typeof e||s){var n=i.length,a=new Array(n);a[0]=d;var r={};for(var c in t)hasOwnProperty.call(t,c)&&(r[c]=t[c]);r.originalType=e,r.mdxType="string"==typeof e?e:s,a[1]=r;for(var l=2;l=0||(n[i]=e[i]);return n}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(n[i]=e[i])}return n}var c=o.createContext({}),l=function(e){var t=o.useContext(c),i=t;return e&&(i="function"==typeof e?e(t):r(r({},t),e)),i},d=function(e){var t=l(e.components);return o.createElement(c.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},h=o.forwardRef((function(e,t){var i=e.components,n=e.mdxType,a=e.originalType,c=e.parentName,d=s(e,["components","mdxType","originalType","parentName"]),h=l(i),m=n,f=h["".concat(c,".").concat(m)]||h[m]||p[m]||a;return i?o.createElement(f,r(r({ref:t},d),{},{components:i})):o.createElement(f,r({ref:t},d))}));function m(e,t){var i=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var a=i.length,r=new Array(a);r[0]=h;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s.mdxType="string"==typeof e?e:n,r[1]=s;for(var l=2;l=0||(n[i]=e[i]);return n}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(n[i]=e[i])}return n}var c=o.createContext({}),l=function(e){var t=o.useContext(c),i=t;return e&&(i="function"==typeof e?e(t):r(r({},t),e)),i},d=function(e){var t=l(e.components);return o.createElement(c.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},h=o.forwardRef((function(e,t){var i=e.components,n=e.mdxType,a=e.originalType,c=e.parentName,d=s(e,["components","mdxType","originalType","parentName"]),h=l(i),m=n,f=h["".concat(c,".").concat(m)]||h[m]||p[m]||a;return i?o.createElement(f,r(r({ref:t},d),{},{components:i})):o.createElement(f,r({ref:t},d))}));function m(e,t){var i=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var a=i.length,r=new Array(a);r[0]=h;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s.mdxType="string"==typeof e?e:n,r[1]=s;for(var l=2;l=0||(n[i]=e[i]);return n}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(n[i]=e[i])}return n}var c=o.createContext({}),m=function(e){var t=o.useContext(c),i=t;return e&&(i="function"==typeof e?e(t):s(s({},t),e)),i},l=function(e){var t=m(e.components);return o.createElement(c.Provider,{value:t},e.children)},h={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},d=o.forwardRef((function(e,t){var i=e.components,n=e.mdxType,r=e.originalType,c=e.parentName,l=a(e,["components","mdxType","originalType","parentName"]),d=m(i),p=n,u=d["".concat(c,".").concat(p)]||d[p]||h[p]||r;return i?o.createElement(u,s(s({ref:t},l),{},{components:i})):o.createElement(u,s({ref:t},l))}));function p(e,t){var i=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var r=i.length,s=new Array(r);s[0]=d;var a={};for(var c in t)hasOwnProperty.call(t,c)&&(a[c]=t[c]);a.originalType=e,a.mdxType="string"==typeof e?e:n,s[1]=a;for(var m=2;m=0||(n[i]=e[i]);return n}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(n[i]=e[i])}return n}var c=o.createContext({}),m=function(e){var t=o.useContext(c),i=t;return e&&(i="function"==typeof e?e(t):s(s({},t),e)),i},l=function(e){var t=m(e.components);return o.createElement(c.Provider,{value:t},e.children)},h={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},d=o.forwardRef((function(e,t){var i=e.components,n=e.mdxType,r=e.originalType,c=e.parentName,l=a(e,["components","mdxType","originalType","parentName"]),d=m(i),p=n,u=d["".concat(c,".").concat(p)]||d[p]||h[p]||r;return i?o.createElement(u,s(s({ref:t},l),{},{components:i})):o.createElement(u,s({ref:t},l))}));function p(e,t){var i=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var r=i.length,s=new Array(r);s[0]=d;var a={};for(var c in t)hasOwnProperty.call(t,c)&&(a[c]=t[c]);a.originalType=e,a.mdxType="string"==typeof e?e:n,s[1]=a;for(var m=2;m=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var l=n.createContext({}),c=function(e){var t=n.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):a(a({},t),e)),r},u=function(e){var t=c(e.components);return n.createElement(l.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,i=e.originalType,l=e.parentName,u=s(e,["components","mdxType","originalType","parentName"]),m=c(r),d=o,f=m["".concat(l,".").concat(d)]||m[d]||p[d]||i;return r?n.createElement(f,a(a({ref:t},u),{},{components:r})):n.createElement(f,a({ref:t},u))}));function d(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var i=r.length,a=new Array(i);a[0]=m;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s.mdxType="string"==typeof e?e:o,a[1]=s;for(var c=2;c=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var l=n.createContext({}),c=function(e){var t=n.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):a(a({},t),e)),r},u=function(e){var t=c(e.components);return n.createElement(l.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,i=e.originalType,l=e.parentName,u=s(e,["components","mdxType","originalType","parentName"]),m=c(r),d=o,f=m["".concat(l,".").concat(d)]||m[d]||p[d]||i;return r?n.createElement(f,a(a({ref:t},u),{},{components:r})):n.createElement(f,a({ref:t},u))}));function d(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var i=r.length,a=new Array(i);a[0]=m;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s.mdxType="string"==typeof e?e:o,a[1]=s;for(var c=2;c=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var l=o.createContext({}),c=function(e){var t=o.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):a(a({},t),e)),n},d=function(e){var t=c(e.components);return o.createElement(l.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},u=o.forwardRef((function(e,t){var n=e.components,r=e.mdxType,i=e.originalType,l=e.parentName,d=s(e,["components","mdxType","originalType","parentName"]),u=c(n),f=r,m=u["".concat(l,".").concat(f)]||u[f]||p[f]||i;return n?o.createElement(m,a(a({ref:t},d),{},{components:n})):o.createElement(m,a({ref:t},d))}));function f(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=n.length,a=new Array(i);a[0]=u;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s.mdxType="string"==typeof e?e:r,a[1]=s;for(var c=2;c=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var l=o.createContext({}),c=function(e){var t=o.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):a(a({},t),e)),n},d=function(e){var t=c(e.components);return o.createElement(l.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},u=o.forwardRef((function(e,t){var n=e.components,r=e.mdxType,i=e.originalType,l=e.parentName,d=s(e,["components","mdxType","originalType","parentName"]),u=c(n),f=r,m=u["".concat(l,".").concat(f)]||u[f]||p[f]||i;return n?o.createElement(m,a(a({ref:t},d),{},{components:n})):o.createElement(m,a({ref:t},d))}));function f(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=n.length,a=new Array(i);a[0]=u;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s.mdxType="string"==typeof e?e:r,a[1]=s;for(var c=2;c=0||(o[r]=t[r]);return o}(t,e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}var u=n.createContext({}),c=function(t){var e=n.useContext(u),r=e;return t&&(r="function"==typeof t?t(e):i(i({},e),t)),r},l=function(t){var e=c(t.components);return n.createElement(u.Provider,{value:e},t.children)},p={inlineCode:"code",wrapper:function(t){var e=t.children;return n.createElement(n.Fragment,{},e)}},d=n.forwardRef((function(t,e){var r=t.components,o=t.mdxType,a=t.originalType,u=t.parentName,l=s(t,["components","mdxType","originalType","parentName"]),d=c(r),h=o,f=d["".concat(u,".").concat(h)]||d[h]||p[h]||a;return r?n.createElement(f,i(i({ref:e},l),{},{components:r})):n.createElement(f,i({ref:e},l))}));function h(t,e){var r=arguments,o=e&&e.mdxType;if("string"==typeof t||o){var a=r.length,i=new Array(a);i[0]=d;var s={};for(var u in e)hasOwnProperty.call(e,u)&&(s[u]=e[u]);s.originalType=t,s.mdxType="string"==typeof t?t:o,i[1]=s;for(var c=2;c=0||(o[r]=t[r]);return o}(t,e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}var u=n.createContext({}),c=function(t){var e=n.useContext(u),r=e;return t&&(r="function"==typeof t?t(e):i(i({},e),t)),r},l=function(t){var e=c(t.components);return n.createElement(u.Provider,{value:e},t.children)},p={inlineCode:"code",wrapper:function(t){var e=t.children;return n.createElement(n.Fragment,{},e)}},d=n.forwardRef((function(t,e){var r=t.components,o=t.mdxType,a=t.originalType,u=t.parentName,l=s(t,["components","mdxType","originalType","parentName"]),d=c(r),h=o,f=d["".concat(u,".").concat(h)]||d[h]||p[h]||a;return r?n.createElement(f,i(i({ref:e},l),{},{components:r})):n.createElement(f,i({ref:e},l))}));function h(t,e){var r=arguments,o=e&&e.mdxType;if("string"==typeof t||o){var a=r.length,i=new Array(a);i[0]=d;var s={};for(var u in e)hasOwnProperty.call(e,u)&&(s[u]=e[u]);s.originalType=t,s.mdxType="string"==typeof t?t:o,i[1]=s;for(var c=2;c=0||(i[r]=t[r]);return i}(t,e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(i[r]=t[r])}return i}var c=o.createContext({}),h=function(t){var e=o.useContext(c),r=e;return t&&(r="function"==typeof t?t(e):a(a({},e),t)),r},d=function(t){var e=h(t.components);return o.createElement(c.Provider,{value:e},t.children)},p={inlineCode:"code",wrapper:function(t){var e=t.children;return o.createElement(o.Fragment,{},e)}},f=o.forwardRef((function(t,e){var r=t.components,i=t.mdxType,n=t.originalType,c=t.parentName,d=s(t,["components","mdxType","originalType","parentName"]),f=h(r),l=i,u=f["".concat(c,".").concat(l)]||f[l]||p[l]||n;return r?o.createElement(u,a(a({ref:e},d),{},{components:r})):o.createElement(u,a({ref:e},d))}));function l(t,e){var r=arguments,i=e&&e.mdxType;if("string"==typeof t||i){var n=r.length,a=new Array(n);a[0]=f;var s={};for(var c in e)hasOwnProperty.call(e,c)&&(s[c]=e[c]);s.originalType=t,s.mdxType="string"==typeof t?t:i,a[1]=s;for(var h=2;h=0||(i[r]=t[r]);return i}(t,e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(i[r]=t[r])}return i}var c=o.createContext({}),h=function(t){var e=o.useContext(c),r=e;return t&&(r="function"==typeof t?t(e):n(n({},e),t)),r},d=function(t){var e=h(t.components);return o.createElement(c.Provider,{value:e},t.children)},p={inlineCode:"code",wrapper:function(t){var e=t.children;return o.createElement(o.Fragment,{},e)}},f=o.forwardRef((function(t,e){var r=t.components,i=t.mdxType,a=t.originalType,c=t.parentName,d=s(t,["components","mdxType","originalType","parentName"]),f=h(r),l=i,u=f["".concat(c,".").concat(l)]||f[l]||p[l]||a;return r?o.createElement(u,n(n({ref:e},d),{},{components:r})):o.createElement(u,n({ref:e},d))}));function l(t,e){var r=arguments,i=e&&e.mdxType;if("string"==typeof t||i){var a=r.length,n=new Array(a);n[0]=f;var s={};for(var c in e)hasOwnProperty.call(e,c)&&(s[c]=e[c]);s.originalType=t,s.mdxType="string"==typeof t?t:i,n[1]=s;for(var h=2;h=0||(n[i]=e[i]);return n}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(n[i]=e[i])}return n}var c=o.createContext({}),l=function(e){var t=o.useContext(c),i=t;return e&&(i="function"==typeof e?e(t):a(a({},t),e)),i},p=function(e){var t=l(e.components);return o.createElement(c.Provider,{value:t},e.children)},h={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},f=o.forwardRef((function(e,t){var i=e.components,n=e.mdxType,s=e.originalType,c=e.parentName,p=r(e,["components","mdxType","originalType","parentName"]),f=l(i),d=n,m=f["".concat(c,".").concat(d)]||f[d]||h[d]||s;return i?o.createElement(m,a(a({ref:t},p),{},{components:i})):o.createElement(m,a({ref:t},p))}));function d(e,t){var i=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var s=i.length,a=new Array(s);a[0]=f;var r={};for(var c in t)hasOwnProperty.call(t,c)&&(r[c]=t[c]);r.originalType=e,r.mdxType="string"==typeof e?e:n,a[1]=r;for(var l=2;l=0||(n[i]=e[i]);return n}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(n[i]=e[i])}return n}var c=o.createContext({}),l=function(e){var t=o.useContext(c),i=t;return e&&(i="function"==typeof e?e(t):a(a({},t),e)),i},p=function(e){var t=l(e.components);return o.createElement(c.Provider,{value:t},e.children)},h={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},f=o.forwardRef((function(e,t){var i=e.components,n=e.mdxType,s=e.originalType,c=e.parentName,p=r(e,["components","mdxType","originalType","parentName"]),f=l(i),d=n,m=f["".concat(c,".").concat(d)]||f[d]||h[d]||s;return i?o.createElement(m,a(a({ref:t},p),{},{components:i})):o.createElement(m,a({ref:t},p))}));function d(e,t){var i=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var s=i.length,a=new Array(s);a[0]=f;var r={};for(var c in t)hasOwnProperty.call(t,c)&&(r[c]=t[c]);r.originalType=e,r.mdxType="string"==typeof e?e:n,a[1]=r;for(var l=2;l=0||(n[i]=e[i]);return n}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(n[i]=e[i])}return n}var c=o.createContext({}),h=function(e){var t=o.useContext(c),i=t;return e&&(i="function"==typeof e?e(t):s(s({},t),e)),i},l=function(e){var t=h(e.components);return o.createElement(c.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},p=o.forwardRef((function(e,t){var i=e.components,n=e.mdxType,r=e.originalType,c=e.parentName,l=a(e,["components","mdxType","originalType","parentName"]),p=h(i),f=n,u=p["".concat(c,".").concat(f)]||p[f]||d[f]||r;return i?o.createElement(u,s(s({ref:t},l),{},{components:i})):o.createElement(u,s({ref:t},l))}));function f(e,t){var i=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var r=i.length,s=new Array(r);s[0]=p;var a={};for(var c in t)hasOwnProperty.call(t,c)&&(a[c]=t[c]);a.originalType=e,a.mdxType="string"==typeof e?e:n,s[1]=a;for(var h=2;h=0||(n[i]=e[i]);return n}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(n[i]=e[i])}return n}var c=o.createContext({}),h=function(e){var t=o.useContext(c),i=t;return e&&(i="function"==typeof e?e(t):s(s({},t),e)),i},l=function(e){var t=h(e.components);return o.createElement(c.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},p=o.forwardRef((function(e,t){var i=e.components,n=e.mdxType,r=e.originalType,c=e.parentName,l=a(e,["components","mdxType","originalType","parentName"]),p=h(i),f=n,u=p["".concat(c,".").concat(f)]||p[f]||d[f]||r;return i?o.createElement(u,s(s({ref:t},l),{},{components:i})):o.createElement(u,s({ref:t},l))}));function f(e,t){var i=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var r=i.length,s=new Array(r);s[0]=p;var a={};for(var c in t)hasOwnProperty.call(t,c)&&(a[c]=t[c]);a.originalType=e,a.mdxType="string"==typeof e?e:n,s[1]=a;for(var h=2;h=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}var c=n.createContext({}),l=function(e){var t=n.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):o(o({},t),e)),r},p=function(e){var t=l(e.components);return n.createElement(c.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},u=n.forwardRef((function(e,t){var r=e.components,i=e.mdxType,a=e.originalType,c=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),u=l(r),f=i,m=u["".concat(c,".").concat(f)]||u[f]||d[f]||a;return r?n.createElement(m,o(o({ref:t},p),{},{components:r})):n.createElement(m,o({ref:t},p))}));function f(e,t){var r=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var a=r.length,o=new Array(a);o[0]=u;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s.mdxType="string"==typeof e?e:i,o[1]=s;for(var l=2;l=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}var c=n.createContext({}),l=function(e){var t=n.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):o(o({},t),e)),r},p=function(e){var t=l(e.components);return n.createElement(c.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},u=n.forwardRef((function(e,t){var r=e.components,i=e.mdxType,a=e.originalType,c=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),u=l(r),f=i,m=u["".concat(c,".").concat(f)]||u[f]||d[f]||a;return r?n.createElement(m,o(o({ref:t},p),{},{components:r})):n.createElement(m,o({ref:t},p))}));function f(e,t){var r=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var a=r.length,o=new Array(a);o[0]=u;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s.mdxType="string"==typeof e?e:i,o[1]=s;for(var l=2;l=0||(a[i]=e[i]);return a}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(a[i]=e[i])}return a}var c=o.createContext({}),h=function(e){var t=o.useContext(c),i=t;return e&&(i="function"==typeof e?e(t):n(n({},t),e)),i},l=function(e){var t=h(e.components);return o.createElement(c.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},p=o.forwardRef((function(e,t){var i=e.components,a=e.mdxType,s=e.originalType,c=e.parentName,l=r(e,["components","mdxType","originalType","parentName"]),p=h(i),m=a,f=p["".concat(c,".").concat(m)]||p[m]||d[m]||s;return i?o.createElement(f,n(n({ref:t},l),{},{components:i})):o.createElement(f,n({ref:t},l))}));function m(e,t){var i=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var s=i.length,n=new Array(s);n[0]=p;var r={};for(var c in t)hasOwnProperty.call(t,c)&&(r[c]=t[c]);r.originalType=e,r.mdxType="string"==typeof e?e:a,n[1]=r;for(var h=2;h=0||(a[i]=e[i]);return a}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(a[i]=e[i])}return a}var c=o.createContext({}),h=function(e){var t=o.useContext(c),i=t;return e&&(i="function"==typeof e?e(t):n(n({},t),e)),i},l=function(e){var t=h(e.components);return o.createElement(c.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},p=o.forwardRef((function(e,t){var i=e.components,a=e.mdxType,s=e.originalType,c=e.parentName,l=r(e,["components","mdxType","originalType","parentName"]),p=h(i),m=a,f=p["".concat(c,".").concat(m)]||p[m]||d[m]||s;return i?o.createElement(f,n(n({ref:t},l),{},{components:i})):o.createElement(f,n({ref:t},l))}));function m(e,t){var i=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var s=i.length,n=new Array(s);n[0]=p;var r={};for(var c in t)hasOwnProperty.call(t,c)&&(r[c]=t[c]);r.originalType=e,r.mdxType="string"==typeof e?e:a,n[1]=r;for(var h=2;h=0||(o[i]=e[i]);return o}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(o[i]=e[i])}return o}var c=n.createContext({}),h=function(e){var t=n.useContext(c),i=t;return e&&(i="function"==typeof e?e(t):a(a({},t),e)),i},d=function(e){var t=h(e.components);return n.createElement(c.Provider,{value:t},e.children)},l={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},p=n.forwardRef((function(e,t){var i=e.components,o=e.mdxType,s=e.originalType,c=e.parentName,d=r(e,["components","mdxType","originalType","parentName"]),p=h(i),f=o,m=p["".concat(c,".").concat(f)]||p[f]||l[f]||s;return i?n.createElement(m,a(a({ref:t},d),{},{components:i})):n.createElement(m,a({ref:t},d))}));function f(e,t){var i=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var s=i.length,a=new Array(s);a[0]=p;var r={};for(var c in t)hasOwnProperty.call(t,c)&&(r[c]=t[c]);r.originalType=e,r.mdxType="string"==typeof e?e:o,a[1]=r;for(var h=2;h=0||(o[i]=e[i]);return o}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(o[i]=e[i])}return o}var c=n.createContext({}),h=function(e){var t=n.useContext(c),i=t;return e&&(i="function"==typeof e?e(t):a(a({},t),e)),i},d=function(e){var t=h(e.components);return n.createElement(c.Provider,{value:t},e.children)},l={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},p=n.forwardRef((function(e,t){var i=e.components,o=e.mdxType,s=e.originalType,c=e.parentName,d=r(e,["components","mdxType","originalType","parentName"]),p=h(i),f=o,m=p["".concat(c,".").concat(f)]||p[f]||l[f]||s;return i?n.createElement(m,a(a({ref:t},d),{},{components:i})):n.createElement(m,a({ref:t},d))}));function f(e,t){var i=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var s=i.length,a=new Array(s);a[0]=p;var r={};for(var c in t)hasOwnProperty.call(t,c)&&(r[c]=t[c]);r.originalType=e,r.mdxType="string"==typeof e?e:o,a[1]=r;for(var h=2;h=0||(s[o]=e[o]);return s}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(s[o]=e[o])}return s}var c=i.createContext({}),l=function(e){var t=i.useContext(c),o=t;return e&&(o="function"==typeof e?e(t):r(r({},t),e)),o},h=function(e){var t=l(e.components);return i.createElement(c.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},d=i.forwardRef((function(e,t){var o=e.components,s=e.mdxType,n=e.originalType,c=e.parentName,h=a(e,["components","mdxType","originalType","parentName"]),d=l(o),u=s,f=d["".concat(c,".").concat(u)]||d[u]||p[u]||n;return o?i.createElement(f,r(r({ref:t},h),{},{components:o})):i.createElement(f,r({ref:t},h))}));function u(e,t){var o=arguments,s=t&&t.mdxType;if("string"==typeof e||s){var n=o.length,r=new Array(n);r[0]=d;var a={};for(var c in t)hasOwnProperty.call(t,c)&&(a[c]=t[c]);a.originalType=e,a.mdxType="string"==typeof e?e:s,r[1]=a;for(var l=2;l=0||(s[o]=e[o]);return s}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(s[o]=e[o])}return s}var c=i.createContext({}),l=function(e){var t=i.useContext(c),o=t;return e&&(o="function"==typeof e?e(t):r(r({},t),e)),o},h=function(e){var t=l(e.components);return i.createElement(c.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},d=i.forwardRef((function(e,t){var o=e.components,s=e.mdxType,n=e.originalType,c=e.parentName,h=a(e,["components","mdxType","originalType","parentName"]),d=l(o),u=s,f=d["".concat(c,".").concat(u)]||d[u]||p[u]||n;return o?i.createElement(f,r(r({ref:t},h),{},{components:o})):i.createElement(f,r({ref:t},h))}));function u(e,t){var o=arguments,s=t&&t.mdxType;if("string"==typeof e||s){var n=o.length,r=new Array(n);r[0]=d;var a={};for(var c in t)hasOwnProperty.call(t,c)&&(a[c]=t[c]);a.originalType=e,a.mdxType="string"==typeof e?e:s,r[1]=a;for(var l=2;l=0||(i[o]=e[o]);return i}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(i[o]=e[o])}return i}var l=n.createContext({}),c=function(e){var t=n.useContext(l),o=t;return e&&(o="function"==typeof e?e(t):s(s({},t),e)),o},u=function(e){var t=c(e.components);return n.createElement(l.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var o=e.components,i=e.mdxType,r=e.originalType,l=e.parentName,u=a(e,["components","mdxType","originalType","parentName"]),m=c(o),f=i,d=m["".concat(l,".").concat(f)]||m[f]||p[f]||r;return o?n.createElement(d,s(s({ref:t},u),{},{components:o})):n.createElement(d,s({ref:t},u))}));function f(e,t){var o=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var r=o.length,s=new Array(r);s[0]=m;var a={};for(var l in t)hasOwnProperty.call(t,l)&&(a[l]=t[l]);a.originalType=e,a.mdxType="string"==typeof e?e:i,s[1]=a;for(var c=2;c=0||(i[o]=e[o]);return i}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(i[o]=e[o])}return i}var l=n.createContext({}),c=function(e){var t=n.useContext(l),o=t;return e&&(o="function"==typeof e?e(t):s(s({},t),e)),o},u=function(e){var t=c(e.components);return n.createElement(l.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var o=e.components,i=e.mdxType,r=e.originalType,l=e.parentName,u=a(e,["components","mdxType","originalType","parentName"]),m=c(o),f=i,d=m["".concat(l,".").concat(f)]||m[f]||p[f]||r;return o?n.createElement(d,s(s({ref:t},u),{},{components:o})):n.createElement(d,s({ref:t},u))}));function f(e,t){var o=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var r=o.length,s=new Array(r);s[0]=m;var a={};for(var l in t)hasOwnProperty.call(t,l)&&(a[l]=t[l]);a.originalType=e,a.mdxType="string"==typeof e?e:i,s[1]=a;for(var c=2;c=0||(o[i]=t[i]);return o}(t,e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(t,i)&&(o[i]=t[i])}return o}var c=a.createContext({}),h=function(t){var e=a.useContext(c),i=e;return t&&(i="function"==typeof t?t(e):s(s({},e),t)),i},d=function(t){var e=h(t.components);return a.createElement(c.Provider,{value:e},t.children)},l={inlineCode:"code",wrapper:function(t){var e=t.children;return a.createElement(a.Fragment,{},e)}},p=a.forwardRef((function(t,e){var i=t.components,o=t.mdxType,n=t.originalType,c=t.parentName,d=r(t,["components","mdxType","originalType","parentName"]),p=h(i),m=o,f=p["".concat(c,".").concat(m)]||p[m]||l[m]||n;return i?a.createElement(f,s(s({ref:e},d),{},{components:i})):a.createElement(f,s({ref:e},d))}));function m(t,e){var i=arguments,o=e&&e.mdxType;if("string"==typeof t||o){var n=i.length,s=new Array(n);s[0]=p;var r={};for(var c in e)hasOwnProperty.call(e,c)&&(r[c]=e[c]);r.originalType=t,r.mdxType="string"==typeof t?t:o,s[1]=r;for(var h=2;h child <"+("string"==typeof t.type?t.type:t.type.name)+'>: all children of the component should be , and every should have a unique "value" prop.')})))?void 0:i.filter(Boolean))?e:[]}(t).map((function(t){var e=t.props;return{value:e.value,label:e.label,attributes:e.attributes,default:e.default}}))}function p(t){var e=t.values,i=t.children;return(0,o.useMemo)((function(){var t=null!=e?e:l(i);return function(t){var e=(0,h.l)(t,(function(t,e){return t.value===e.value}));if(e.length>0)throw new Error('Docusaurus error: Duplicate values "'+e.map((function(t){return t.value})).join(", ")+'" found in . Every value needs to be unique.')}(t),t}),[e,i])}function m(t){var e=t.value;return t.tabValues.some((function(t){return t.value===e}))}function f(t){var e=t.queryString,i=void 0!==e&&e,a=t.groupId,n=(0,r.k6)(),s=function(t){var e=t.queryString,i=void 0!==e&&e,a=t.groupId;if("string"==typeof i)return i;if(!1===i)return null;if(!0===i&&!a)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return null!=a?a:null}({queryString:i,groupId:a});return[(0,c._X)(s),(0,o.useCallback)((function(t){if(s){var e=new URLSearchParams(n.location.search);e.set(s,t),n.replace(Object.assign({},n.location,{search:e.toString()}))}}),[s,n])]}function g(t){var e,i,a,n,s=t.defaultValue,r=t.queryString,c=void 0!==r&&r,h=t.groupId,l=p(t),g=(0,o.useState)((function(){return function(t){var e,i=t.defaultValue,a=t.tabValues;if(0===a.length)throw new Error("Docusaurus error: the component requires at least one children component");if(i){if(!m({value:i,tabValues:a}))throw new Error('Docusaurus error: The has a defaultValue "'+i+'" but none of its children has the corresponding value. Available values are: '+a.map((function(t){return t.value})).join(", ")+". If you intend to show no default tab, use defaultValue={null} instead.");return i}var o=null!=(e=a.find((function(t){return t.default})))?e:a[0];if(!o)throw new Error("Unexpected error: 0 tabValues");return o.value}({defaultValue:s,tabValues:l})})),u=g[0],y=g[1],b=f({queryString:c,groupId:h}),v=b[0],k=b[1],w=(e=function(t){return t?"docusaurus.tab."+t:null}({groupId:h}.groupId),i=(0,d.Nk)(e),a=i[0],n=i[1],[a,(0,o.useCallback)((function(t){e&&n.set(t)}),[e,n])]),N=w[0],C=w[1],T=function(){var t=null!=v?v:N;return m({value:t,tabValues:l})?t:null}();return(0,o.useLayoutEffect)((function(){T&&y(T)}),[T]),{selectedValue:u,selectValue:(0,o.useCallback)((function(t){if(!m({value:t,tabValues:l}))throw new Error("Can't select invalid tab value="+t);y(t),k(t),C(t)}),[k,C,l]),tabValues:l}}var u=i(2389),y="tabList__CuJ",b="tabItem_LNqP";function v(t){var e=t.className,i=t.block,r=t.selectedValue,c=t.selectValue,h=t.tabValues,d=[],l=(0,s.o5)().blockElementScrollPositionUntilNextRender,p=function(t){var e=t.currentTarget,i=d.indexOf(e),a=h[i].value;a!==r&&(l(e),c(a))},m=function(t){var e,i=null;switch(t.key){case"Enter":p(t);break;case"ArrowRight":var a,o=d.indexOf(t.currentTarget)+1;i=null!=(a=d[o])?a:d[0];break;case"ArrowLeft":var n,s=d.indexOf(t.currentTarget)-1;i=null!=(n=d[s])?n:d[d.length-1]}null==(e=i)||e.focus()};return o.createElement("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,n.Z)("tabs",{"tabs--block":i},e)},h.map((function(t){var e=t.value,i=t.label,s=t.attributes;return o.createElement("li",(0,a.Z)({role:"tab",tabIndex:r===e?0:-1,"aria-selected":r===e,key:e,ref:function(t){return d.push(t)},onKeyDown:m,onClick:p},s,{className:(0,n.Z)("tabs__item",b,null==s?void 0:s.className,{"tabs__item--active":r===e})}),null!=i?i:e)})))}function k(t){var e=t.lazy,i=t.children,a=t.selectedValue,n=(Array.isArray(i)?i:[i]).filter(Boolean);if(e){var s=n.find((function(t){return t.props.value===a}));return s?(0,o.cloneElement)(s,{className:"margin-top--md"}):null}return o.createElement("div",{className:"margin-top--md"},n.map((function(t,e){return(0,o.cloneElement)(t,{key:e,hidden:t.props.value!==a})})))}function w(t){var e=g(t);return o.createElement("div",{className:(0,n.Z)("tabs-container",y)},o.createElement(v,(0,a.Z)({},t,e)),o.createElement(k,(0,a.Z)({},t,e)))}function N(t){var e=(0,u.Z)();return o.createElement(w,(0,a.Z)({key:String(e)},t))}},3405:function(t,e,i){i.r(e),i.d(e,{assets:function(){return d},contentTitle:function(){return c},default:function(){return m},frontMatter:function(){return r},metadata:function(){return h},toc:function(){return l}});var a=i(7462),o=i(3366),n=(i(7294),i(3905)),s=(i(4996),i(4866),i(5162),["components"]),r={id:"mrg",sidebar_label:"MRG (Machine Readable Glossary)",date:20220303},c="Machine Readable Glossary (MRG)",h={unversionedId:"spec-files/mrg",id:"spec-files/mrg",title:"Machine Readable Glossary (MRG)",description:"The entire section on Terminology Engine v 2 (TEv2) is still under construction.",source:"@site/docs/spec-files/21-mrg.md",sourceDirName:"spec-files",slug:"/spec-files/mrg",permalink:"/tev2-specifications/docs/spec-files/mrg",draft:!1,editUrl:"https://github.com/tno-terminology-design/tev2-specifications/blob/master/docs/spec-files/21-mrg.md",tags:[],version:"current",lastUpdatedBy:"Kees",lastUpdatedAt:1694174606,formattedLastUpdatedAt:"Sep 8, 2023",sidebarPosition:21,frontMatter:{id:"mrg",sidebar_label:"MRG (Machine Readable Glossary)",date:20220303},sidebar:"tev2SideBar",previous:{title:"Profile Templates",permalink:"/tev2-specifications/docs/spec-files/profile-templates"},next:{title:"HRG (Human Readable Glossary)",permalink:"/tev2-specifications/docs/spec-files/hrg"}},d={},l=[{value:"File naming conventions",id:"mrg-file-naming",level:2},{value:"MRG structure",id:"mrg-structure",level:2},{value:"MRG Terminology section",id:"mrg-terminology",level:3},{value:"MRG scopes section",id:"mrg-scopes",level:3},{value:"MRG Entries (the entries section)",id:"mrg-entries",level:2}],p={toc:l};function m(t){var e=t.components,i=(0,o.Z)(t,s);return(0,n.kt)("wrapper",(0,a.Z)({},p,i,{components:e,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"machine-readable-glossary-mrg"},"Machine Readable Glossary (MRG)"),(0,n.kt)("admonition",{type:"caution"},(0,n.kt)("p",{parentName:"admonition"},"The entire section on Terminology Engine v 2 (TEv2) is still under construction.",(0,n.kt)("br",null),"\nAs TEv2 is not (yet) available, the texts that specify the tool are still 'raw', i.e. not yet processed.",(0,n.kt)("br",null),(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/reader",title:"Reader: a person that reads a text that is authored by another person (its Author]), and that tries to understand the meaning of this text in the way its Author intended."},"readers")," will need to see through some (currently unprocessed) notational conventions.")),(0,n.kt)("p",null,"Every ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," has (at least) one ",(0,n.kt)("strong",{parentName:"p"},"Machine Readable Inventory"),(0,n.kt)("sup",{parentName:"p",id:"fnref-1"},(0,n.kt)("a",{parentName:"sup",href:"#fn-1",className:"footnote-ref"},"1"))," (that we call a ",(0,n.kt)("strong",{parentName:"p"},"Machine Readable Glossary")," or ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG"),"), that renders the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology")," of a specific ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," into a specific, well-defined format that is described in this document. An ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," is meant to be used by the tools from the ",(0,n.kt)("a",{parentName:"p",href:"/docs-toolbox"},"toolbox"),", e.g. for creating a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/hrg",title:"Human Readable Glossary (HRG): a Glossary that is designed to be easily understandable and accessible to humans. HRGs present terms and their meanings in a format that prioritizes human comprehension and may include additional contextual information to aid understanding."},"HRG"),", or to help resolve ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRefs"),". A ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," may have multiple ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRGs"),", each of which represents a specific version of its ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology"),"."),(0,n.kt)("h2",{id:"mrg-file-naming"},"File naming conventions"),(0,n.kt)("p",null,"The file naming conventions apply to one particular ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),", which implies that there is a single ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"),", a single ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/glossarydir",title:"Glossarydir: a directory within a Scopedir within which the different versions of its (Machine Readable and Human Readable) Glossaries are created and maintained."},"glossarydir"),", and a single ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopedir",title:"Scopedir: a directory in a computer file system that contains all files that are either being Curated within a particular Scope, or generated to serve some purpose within that Scope."},"scopedir")," (called ",(0,n.kt)("inlineCode",{parentName:"p"},"{scopedir}")," here). Within this ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),", the meaning of ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopetag",title:"Scopetags: a Tag that is used to Identify Scopes from within a specific Scope"},"scopetags"),", i.e. the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scopes: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scopes")," to which they refer, are defined in/by the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"),". "),(0,n.kt)("p",null,"Within this ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/glossarydir",title:"Glossarydir: a directory within a Scopedir within which the different versions of its (Machine Readable and Human Readable) Glossaries are created and maintained."},"glossarydir")," we can generate (or import), and hence also find all ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG"),"-files that are needed within its ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),". We use the following file naming convention for such files:"),(0,n.kt)("p",null,(0,n.kt)("strong",{parentName:"p"},(0,n.kt)("inlineCode",{parentName:"strong"},"mrg...yaml"))," is the name of a file that contains an actual ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG"),", or it is a file that links (references) such a file, where:"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},(0,n.kt)("inlineCode",{parentName:"strong"},""))," is the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopetag",title:"Scopetag: a Tag that is used to Identify Scopes from within a specific Scope"},"scopetag")," that ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identifies: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identifies")," the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," in which the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," is curated, as specified in the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF")," of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," we are in. Thus, its value must either be that of the ",(0,n.kt)("inlineCode",{parentName:"li"},"scopetag"),"-field in the ",(0,n.kt)("a",{parentName:"li",href:"docs/spec-files/saf#terminology"},"scope section")," of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"),", or it must be one of the values in the ",(0,n.kt)("inlineCode",{parentName:"li"},"scopetags"),"-field in the ",(0,n.kt)("a",{parentName:"li",href:"docs/spec-files/saf#scopes"},"scopes (plural) section")," of that ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"),"."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},(0,n.kt)("inlineCode",{parentName:"strong"},""))," is the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/versiontag",title:"Versiontag: a Tag that is used to Identify a specific version of a Terminology from within a specific Scope."},"versiontag")," that ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identifies: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identifies")," the version of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology")," for which the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," contains ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"entries"),". Its value must be either one of the ",(0,n.kt)("inlineCode",{parentName:"li"},"vsntag"),"-fields, or appear in one of the ",(0,n.kt)("inlineCode",{parentName:"li"},"alatvsntag"),"-fields in the ",(0,n.kt)("a",{parentName:"li",href:"/docs/spec-files/saf#versions"},"versions section")," of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"),".")),(0,n.kt)("p",null,"This naming convention enables tools (as well as ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curator",title:"Curator: {(noRefs glossaryText)}"},"curators")," and others) that operate within a particular ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),", to quickly find a particular ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," that is relevant for that ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),"."),(0,n.kt)("h2",{id:"mrg-structure"},"MRG structure"),(0,n.kt)("p",null,"A Machine Readable Glossary (MRG) is a YAML (or JSON) file that has three sections:"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},(0,n.kt)("inlineCode",{parentName:"strong"},"terminology"))," specifies the characteristics of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology")," of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),". This includes the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopetag",title:"Scopetag: a Tag that is used to Identify Scopes from within a specific Scope"},"scopetag")," and ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopedir",title:"Scopedir: a directory in a computer file system that contains all files that are either being Curated within a particular Scope, or generated to serve some purpose within that Scope."},"scopedir")," of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),", as well as the license under which the contents of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," can be used."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},(0,n.kt)("inlineCode",{parentName:"strong"},"scopes"))," specifies which (other) ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scopes: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scopes")," are relevant to this ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology"),". This includes the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopetag",title:"Scopetag: a Tag that is used to Identify Scopes from within a specific Scope"},"scopetag")," and ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopedir",title:"Scopedir: a directory in a computer file system that contains all files that are either being Curated within a particular Scope, or generated to serve some purpose within that Scope."},"scopedir")," of any such ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),"."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},(0,n.kt)("inlineCode",{parentName:"strong"},"entries"))," contains an (unsorted) list of ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entries: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entries"),".")),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Example of sections `terminology` and `scopes`"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-yaml"},"terminology: # the fields below must match the corresponding data in the SAF\n scopetag: tev2 # scope, the terminology of which is contained in this MRG\n scopedir: https://github.com/tno-terminology-design/tev2-specifications/tree/master/docs\n curatedir: terms\n vsntag: v0.9.4\n altvsntags: [ latest ]\n license: LICENSE.md\nscopes: # mappings of scopetags that are used, and their scopedirs\n - scopetag: essiflab\n scopedir: https://github.com/essif-lab/framework/tree/master/docs\n - scopetag: ctwg\n scopedir: https://github.com/trustoverip/ctwg\nentries: # here follows an (unsorted) list of MRG entries\n"))),(0,n.kt)("h3",{id:"mrg-terminology"},"MRG ",(0,n.kt)("inlineCode",{parentName:"h3"},"Terminology")," section"),(0,n.kt)("p",null,"The following fields are defined for the sections ",(0,n.kt)("inlineCode",{parentName:"p"},"terminology"),":"),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Legend"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("strong",{parentName:"li"},(0,n.kt)("inlineCode",{parentName:"strong"},"Name"))," contains the field name;"),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("strong",{parentName:"li"},(0,n.kt)("inlineCode",{parentName:"strong"},"Req'd"))," specifies whether (",(0,n.kt)("inlineCode",{parentName:"li"},"Y"),") or not (",(0,n.kt)("inlineCode",{parentName:"li"},"n"),", or ",(0,n.kt)("inlineCode",{parentName:"li"},"F"),") the field is required to be present as a header field. The ",(0,n.kt)("inlineCode",{parentName:"li"},"F")," means that we reserve this field for Future Use."),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("strong",{parentName:"li"},(0,n.kt)("inlineCode",{parentName:"strong"},"Description"))," specifies the meaning of the field, and other things you may need to know, e.g. why it is needed, a required syntax, etc."))),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:"center"},"Req'd"),(0,n.kt)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"scopetag")),(0,n.kt)("td",{parentName:"tr",align:"center"},"Y"),(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopetag",title:"Scopetag: a Tag that is used to Identify Scopes from within a specific Scope"},"Scopetag")," of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," in which the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," is defined.")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"scopedir")),(0,n.kt)("td",{parentName:"tr",align:"center"},"Y"),(0,n.kt)("td",{parentName:"tr",align:"left"},"URL that locates the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopedir",title:"Scope-directory: a directory in a computer file system that contains all files that are either being Curated within a particular Scope, or generated to serve some purpose within that Scope."},"scope directory")," associated with that ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"curatedir")),(0,n.kt)("td",{parentName:"tr",align:"center"},"Y"),(0,n.kt)("td",{parentName:"tr",align:"left"},"Path to the directory where all ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-files: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated files")," are located. This directory may contain subdirectories to allow ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curator",title:"Curator: {(noRefs glossaryText)}"},"curators")," to organize the files in any way they see fit. Full URL is ",(0,n.kt)("inlineCode",{parentName:"td"},""),"/",(0,n.kt)("inlineCode",{parentName:"td"},""),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"vsntag")),(0,n.kt)("td",{parentName:"tr",align:"center"},"Y"),(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/versiontag",title:"Versiontag: a Tag that is used to Identify a specific version of a Terminology from within a specific Scope."},"versiontag")," by which the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology")," of this ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," can be distinguished from the other versions of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology")," (in other ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRGs"),"). Its value MUST match the ",(0,n.kt)("inlineCode",{parentName:"td"},"vsntag")," field of the corresponding ",(0,n.kt)("inlineCode",{parentName:"td"},"versions")," section in the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"))),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"altvsntags")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:"left"},"List of alternative ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/versiontag",title:"Versiontags: a Tag that is used to Identify a specific version of a Terminology from within a specific Scope."},"versiontags")," that can be used to ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identify: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identify")," this version. Each of the values MUST be in the list of ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/versiontag",title:"Versiontags: a Tag that is used to Identify a specific version of a Terminology from within a specific Scope."},"versiontags")," in the ",(0,n.kt)("inlineCode",{parentName:"td"},"altvsntags")," field of the the corresponding ",(0,n.kt)("inlineCode",{parentName:"td"},"versions")," section in the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"license")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:"left"},"File that contains the (default) licensing conditions. Full URL is ",(0,n.kt)("inlineCode",{parentName:"td"},"scopedir"),"/",(0,n.kt)("inlineCode",{parentName:"td"},"license"),". Its value MUST match the ",(0,n.kt)("inlineCode",{parentName:"td"},"license")," field of the corresponding ",(0,n.kt)("inlineCode",{parentName:"td"},"versions")," section in the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"),", or if that isn't specified, the ",(0,n.kt)("inlineCode",{parentName:"td"},"license")," field of the ",(0,n.kt)("inlineCode",{parentName:"td"},"scope")," section in the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"),".")))),(0,n.kt)("h3",{id:"mrg-scopes"},"MRG ",(0,n.kt)("inlineCode",{parentName:"h3"},"scopes")," section"),(0,n.kt)("p",null,"The following fields are defined for the section ",(0,n.kt)("inlineCode",{parentName:"p"},"scopes"),":"),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Legend"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("strong",{parentName:"li"},(0,n.kt)("inlineCode",{parentName:"strong"},"Name"))," contains the field name;"),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("strong",{parentName:"li"},(0,n.kt)("inlineCode",{parentName:"strong"},"Req'd"))," specifies whether (",(0,n.kt)("inlineCode",{parentName:"li"},"Y"),") or not (",(0,n.kt)("inlineCode",{parentName:"li"},"n"),", or ",(0,n.kt)("inlineCode",{parentName:"li"},"F"),") the field is required to be present as a header field. The ",(0,n.kt)("inlineCode",{parentName:"li"},"F")," means that we reserve this field for Future Use."),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("strong",{parentName:"li"},(0,n.kt)("inlineCode",{parentName:"strong"},"Description"))," specifies the meaning of the field, and other things you may need to know, e.g. why it is needed, a required syntax, etc."))),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:"center"},"Req'd"),(0,n.kt)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"scopetag")),(0,n.kt)("td",{parentName:"tr",align:"center"},"Y"),(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopetag",title:"Scopetag: a Tag that is used to Identify Scopes from within a specific Scope"},"Scopetag")," of a third-party ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),", the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," of which contains ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entries: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entries")," that have been imported into the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG"),". This ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopetag",title:"Scopetag: a Tag that is used to Identify Scopes from within a specific Scope"},"scopetag")," has been chosen by the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curator",title:"Curator: {(noRefs glossaryText)}"},"curators")," of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," of which the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," is part, to refer to that particular third-party ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),". This ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopetag",title:"Scopetag: a Tag that is used to Identify Scopes from within a specific Scope"},"scopetag")," may differ from the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopetag",title:"Scopetag: a Tag that is used to Identify Scopes from within a specific Scope"},"scopetag")," that the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curator",title:"Curator: {(noRefs glossaryText)}"},"curators")," of that third-party ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," have chosen for this ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," ",(0,n.kt)("br",null),"Must satisfy regex ",(0,n.kt)("inlineCode",{parentName:"td"},"[a-z0-9_-]+"),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"scopedir")),(0,n.kt)("td",{parentName:"tr",align:"center"},"Y"),(0,n.kt)("td",{parentName:"tr",align:"left"},"URL that locates the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopedir",title:"Scope-directory: a directory in a computer file system that contains all files that are either being Curated within a particular Scope, or generated to serve some purpose within that Scope."},"scope directory")," associated with that third-party ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),".")))),(0,n.kt)("h2",{id:"mrg-entries"},"MRG Entries (the ",(0,n.kt)("inlineCode",{parentName:"h2"},"entries")," section)"),(0,n.kt)("p",null,"The ",(0,n.kt)("inlineCode",{parentName:"p"},"entries")," section of an ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," is a list of ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entries: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entries"),", the purpose of which is that the various tools can find all data that is relevant for the purpose that such a tool serves."),(0,n.kt)("p",null,"An ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," has a few fields that are always present, because the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrgt",title:"MRGT: a software tool designed to create, manage, and process Machine Readable Glossaries (MRGs), as [specified by TEv2](/docs/spec-tools/mrgt). MRGTs offer features for selecting Terms that are Curated within the Scope it is run in, or from other Scopes."},"MRGT")," generates them, as follows:"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Field"),(0,n.kt)("th",{parentName:"tr",align:"left"},"Value(s) that are assigned to the fields"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"scopetag")),(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopetag",title:"Scopetag: a Tag that is used to Identify Scopes from within a specific Scope"},"Scopetag")," that ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identifies: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identifies")," the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," from within which the contents of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," is obtained. This is either ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," from within which the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," has been generated, or the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," from which the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," was imported. In the latter case, the ",(0,n.kt)("a",{parentName:"td",href:"#mrg-scopes"},(0,n.kt)("inlineCode",{parentName:"a"},"scopes")," section")," in the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," MUST contain a mapping between the ",(0,n.kt)("inlineCode",{parentName:"td"},"scopetag")," and its associated ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopedir",title:"Scope-directory: a directory in a computer file system that contains all files that are either being Curated within a particular Scope, or generated to serve some purpose within that Scope."},"scope directory"),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"vsntag")),(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/versiontag",title:"Versiontag: a Tag that is used to Identify a specific version of a Terminology from within a specific Scope."},"Versiontag")," that ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identifies: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identifies")," the version of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology")," from which the contents of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," is obtained. If the contents of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," was constructed from a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text"),", its value equals the value of the ",(0,n.kt)("inlineCode",{parentName:"td"},"vsntag")," field in the ",(0,n.kt)("a",{parentName:"td",href:"#mrg-terminology"},(0,n.kt)("inlineCode",{parentName:"a"},"terminology"),"-section")," of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," that this ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," is a part of. As a result, ",(0,n.kt)("inlineCode",{parentName:"td"},"scopetag"),":",(0,n.kt)("inlineCode",{parentName:"td"},"versiontag")," ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identifies: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identifies")," the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology")," from which this ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," has originated.",(0,n.kt)("br",null),"Must satisfy regex ",(0,n.kt)("inlineCode",{parentName:"td"},"[a-z0-9_-.]+"),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"locator")),(0,n.kt)("td",{parentName:"tr",align:"left"},"path, relative to ",(0,n.kt)("inlineCode",{parentName:"td"},"scopedir"),"/",(0,n.kt)("inlineCode",{parentName:"td"},"curatedir"),"/, where ",(0,n.kt)("inlineCode",{parentName:"td"},"scopedir")," can be obtained from the ",(0,n.kt)("inlineCode",{parentName:"td"},"scopes")," section of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG"),", and ",(0,n.kt)("inlineCode",{parentName:"td"},"curatedir")," can be obtained from the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF")," that lives in this ",(0,n.kt)("inlineCode",{parentName:"td"},"scopedir"),", where the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text")," lives from which the contents of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," was constructed.")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"navurl")),(0,n.kt)("td",{parentName:"tr",align:"left"},"path, relative to the URL as specified in the ",(0,n.kt)("inlineCode",{parentName:"td"},"website")," field in the ",(0,n.kt)("a",{parentName:"td",href:"/docs/spec-files/saf#terminology"},(0,n.kt)("inlineCode",{parentName:"a"},"scope")," section")," of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF")," (that lives in the ",(0,n.kt)("inlineCode",{parentName:"td"},"scopedir")," as specified in the ",(0,n.kt)("inlineCode",{parentName:"td"},"scopes")," section of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG"),"), where the rendered version of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text")," is located.")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"headingids")),(0,n.kt)("td",{parentName:"tr",align:"left"},"a list of the ",(0,n.kt)("a",{parentName:"td",href:"https://www.markdownguide.org/basic-syntax/#headings"},"markdown headings")," and/or ",(0,n.kt)("a",{parentName:"td",href:"https://www.markdownguide.org/extended-syntax/#linking-to-heading-ids"},"heading ids")," that exist in the file that contains the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/body",title:"Body (of a Curated Text) the part of a curated text that comes after its its header (also called the 'front-matter')."},"body")," of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text"),", and can serve as ",(0,n.kt)("inlineCode",{parentName:"td"},"trait")," in a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRef"),".")))),(0,n.kt)("p",null,"An ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," has additional fields that come from the front matter of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text")," that the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," represents. Some fields are"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"mandatory for all ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-texts: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated texts"),", and hence will always appear in an ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry"),"; these appear in the table below."),(0,n.kt)("li",{parentName:"ul"},"optional for ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-texts: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated texts")," - typically, e.g. to accommodate for differences in the types ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/@",title:"Error - the reference cannot be resolved."},"terminological artifacts")," that ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-texts: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated texts")," document; these also appear in the table below."),(0,n.kt)("li",{parentName:"ul"},"optional in the sense that they are intended to be processed by TEv2 tool plugins - these are not documented here."),(0,n.kt)("li",{parentName:"ul"},"optional in the sense that they are intended to be used by third party rendering tools, such as Docusaurus or Jekyll - these are also not documented here.")),(0,n.kt)("admonition",{title:"Editor's note",type:"info"},(0,n.kt)("p",{parentName:"admonition"},"We need to think about how to refer readers to sections of plugins and rendering tool documentation that they might want/need to use.")),(0,n.kt)("p",null,"The following table documents the fields that are used within the context of ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/tev2",title:"Tev2: a set of specifications and tools that caters for the Curation of Terminologies, as well as for its subsequent use in publications of different types (e.g. websites, whitepapers) and formats (e.g. html, LaTeX), as appropriate for different, individual Scopes."},"TEv2")),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Legend"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("strong",{parentName:"li"},(0,n.kt)("inlineCode",{parentName:"strong"},"Name"))," contains the field name;"),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("strong",{parentName:"li"},(0,n.kt)("inlineCode",{parentName:"strong"},"Req'd"))," specifies whether (",(0,n.kt)("inlineCode",{parentName:"li"},"Y"),") or not (",(0,n.kt)("inlineCode",{parentName:"li"},"n"),", or ",(0,n.kt)("inlineCode",{parentName:"li"},"F"),") the field is required to be present as a header field. The ",(0,n.kt)("inlineCode",{parentName:"li"},"F")," means that we reserve this field for Future Use."),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("strong",{parentName:"li"},(0,n.kt)("inlineCode",{parentName:"strong"},"Description"))," specifies the meaning of the field, and other things you may need to know, e.g. why it is needed, a required syntax, etc."))),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:"center"},"Req'd"),(0,n.kt)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"scopetag")),(0,n.kt)("td",{parentName:"tr",align:"center"},"Y"),(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopetag",title:"Scopetag: a Tag that is used to Identify Scopes from within a specific Scope"},"Scopetag")," that ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identifies: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identifies")," the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," from within which the contents of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," is ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curate",title:"Curate: to select, organize, and present Terms, Definitions, and other, related content in a thoughtful and purposeful manner to establish shared understanding among a Community working together on a particular set of objectives."},"curated"),", and obtained. The ",(0,n.kt)("a",{parentName:"td",href:"#mrg-scopes"},(0,n.kt)("inlineCode",{parentName:"a"},"scopes")," section")," in the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," SHOULD contain a mapping between the ",(0,n.kt)("inlineCode",{parentName:"td"},"scopetag")," and its associated ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopedir",title:"Scope-directory: a directory in a computer file system that contains all files that are either being Curated within a particular Scope, or generated to serve some purpose within that Scope."},"scope directory"),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"vsntag")),(0,n.kt)("td",{parentName:"tr",align:"center"},"Y"),(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/versiontag",title:"Versiontag: a Tag that is used to Identify a specific version of a Terminology from within a specific Scope."},"Versiontag")," that ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identifies: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identifies")," the version of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology")," from which the contents of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," is obtained. If the contents of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," was constructed from a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text"),", its value equals the value of the ",(0,n.kt)("inlineCode",{parentName:"td"},"vsntag")," field in the ",(0,n.kt)("a",{parentName:"td",href:"#mrg-terminology"},(0,n.kt)("inlineCode",{parentName:"a"},"terminology"),"-section")," of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," that this ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," is a part of. As a result, ",(0,n.kt)("inlineCode",{parentName:"td"},"scopetag"),":",(0,n.kt)("inlineCode",{parentName:"td"},"versiontag")," ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identifies: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identifies")," the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology")," from which this ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," has originated.",(0,n.kt)("br",null),"Must satisfy regex ",(0,n.kt)("inlineCode",{parentName:"td"},"[a-z0-9_-.]+"),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"term")),(0,n.kt)("td",{parentName:"tr",align:"center"},"Y"),(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-identifier",title:"Term Identifier: a Text that Identifies a Knowledge Artifact within a particular Scope, and hence also the Curated Text that describes it, which includes its Definition."},"Text")," that ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identifies: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identifies")," a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/knowledge-artifact",title:"Knowledge-artifact: something that can be thought of as existing in a particular Knowledge, e.g. a Concept, or a Mental Model."},"knowledge artifact")," within this ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),", and hence also the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text")," that describes it, which includes its ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/definition",title:"Definition: a text that helps Parties to have the same understanding about the meaning of (and Concepts behind) a Term, ideally in such a way that these Parties can determine whether or not they make the same distinction."},"definition"),". Its value is typically the value of the ",(0,n.kt)("inlineCode",{parentName:"td"},"glossaryTerm")," field, where all characters are made lower-case, any text between parentheses is discarded, and any (sequences of) spaces (or other special characters) are replaced with a ",(0,n.kt)("inlineCode",{parentName:"td"},"-"),"character.",(0,n.kt)("br",null),"The ",(0,n.kt)("a",{parentName:"td",href:"/docs/spec-syntax/term-ref-syntax#term"},(0,n.kt)("inlineCode",{parentName:"a"},"term"),"-field")," of a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRef")," that refers to this ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text")," must match this value.",(0,n.kt)("br",null),"Must satisfy regex ",(0,n.kt)("inlineCode",{parentName:"td"},"[a-z0-9_-]+"),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"termType")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-type",title:"Term Type: a Text that Identifies a particular *kind* of Knowledge Artifact within a particular Scope. Examples include `concept`, `relation`, `pattern` (or `mental-model`)."},"Text")," that ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identifies: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identifies")," the kind of ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/knowledge-artifact",title:"Knowledge-artifact: something that can be thought of as existing in a particular Knowledge, e.g. a Concept, or a Mental Model."},"knowledge artifact")," that this ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text")," describes. Typical values would be ",(0,n.kt)("inlineCode",{parentName:"td"},"concept"),", ",(0,n.kt)("inlineCode",{parentName:"td"},"relation"),", ",(0,n.kt)("inlineCode",{parentName:"td"},"pattern")," (or ",(0,n.kt)("inlineCode",{parentName:"td"},"mental-model"),"), ",(0,n.kt)("inlineCode",{parentName:"td"},"term")," (or ",(0,n.kt)("inlineCode",{parentName:"td"},"alias"),"), or ",(0,n.kt)("inlineCode",{parentName:"td"},"usecase"),".",(0,n.kt)("br",null),"Must satisfy regex ",(0,n.kt)("inlineCode",{parentName:"td"},"[a-z0-9_-]+"),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"isa")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-identifier",title:"Term Identifier: a Text that Identifies a Knowledge Artifact within a particular Scope, and hence also the Curated Text that describes it, which includes its Definition."},"Term identifier")," that ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identifies: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identifies")," the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/knowledge-artifact",title:"Knowledge-artifact: something that can be thought of as existing in a particular Knowledge, e.g. a Concept, or a Mental Model."},"knowledge artifact")," of which this is a specialization.")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"bodyFile")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:"left"},"Path, relative to the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopedir",title:"Scopedir: a directory in a computer file system that contains all files that are either being Curated within a particular Scope, or generated to serve some purpose within that Scope."},"scopedir"),", that contains the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/body",title:"Body (of a Curated Text) the part of a curated text that comes after its its header (also called the 'front-matter')."},"body")," of this ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text"),". If not specified, the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/body",title:"Body (of a Curated Text) the part of a curated text that comes after its its header (also called the 'front-matter')."},"body")," in this file serves as the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/body",title:"Body (of a Curated Text) the part of a curated text that comes after its its header (also called the 'front-matter')."},"body")," of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text"),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"glossaryTerm")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:"left"},"Text that is used for the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Term: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"term")," in a human readable ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/glossary",title:"Glossary: an alphabetically sorted list of Terms with the (single) meaning it has in (at least) one context."},"glossary"),". For example, for a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Term: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"term")," called ",(0,n.kt)("inlineCode",{parentName:"td"},"member"),", you may want to specify a glossaryTerm ",(0,n.kt)("inlineCode",{parentName:"td"},'member (of a community)'),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"glossaryText")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:"left"},"Text that is used as the (raw) contents for the entry of this ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Term: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"term")," in a human readable ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/glossary",title:"Glossary: an alphabetically sorted list of Terms with the (single) meaning it has in (at least) one context."},"glossary"),". This text MUST be expected to contain ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRefs"),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"synonymOf")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-identifier",title:"Term Identifier: a Text that Identifies a Knowledge Artifact within a particular Scope, and hence also the Curated Text that describes it, which includes its Definition."},"Term identifier")," that ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identifies: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identifies")," the defined ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Term: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"term")," of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminological-artifact",title:"Terminological Artifact: a basic building block of meaning or representation, i.e., a 'semantic unit' within the 'mind' of a Scope, such as a Concept, a Relation, or a Property."},"terminological artifact")," for which this is a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/synonym",title:"Synonym: a Term that has the same (or similar) meaning as another Term."},"synonym"),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"grouptags")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:"left"},"List of ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/grouptag",title:"Grouptags: a Tag that is used to group Terms within a specific Scope."},"grouptags"),", each of which signifies that the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scoped-term",title:"Scoped-term: a Term that represents (and Identifies) a specific Knowledge Artifact of a particular Community (or Party)."},"(scoped) term")," that this ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text")," documents, is part of the group of ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Terms: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"terms")," that it represents.",(0,n.kt)("br",null),"Example: ",(0,n.kt)("inlineCode",{parentName:"td"},"[tev2, management]"),".",(0,n.kt)("br",null),"Must satisfy regex ",(0,n.kt)("a",{parentName:"td",href:"https://www.debuggex.com/r/a51CXl1NzR3kwihT"},(0,n.kt)("inlineCode",{parentName:"a"},"(?:\\[\\s*([a-z0-9_-]+)\\s*(?:,\\s*([a-z0-9_-]+))*\\s*\\])?")),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"formPhrases")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:"left"},"List of ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/@",title:"Error - the reference cannot be resolved."},"texts")," that are ",(0,n.kt)("a",{parentName:"td",href:"/docs/spec-tools/trrt#id"},"used to convert")," the ",(0,n.kt)("inlineCode",{parentName:"td"},"show text")," parts of ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRefs")," into ",(0,n.kt)("inlineCode",{parentName:"td"},"term"),"s, for the purpose of accommodating plural forms (for nouns) or conjugate forms (for verbs). For details, see ",(0,n.kt)("a",{parentName:"td",href:"/docs/spec-syntax/form-phrase-syntax"},"'Syntax Specs - Form Phrases"),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"status")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:"left"},"Text that identifies the status of the term. (",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/@",title:"Error - the reference cannot be resolved."},"Communities")," of) ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scopes: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scopes")," may specify values for this field. An example is the ",(0,n.kt)("a",{parentName:"td",href:"https://github.com/trustoverip/concepts-and-terminology-wg/blob/master/docs/status-tags.md"},"status tags used by ToIP"),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"created")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:"left"},"Date at which of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text")," was created, in the date format as used within this ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"updated")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:"left"},"Date at which of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text")," was last modified, in the date format as used within this ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"contributors")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:"left"},"Text that shows (or refers to) the people that have contributed to this ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text"),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"attribution")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:"left"},"Text that credits the original creation of the texts in the document.")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"originalLicense")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:"left"},"Reference to the license of the work from which the texts were derived.")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"locator")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:"left"},"Text that identifies the file that holds the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text")," of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/knowledge-artifact",title:"Knowledge-artifact: something that can be thought of as existing in a particular Knowledge, e.g. a Concept, or a Mental Model."},"knowledge artifact")," that this ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," describes. The full URL of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text")," is ",(0,n.kt)("inlineCode",{parentName:"td"},"scopedir"),"/",(0,n.kt)("inlineCode",{parentName:"td"},"curatedir"),"/",(0,n.kt)("inlineCode",{parentName:"td"},"locator"),", where ",(0,n.kt)("inlineCode",{parentName:"td"},"scopedir")," and ",(0,n.kt)("inlineCode",{parentName:"td"},"curatedir")," can be found in the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF")," (which is in the root of ",(0,n.kt)("inlineCode",{parentName:"td"},"scopedir"),"). Note that ",(0,n.kt)("inlineCode",{parentName:"td"},"locator")," may contain a path.")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"navurl")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:"left"},"URL that locates a human readable, rendered version of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text")," of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/knowledge-artifact",title:"Knowledge-artifact: something that can be thought of as existing in a particular Knowledge, e.g. a Concept, or a Mental Model."},"knowledge artifact")," that this ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," describes. This URL is used to resolve ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRefs")," that refer to this ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/knowledge-artifact",title:"Knowledge-artifact: something that can be thought of as existing in a particular Knowledge, e.g. a Concept, or a Mental Model."},"knowledge artifact"),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"headingids")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:"left"},"a list of the ",(0,n.kt)("a",{parentName:"td",href:"https://www.markdownguide.org/basic-syntax/#headings"},"markdown headings")," and/or ",(0,n.kt)("a",{parentName:"td",href:"https://www.markdownguide.org/extended-syntax/#linking-to-heading-ids"},"heading ids")," that exist in the file that contains the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/body",title:"Body (of a Curated Text) the part of a curated text that comes after its its header (also called the 'front-matter')."},"body")," of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text"),", and can serve as ",(0,n.kt)("inlineCode",{parentName:"td"},"trait")," in a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRef"),".")))),(0,n.kt)("h1",{id:"footnotes"},"Footnotes"),(0,n.kt)("div",{className:"footnotes"},(0,n.kt)("hr",{parentName:"div"}),(0,n.kt)("ol",{parentName:"div"},(0,n.kt)("li",{parentName:"ol",id:"fn-1"},"The ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," is an inventory rather than a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/glossary",title:"Glossary: an alphabetically sorted list of Terms with the (single) meaning it has in (at least) one context."},"glossary"),", because it contains ",(0,n.kt)("em",{parentName:"li"},"all")," ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/knowledge-artifact",title:"Knowledge-artifacts: something that can be thought of as existing in a particular Knowledge, e.g. a Concept, or a Mental Model."},"knowledge artifacts")," that are ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curate",title:"Curate: to select, organize, and present Terms, Definitions, and other, related content in a thoughtful and purposeful manner to establish shared understanding among a Community working together on a particular set of objectives."},"curated")," within the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),": apart from ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Terms: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"terms"),", it also include e.g., ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mental-model",title:"Pattern: A Knowledge Artifact that relates a set of Concepts (ideas), Relations between them, and constraints about a certain topic, into a coherent and consistent whole (sometimes called 'viewpoint', or 'way of thinking')."},"mental models")," and ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/@",title:"Error - the reference cannot be resolved."},"use cases"),". We choose to maintain the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Term: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"term"),' "Machine Readable Glossary" (',(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG"),"), because most of us would view it - initially, at least - as a list of ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Terms: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"terms")," and their ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/definition",title:"Definitions: a text that helps Parties to have the same understanding about the meaning of (and Concepts behind) a Term, ideally in such a way that these Parties can determine whether or not they make the same distinction."},"definitions"),".",(0,n.kt)("a",{parentName:"li",href:"#fnref-1",className:"footnote-backref"},"\u21a9")))))}m.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunktev2_specifications=self.webpackChunktev2_specifications||[]).push([[8113],{3905:function(t,e,i){i.d(e,{Zo:function(){return d},kt:function(){return m}});var a=i(7294);function o(t,e,i){return e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}function n(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,a)}return i}function s(t){for(var e=1;e=0||(o[i]=t[i]);return o}(t,e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(t,i)&&(o[i]=t[i])}return o}var c=a.createContext({}),h=function(t){var e=a.useContext(c),i=e;return t&&(i="function"==typeof t?t(e):s(s({},e),t)),i},d=function(t){var e=h(t.components);return a.createElement(c.Provider,{value:e},t.children)},l={inlineCode:"code",wrapper:function(t){var e=t.children;return a.createElement(a.Fragment,{},e)}},p=a.forwardRef((function(t,e){var i=t.components,o=t.mdxType,n=t.originalType,c=t.parentName,d=r(t,["components","mdxType","originalType","parentName"]),p=h(i),m=o,f=p["".concat(c,".").concat(m)]||p[m]||l[m]||n;return i?a.createElement(f,s(s({ref:e},d),{},{components:i})):a.createElement(f,s({ref:e},d))}));function m(t,e){var i=arguments,o=e&&e.mdxType;if("string"==typeof t||o){var n=i.length,s=new Array(n);s[0]=p;var r={};for(var c in e)hasOwnProperty.call(e,c)&&(r[c]=e[c]);r.originalType=t,r.mdxType="string"==typeof t?t:o,s[1]=r;for(var h=2;h child <"+("string"==typeof t.type?t.type:t.type.name)+'>: all children of the component should be , and every should have a unique "value" prop.')})))?void 0:i.filter(Boolean))?e:[]}(t).map((function(t){var e=t.props;return{value:e.value,label:e.label,attributes:e.attributes,default:e.default}}))}function p(t){var e=t.values,i=t.children;return(0,o.useMemo)((function(){var t=null!=e?e:l(i);return function(t){var e=(0,h.l)(t,(function(t,e){return t.value===e.value}));if(e.length>0)throw new Error('Docusaurus error: Duplicate values "'+e.map((function(t){return t.value})).join(", ")+'" found in . Every value needs to be unique.')}(t),t}),[e,i])}function m(t){var e=t.value;return t.tabValues.some((function(t){return t.value===e}))}function f(t){var e=t.queryString,i=void 0!==e&&e,a=t.groupId,n=(0,r.k6)(),s=function(t){var e=t.queryString,i=void 0!==e&&e,a=t.groupId;if("string"==typeof i)return i;if(!1===i)return null;if(!0===i&&!a)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return null!=a?a:null}({queryString:i,groupId:a});return[(0,c._X)(s),(0,o.useCallback)((function(t){if(s){var e=new URLSearchParams(n.location.search);e.set(s,t),n.replace(Object.assign({},n.location,{search:e.toString()}))}}),[s,n])]}function g(t){var e,i,a,n,s=t.defaultValue,r=t.queryString,c=void 0!==r&&r,h=t.groupId,l=p(t),g=(0,o.useState)((function(){return function(t){var e,i=t.defaultValue,a=t.tabValues;if(0===a.length)throw new Error("Docusaurus error: the component requires at least one children component");if(i){if(!m({value:i,tabValues:a}))throw new Error('Docusaurus error: The has a defaultValue "'+i+'" but none of its children has the corresponding value. Available values are: '+a.map((function(t){return t.value})).join(", ")+". If you intend to show no default tab, use defaultValue={null} instead.");return i}var o=null!=(e=a.find((function(t){return t.default})))?e:a[0];if(!o)throw new Error("Unexpected error: 0 tabValues");return o.value}({defaultValue:s,tabValues:l})})),u=g[0],y=g[1],b=f({queryString:c,groupId:h}),v=b[0],k=b[1],w=(e=function(t){return t?"docusaurus.tab."+t:null}({groupId:h}.groupId),i=(0,d.Nk)(e),a=i[0],n=i[1],[a,(0,o.useCallback)((function(t){e&&n.set(t)}),[e,n])]),N=w[0],C=w[1],T=function(){var t=null!=v?v:N;return m({value:t,tabValues:l})?t:null}();return(0,o.useLayoutEffect)((function(){T&&y(T)}),[T]),{selectedValue:u,selectValue:(0,o.useCallback)((function(t){if(!m({value:t,tabValues:l}))throw new Error("Can't select invalid tab value="+t);y(t),k(t),C(t)}),[k,C,l]),tabValues:l}}var u=i(2389),y="tabList__CuJ",b="tabItem_LNqP";function v(t){var e=t.className,i=t.block,r=t.selectedValue,c=t.selectValue,h=t.tabValues,d=[],l=(0,s.o5)().blockElementScrollPositionUntilNextRender,p=function(t){var e=t.currentTarget,i=d.indexOf(e),a=h[i].value;a!==r&&(l(e),c(a))},m=function(t){var e,i=null;switch(t.key){case"Enter":p(t);break;case"ArrowRight":var a,o=d.indexOf(t.currentTarget)+1;i=null!=(a=d[o])?a:d[0];break;case"ArrowLeft":var n,s=d.indexOf(t.currentTarget)-1;i=null!=(n=d[s])?n:d[d.length-1]}null==(e=i)||e.focus()};return o.createElement("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,n.Z)("tabs",{"tabs--block":i},e)},h.map((function(t){var e=t.value,i=t.label,s=t.attributes;return o.createElement("li",(0,a.Z)({role:"tab",tabIndex:r===e?0:-1,"aria-selected":r===e,key:e,ref:function(t){return d.push(t)},onKeyDown:m,onClick:p},s,{className:(0,n.Z)("tabs__item",b,null==s?void 0:s.className,{"tabs__item--active":r===e})}),null!=i?i:e)})))}function k(t){var e=t.lazy,i=t.children,a=t.selectedValue,n=(Array.isArray(i)?i:[i]).filter(Boolean);if(e){var s=n.find((function(t){return t.props.value===a}));return s?(0,o.cloneElement)(s,{className:"margin-top--md"}):null}return o.createElement("div",{className:"margin-top--md"},n.map((function(t,e){return(0,o.cloneElement)(t,{key:e,hidden:t.props.value!==a})})))}function w(t){var e=g(t);return o.createElement("div",{className:(0,n.Z)("tabs-container",y)},o.createElement(v,(0,a.Z)({},t,e)),o.createElement(k,(0,a.Z)({},t,e)))}function N(t){var e=(0,u.Z)();return o.createElement(w,(0,a.Z)({key:String(e)},t))}},3405:function(t,e,i){i.r(e),i.d(e,{assets:function(){return d},contentTitle:function(){return c},default:function(){return m},frontMatter:function(){return r},metadata:function(){return h},toc:function(){return l}});var a=i(7462),o=i(3366),n=(i(7294),i(3905)),s=(i(4996),i(4866),i(5162),["components"]),r={id:"mrg",sidebar_label:"MRG (Machine Readable Glossary)",date:20220303},c="Machine Readable Glossary (MRG)",h={unversionedId:"spec-files/mrg",id:"spec-files/mrg",title:"Machine Readable Glossary (MRG)",description:"The entire section on Terminology Engine v 2 (TEv2) is still under construction.",source:"@site/docs/spec-files/21-mrg.md",sourceDirName:"spec-files",slug:"/spec-files/mrg",permalink:"/tev2-specifications/docs/spec-files/mrg",draft:!1,editUrl:"https://github.com/tno-terminology-design/tev2-specifications/blob/master/docs/spec-files/21-mrg.md",tags:[],version:"current",lastUpdatedBy:"Ca5e",lastUpdatedAt:1694182104,formattedLastUpdatedAt:"Sep 8, 2023",sidebarPosition:21,frontMatter:{id:"mrg",sidebar_label:"MRG (Machine Readable Glossary)",date:20220303},sidebar:"tev2SideBar",previous:{title:"Profile Templates",permalink:"/tev2-specifications/docs/spec-files/profile-templates"},next:{title:"HRG (Human Readable Glossary)",permalink:"/tev2-specifications/docs/spec-files/hrg"}},d={},l=[{value:"File naming conventions",id:"mrg-file-naming",level:2},{value:"MRG structure",id:"mrg-structure",level:2},{value:"MRG Terminology section",id:"mrg-terminology",level:3},{value:"MRG scopes section",id:"mrg-scopes",level:3},{value:"MRG Entries (the entries section)",id:"mrg-entries",level:2}],p={toc:l};function m(t){var e=t.components,i=(0,o.Z)(t,s);return(0,n.kt)("wrapper",(0,a.Z)({},p,i,{components:e,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"machine-readable-glossary-mrg"},"Machine Readable Glossary (MRG)"),(0,n.kt)("admonition",{type:"caution"},(0,n.kt)("p",{parentName:"admonition"},"The entire section on Terminology Engine v 2 (TEv2) is still under construction.",(0,n.kt)("br",null),"\nAs TEv2 is not (yet) available, the texts that specify the tool are still 'raw', i.e. not yet processed.",(0,n.kt)("br",null),(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/reader",title:"Reader: a person that reads a text that is authored by another person (its Author]), and that tries to understand the meaning of this text in the way its Author intended."},"readers")," will need to see through some (currently unprocessed) notational conventions.")),(0,n.kt)("p",null,"Every ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," has (at least) one ",(0,n.kt)("strong",{parentName:"p"},"Machine Readable Inventory"),(0,n.kt)("sup",{parentName:"p",id:"fnref-1"},(0,n.kt)("a",{parentName:"sup",href:"#fn-1",className:"footnote-ref"},"1"))," (that we call a ",(0,n.kt)("strong",{parentName:"p"},"Machine Readable Glossary")," or ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG"),"), that renders the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology")," of a specific ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," into a specific, well-defined format that is described in this document. An ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," is meant to be used by the tools from the ",(0,n.kt)("a",{parentName:"p",href:"/docs-toolbox"},"toolbox"),", e.g. for creating a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/hrg",title:"Human Readable Glossary (HRG): a Glossary that is designed to be easily understandable and accessible to humans. HRGs present terms and their meanings in a format that prioritizes human comprehension and may include additional contextual information to aid understanding."},"HRG"),", or to help resolve ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRefs"),". A ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," may have multiple ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRGs"),", each of which represents a specific version of its ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology"),"."),(0,n.kt)("h2",{id:"mrg-file-naming"},"File naming conventions"),(0,n.kt)("p",null,"The file naming conventions apply to one particular ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),", which implies that there is a single ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"),", a single ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/glossarydir",title:"Glossarydir: a directory within a Scopedir within which the different versions of its (Machine Readable and Human Readable) Glossaries are created and maintained."},"glossarydir"),", and a single ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopedir",title:"Scopedir: a directory in a computer file system that contains all files that are either being Curated within a particular Scope, or generated to serve some purpose within that Scope."},"scopedir")," (called ",(0,n.kt)("inlineCode",{parentName:"p"},"{scopedir}")," here). Within this ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),", the meaning of ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopetag",title:"Scopetags: a Tag that is used to Identify Scopes from within a specific Scope"},"scopetags"),", i.e. the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scopes: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scopes")," to which they refer, are defined in/by the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"),". "),(0,n.kt)("p",null,"Within this ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/glossarydir",title:"Glossarydir: a directory within a Scopedir within which the different versions of its (Machine Readable and Human Readable) Glossaries are created and maintained."},"glossarydir")," we can generate (or import), and hence also find all ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG"),"-files that are needed within its ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),". We use the following file naming convention for such files:"),(0,n.kt)("p",null,(0,n.kt)("strong",{parentName:"p"},(0,n.kt)("inlineCode",{parentName:"strong"},"mrg...yaml"))," is the name of a file that contains an actual ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG"),", or it is a file that links (references) such a file, where:"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},(0,n.kt)("inlineCode",{parentName:"strong"},""))," is the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopetag",title:"Scopetag: a Tag that is used to Identify Scopes from within a specific Scope"},"scopetag")," that ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identifies: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identifies")," the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," in which the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," is curated, as specified in the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF")," of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," we are in. Thus, its value must either be that of the ",(0,n.kt)("inlineCode",{parentName:"li"},"scopetag"),"-field in the ",(0,n.kt)("a",{parentName:"li",href:"docs/spec-files/saf#terminology"},"scope section")," of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"),", or it must be one of the values in the ",(0,n.kt)("inlineCode",{parentName:"li"},"scopetags"),"-field in the ",(0,n.kt)("a",{parentName:"li",href:"docs/spec-files/saf#scopes"},"scopes (plural) section")," of that ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"),"."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},(0,n.kt)("inlineCode",{parentName:"strong"},""))," is the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/versiontag",title:"Versiontag: a Tag that is used to Identify a specific version of a Terminology from within a specific Scope."},"versiontag")," that ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identifies: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identifies")," the version of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology")," for which the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," contains ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"entries"),". Its value must be either one of the ",(0,n.kt)("inlineCode",{parentName:"li"},"vsntag"),"-fields, or appear in one of the ",(0,n.kt)("inlineCode",{parentName:"li"},"alatvsntag"),"-fields in the ",(0,n.kt)("a",{parentName:"li",href:"/docs/spec-files/saf#versions"},"versions section")," of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"),".")),(0,n.kt)("p",null,"This naming convention enables tools (as well as ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curator",title:"Curator: {(noRefs glossaryText)}"},"curators")," and others) that operate within a particular ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),", to quickly find a particular ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," that is relevant for that ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),"."),(0,n.kt)("h2",{id:"mrg-structure"},"MRG structure"),(0,n.kt)("p",null,"A Machine Readable Glossary (MRG) is a YAML (or JSON) file that has three sections:"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},(0,n.kt)("inlineCode",{parentName:"strong"},"terminology"))," specifies the characteristics of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology")," of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),". This includes the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopetag",title:"Scopetag: a Tag that is used to Identify Scopes from within a specific Scope"},"scopetag")," and ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopedir",title:"Scopedir: a directory in a computer file system that contains all files that are either being Curated within a particular Scope, or generated to serve some purpose within that Scope."},"scopedir")," of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),", as well as the license under which the contents of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," can be used."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},(0,n.kt)("inlineCode",{parentName:"strong"},"scopes"))," specifies which (other) ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scopes: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scopes")," are relevant to this ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology"),". This includes the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopetag",title:"Scopetag: a Tag that is used to Identify Scopes from within a specific Scope"},"scopetag")," and ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopedir",title:"Scopedir: a directory in a computer file system that contains all files that are either being Curated within a particular Scope, or generated to serve some purpose within that Scope."},"scopedir")," of any such ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),"."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},(0,n.kt)("inlineCode",{parentName:"strong"},"entries"))," contains an (unsorted) list of ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entries: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entries"),".")),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Example of sections `terminology` and `scopes`"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-yaml"},"terminology: # the fields below must match the corresponding data in the SAF\n scopetag: tev2 # scope, the terminology of which is contained in this MRG\n scopedir: https://github.com/tno-terminology-design/tev2-specifications/tree/master/docs\n curatedir: terms\n vsntag: v0.9.4\n altvsntags: [ latest ]\n license: LICENSE.md\nscopes: # mappings of scopetags that are used, and their scopedirs\n - scopetag: essiflab\n scopedir: https://github.com/essif-lab/framework/tree/master/docs\n - scopetag: ctwg\n scopedir: https://github.com/trustoverip/ctwg\nentries: # here follows an (unsorted) list of MRG entries\n"))),(0,n.kt)("h3",{id:"mrg-terminology"},"MRG ",(0,n.kt)("inlineCode",{parentName:"h3"},"Terminology")," section"),(0,n.kt)("p",null,"The following fields are defined for the sections ",(0,n.kt)("inlineCode",{parentName:"p"},"terminology"),":"),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Legend"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("strong",{parentName:"li"},(0,n.kt)("inlineCode",{parentName:"strong"},"Name"))," contains the field name;"),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("strong",{parentName:"li"},(0,n.kt)("inlineCode",{parentName:"strong"},"Req'd"))," specifies whether (",(0,n.kt)("inlineCode",{parentName:"li"},"Y"),") or not (",(0,n.kt)("inlineCode",{parentName:"li"},"n"),", or ",(0,n.kt)("inlineCode",{parentName:"li"},"F"),") the field is required to be present as a header field. The ",(0,n.kt)("inlineCode",{parentName:"li"},"F")," means that we reserve this field for Future Use."),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("strong",{parentName:"li"},(0,n.kt)("inlineCode",{parentName:"strong"},"Description"))," specifies the meaning of the field, and other things you may need to know, e.g. why it is needed, a required syntax, etc."))),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:"center"},"Req'd"),(0,n.kt)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"scopetag")),(0,n.kt)("td",{parentName:"tr",align:"center"},"Y"),(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopetag",title:"Scopetag: a Tag that is used to Identify Scopes from within a specific Scope"},"Scopetag")," of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," in which the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," is defined.")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"scopedir")),(0,n.kt)("td",{parentName:"tr",align:"center"},"Y"),(0,n.kt)("td",{parentName:"tr",align:"left"},"URL that locates the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopedir",title:"Scope-directory: a directory in a computer file system that contains all files that are either being Curated within a particular Scope, or generated to serve some purpose within that Scope."},"scope directory")," associated with that ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"curatedir")),(0,n.kt)("td",{parentName:"tr",align:"center"},"Y"),(0,n.kt)("td",{parentName:"tr",align:"left"},"Path to the directory where all ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-files: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated files")," are located. This directory may contain subdirectories to allow ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curator",title:"Curator: {(noRefs glossaryText)}"},"curators")," to organize the files in any way they see fit. Full URL is ",(0,n.kt)("inlineCode",{parentName:"td"},""),"/",(0,n.kt)("inlineCode",{parentName:"td"},""),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"vsntag")),(0,n.kt)("td",{parentName:"tr",align:"center"},"Y"),(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/versiontag",title:"Versiontag: a Tag that is used to Identify a specific version of a Terminology from within a specific Scope."},"versiontag")," by which the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology")," of this ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," can be distinguished from the other versions of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology")," (in other ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRGs"),"). Its value MUST match the ",(0,n.kt)("inlineCode",{parentName:"td"},"vsntag")," field of the corresponding ",(0,n.kt)("inlineCode",{parentName:"td"},"versions")," section in the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"))),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"altvsntags")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:"left"},"List of alternative ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/versiontag",title:"Versiontags: a Tag that is used to Identify a specific version of a Terminology from within a specific Scope."},"versiontags")," that can be used to ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identify: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identify")," this version. Each of the values MUST be in the list of ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/versiontag",title:"Versiontags: a Tag that is used to Identify a specific version of a Terminology from within a specific Scope."},"versiontags")," in the ",(0,n.kt)("inlineCode",{parentName:"td"},"altvsntags")," field of the the corresponding ",(0,n.kt)("inlineCode",{parentName:"td"},"versions")," section in the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"license")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:"left"},"File that contains the (default) licensing conditions. Full URL is ",(0,n.kt)("inlineCode",{parentName:"td"},"scopedir"),"/",(0,n.kt)("inlineCode",{parentName:"td"},"license"),". Its value MUST match the ",(0,n.kt)("inlineCode",{parentName:"td"},"license")," field of the corresponding ",(0,n.kt)("inlineCode",{parentName:"td"},"versions")," section in the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"),", or if that isn't specified, the ",(0,n.kt)("inlineCode",{parentName:"td"},"license")," field of the ",(0,n.kt)("inlineCode",{parentName:"td"},"scope")," section in the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF"),".")))),(0,n.kt)("h3",{id:"mrg-scopes"},"MRG ",(0,n.kt)("inlineCode",{parentName:"h3"},"scopes")," section"),(0,n.kt)("p",null,"The following fields are defined for the section ",(0,n.kt)("inlineCode",{parentName:"p"},"scopes"),":"),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Legend"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("strong",{parentName:"li"},(0,n.kt)("inlineCode",{parentName:"strong"},"Name"))," contains the field name;"),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("strong",{parentName:"li"},(0,n.kt)("inlineCode",{parentName:"strong"},"Req'd"))," specifies whether (",(0,n.kt)("inlineCode",{parentName:"li"},"Y"),") or not (",(0,n.kt)("inlineCode",{parentName:"li"},"n"),", or ",(0,n.kt)("inlineCode",{parentName:"li"},"F"),") the field is required to be present as a header field. The ",(0,n.kt)("inlineCode",{parentName:"li"},"F")," means that we reserve this field for Future Use."),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("strong",{parentName:"li"},(0,n.kt)("inlineCode",{parentName:"strong"},"Description"))," specifies the meaning of the field, and other things you may need to know, e.g. why it is needed, a required syntax, etc."))),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:"center"},"Req'd"),(0,n.kt)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"scopetag")),(0,n.kt)("td",{parentName:"tr",align:"center"},"Y"),(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopetag",title:"Scopetag: a Tag that is used to Identify Scopes from within a specific Scope"},"Scopetag")," of a third-party ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),", the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," of which contains ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entries: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entries")," that have been imported into the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG"),". This ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopetag",title:"Scopetag: a Tag that is used to Identify Scopes from within a specific Scope"},"scopetag")," has been chosen by the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curator",title:"Curator: {(noRefs glossaryText)}"},"curators")," of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," of which the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," is part, to refer to that particular third-party ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),". This ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopetag",title:"Scopetag: a Tag that is used to Identify Scopes from within a specific Scope"},"scopetag")," may differ from the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopetag",title:"Scopetag: a Tag that is used to Identify Scopes from within a specific Scope"},"scopetag")," that the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curator",title:"Curator: {(noRefs glossaryText)}"},"curators")," of that third-party ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," have chosen for this ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," ",(0,n.kt)("br",null),"Must satisfy regex ",(0,n.kt)("inlineCode",{parentName:"td"},"[a-z0-9_-]+"),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"scopedir")),(0,n.kt)("td",{parentName:"tr",align:"center"},"Y"),(0,n.kt)("td",{parentName:"tr",align:"left"},"URL that locates the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopedir",title:"Scope-directory: a directory in a computer file system that contains all files that are either being Curated within a particular Scope, or generated to serve some purpose within that Scope."},"scope directory")," associated with that third-party ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),".")))),(0,n.kt)("h2",{id:"mrg-entries"},"MRG Entries (the ",(0,n.kt)("inlineCode",{parentName:"h2"},"entries")," section)"),(0,n.kt)("p",null,"The ",(0,n.kt)("inlineCode",{parentName:"p"},"entries")," section of an ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," is a list of ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entries: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entries"),", the purpose of which is that the various tools can find all data that is relevant for the purpose that such a tool serves."),(0,n.kt)("p",null,"An ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," has a few fields that are always present, because the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrgt",title:"MRGT: a software tool designed to create, manage, and process Machine Readable Glossaries (MRGs), as [specified by TEv2](/docs/spec-tools/mrgt). MRGTs offer features for selecting Terms that are Curated within the Scope it is run in, or from other Scopes."},"MRGT")," generates them, as follows:"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Field"),(0,n.kt)("th",{parentName:"tr",align:"left"},"Value(s) that are assigned to the fields"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"scopetag")),(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopetag",title:"Scopetag: a Tag that is used to Identify Scopes from within a specific Scope"},"Scopetag")," that ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identifies: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identifies")," the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," from within which the contents of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," is obtained. This is either ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," from within which the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," has been generated, or the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," from which the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," was imported. In the latter case, the ",(0,n.kt)("a",{parentName:"td",href:"#mrg-scopes"},(0,n.kt)("inlineCode",{parentName:"a"},"scopes")," section")," in the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," MUST contain a mapping between the ",(0,n.kt)("inlineCode",{parentName:"td"},"scopetag")," and its associated ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopedir",title:"Scope-directory: a directory in a computer file system that contains all files that are either being Curated within a particular Scope, or generated to serve some purpose within that Scope."},"scope directory"),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"vsntag")),(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/versiontag",title:"Versiontag: a Tag that is used to Identify a specific version of a Terminology from within a specific Scope."},"Versiontag")," that ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identifies: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identifies")," the version of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology")," from which the contents of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," is obtained. If the contents of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," was constructed from a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text"),", its value equals the value of the ",(0,n.kt)("inlineCode",{parentName:"td"},"vsntag")," field in the ",(0,n.kt)("a",{parentName:"td",href:"#mrg-terminology"},(0,n.kt)("inlineCode",{parentName:"a"},"terminology"),"-section")," of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," that this ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," is a part of. As a result, ",(0,n.kt)("inlineCode",{parentName:"td"},"scopetag"),":",(0,n.kt)("inlineCode",{parentName:"td"},"versiontag")," ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identifies: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identifies")," the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology")," from which this ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," has originated.",(0,n.kt)("br",null),"Must satisfy regex ",(0,n.kt)("inlineCode",{parentName:"td"},"[a-z0-9_-.]+"),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"locator")),(0,n.kt)("td",{parentName:"tr",align:"left"},"path, relative to ",(0,n.kt)("inlineCode",{parentName:"td"},"scopedir"),"/",(0,n.kt)("inlineCode",{parentName:"td"},"curatedir"),"/, where ",(0,n.kt)("inlineCode",{parentName:"td"},"scopedir")," can be obtained from the ",(0,n.kt)("inlineCode",{parentName:"td"},"scopes")," section of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG"),", and ",(0,n.kt)("inlineCode",{parentName:"td"},"curatedir")," can be obtained from the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF")," that lives in this ",(0,n.kt)("inlineCode",{parentName:"td"},"scopedir"),", where the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text")," lives from which the contents of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," was constructed.")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"navurl")),(0,n.kt)("td",{parentName:"tr",align:"left"},"path, relative to the URL as specified in the ",(0,n.kt)("inlineCode",{parentName:"td"},"website")," field in the ",(0,n.kt)("a",{parentName:"td",href:"/docs/spec-files/saf#terminology"},(0,n.kt)("inlineCode",{parentName:"a"},"scope")," section")," of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF")," (that lives in the ",(0,n.kt)("inlineCode",{parentName:"td"},"scopedir")," as specified in the ",(0,n.kt)("inlineCode",{parentName:"td"},"scopes")," section of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG"),"), where the rendered version of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text")," is located.")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"headingids")),(0,n.kt)("td",{parentName:"tr",align:"left"},"a list of the ",(0,n.kt)("a",{parentName:"td",href:"https://www.markdownguide.org/basic-syntax/#headings"},"markdown headings")," and/or ",(0,n.kt)("a",{parentName:"td",href:"https://www.markdownguide.org/extended-syntax/#linking-to-heading-ids"},"heading ids")," that exist in the file that contains the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/body",title:"Body (of a Curated Text) the part of a curated text that comes after its its header (also called the 'front-matter')."},"body")," of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text"),", and can serve as ",(0,n.kt)("inlineCode",{parentName:"td"},"trait")," in a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRef"),".")))),(0,n.kt)("p",null,"An ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," has additional fields that come from the front matter of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text")," that the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," represents. Some fields are"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"mandatory for all ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-texts: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated texts"),", and hence will always appear in an ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry"),"; these appear in the table below."),(0,n.kt)("li",{parentName:"ul"},"optional for ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-texts: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated texts")," - typically, e.g. to accommodate for differences in the types ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/@",title:"Error - the reference cannot be resolved."},"terminological artifacts")," that ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-texts: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated texts")," document; these also appear in the table below."),(0,n.kt)("li",{parentName:"ul"},"optional in the sense that they are intended to be processed by TEv2 tool plugins - these are not documented here."),(0,n.kt)("li",{parentName:"ul"},"optional in the sense that they are intended to be used by third party rendering tools, such as Docusaurus or Jekyll - these are also not documented here.")),(0,n.kt)("admonition",{title:"Editor's note",type:"info"},(0,n.kt)("p",{parentName:"admonition"},"We need to think about how to refer readers to sections of plugins and rendering tool documentation that they might want/need to use.")),(0,n.kt)("p",null,"The following table documents the fields that are used within the context of ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/tev2",title:"Tev2: a set of specifications and tools that caters for the Curation of Terminologies, as well as for its subsequent use in publications of different types (e.g. websites, whitepapers) and formats (e.g. html, LaTeX), as appropriate for different, individual Scopes."},"TEv2")),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Legend"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("strong",{parentName:"li"},(0,n.kt)("inlineCode",{parentName:"strong"},"Name"))," contains the field name;"),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("strong",{parentName:"li"},(0,n.kt)("inlineCode",{parentName:"strong"},"Req'd"))," specifies whether (",(0,n.kt)("inlineCode",{parentName:"li"},"Y"),") or not (",(0,n.kt)("inlineCode",{parentName:"li"},"n"),", or ",(0,n.kt)("inlineCode",{parentName:"li"},"F"),") the field is required to be present as a header field. The ",(0,n.kt)("inlineCode",{parentName:"li"},"F")," means that we reserve this field for Future Use."),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("strong",{parentName:"li"},(0,n.kt)("inlineCode",{parentName:"strong"},"Description"))," specifies the meaning of the field, and other things you may need to know, e.g. why it is needed, a required syntax, etc."))),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:"center"},"Req'd"),(0,n.kt)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"scopetag")),(0,n.kt)("td",{parentName:"tr",align:"center"},"Y"),(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopetag",title:"Scopetag: a Tag that is used to Identify Scopes from within a specific Scope"},"Scopetag")," that ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identifies: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identifies")," the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," from within which the contents of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," is ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curate",title:"Curate: to select, organize, and present Terms, Definitions, and other, related content in a thoughtful and purposeful manner to establish shared understanding among a Community working together on a particular set of objectives."},"curated"),", and obtained. The ",(0,n.kt)("a",{parentName:"td",href:"#mrg-scopes"},(0,n.kt)("inlineCode",{parentName:"a"},"scopes")," section")," in the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," SHOULD contain a mapping between the ",(0,n.kt)("inlineCode",{parentName:"td"},"scopetag")," and its associated ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopedir",title:"Scope-directory: a directory in a computer file system that contains all files that are either being Curated within a particular Scope, or generated to serve some purpose within that Scope."},"scope directory"),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"vsntag")),(0,n.kt)("td",{parentName:"tr",align:"center"},"Y"),(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/versiontag",title:"Versiontag: a Tag that is used to Identify a specific version of a Terminology from within a specific Scope."},"Versiontag")," that ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identifies: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identifies")," the version of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology")," from which the contents of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," is obtained. If the contents of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," was constructed from a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text"),", its value equals the value of the ",(0,n.kt)("inlineCode",{parentName:"td"},"vsntag")," field in the ",(0,n.kt)("a",{parentName:"td",href:"#mrg-terminology"},(0,n.kt)("inlineCode",{parentName:"a"},"terminology"),"-section")," of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," that this ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," is a part of. As a result, ",(0,n.kt)("inlineCode",{parentName:"td"},"scopetag"),":",(0,n.kt)("inlineCode",{parentName:"td"},"versiontag")," ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identifies: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identifies")," the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology")," from which this ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," has originated.",(0,n.kt)("br",null),"Must satisfy regex ",(0,n.kt)("inlineCode",{parentName:"td"},"[a-z0-9_-.]+"),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"term")),(0,n.kt)("td",{parentName:"tr",align:"center"},"Y"),(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-identifier",title:"Term Identifier: a Text that Identifies a Knowledge Artifact within a particular Scope, and hence also the Curated Text that describes it, which includes its Definition."},"Text")," that ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identifies: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identifies")," a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/knowledge-artifact",title:"Knowledge-artifact: something that can be thought of as existing in a particular Knowledge, e.g. a Concept, or a Mental Model."},"knowledge artifact")," within this ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),", and hence also the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text")," that describes it, which includes its ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/definition",title:"Definition: a text that helps Parties to have the same understanding about the meaning of (and Concepts behind) a Term, ideally in such a way that these Parties can determine whether or not they make the same distinction."},"definition"),". Its value is typically the value of the ",(0,n.kt)("inlineCode",{parentName:"td"},"glossaryTerm")," field, where all characters are made lower-case, any text between parentheses is discarded, and any (sequences of) spaces (or other special characters) are replaced with a ",(0,n.kt)("inlineCode",{parentName:"td"},"-"),"character.",(0,n.kt)("br",null),"The ",(0,n.kt)("a",{parentName:"td",href:"/docs/spec-syntax/term-ref-syntax#term"},(0,n.kt)("inlineCode",{parentName:"a"},"term"),"-field")," of a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRef")," that refers to this ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text")," must match this value.",(0,n.kt)("br",null),"Must satisfy regex ",(0,n.kt)("inlineCode",{parentName:"td"},"[a-z0-9_-]+"),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"termType")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-type",title:"Term Type: a Text that Identifies a particular *kind* of Knowledge Artifact within a particular Scope. Examples include `concept`, `relation`, `pattern` (or `mental-model`)."},"Text")," that ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identifies: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identifies")," the kind of ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/knowledge-artifact",title:"Knowledge-artifact: something that can be thought of as existing in a particular Knowledge, e.g. a Concept, or a Mental Model."},"knowledge artifact")," that this ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text")," describes. Typical values would be ",(0,n.kt)("inlineCode",{parentName:"td"},"concept"),", ",(0,n.kt)("inlineCode",{parentName:"td"},"relation"),", ",(0,n.kt)("inlineCode",{parentName:"td"},"pattern")," (or ",(0,n.kt)("inlineCode",{parentName:"td"},"mental-model"),"), ",(0,n.kt)("inlineCode",{parentName:"td"},"term")," (or ",(0,n.kt)("inlineCode",{parentName:"td"},"alias"),"), or ",(0,n.kt)("inlineCode",{parentName:"td"},"usecase"),".",(0,n.kt)("br",null),"Must satisfy regex ",(0,n.kt)("inlineCode",{parentName:"td"},"[a-z0-9_-]+"),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"isa")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-identifier",title:"Term Identifier: a Text that Identifies a Knowledge Artifact within a particular Scope, and hence also the Curated Text that describes it, which includes its Definition."},"Term identifier")," that ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identifies: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identifies")," the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/knowledge-artifact",title:"Knowledge-artifact: something that can be thought of as existing in a particular Knowledge, e.g. a Concept, or a Mental Model."},"knowledge artifact")," of which this is a specialization.")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"bodyFile")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:"left"},"Path, relative to the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopedir",title:"Scopedir: a directory in a computer file system that contains all files that are either being Curated within a particular Scope, or generated to serve some purpose within that Scope."},"scopedir"),", that contains the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/body",title:"Body (of a Curated Text) the part of a curated text that comes after its its header (also called the 'front-matter')."},"body")," of this ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text"),". If not specified, the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/body",title:"Body (of a Curated Text) the part of a curated text that comes after its its header (also called the 'front-matter')."},"body")," in this file serves as the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/body",title:"Body (of a Curated Text) the part of a curated text that comes after its its header (also called the 'front-matter')."},"body")," of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text"),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"glossaryTerm")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:"left"},"Text that is used for the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Term: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"term")," in a human readable ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/glossary",title:"Glossary: an alphabetically sorted list of Terms with the (single) meaning it has in (at least) one context."},"glossary"),". For example, for a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Term: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"term")," called ",(0,n.kt)("inlineCode",{parentName:"td"},"member"),", you may want to specify a glossaryTerm ",(0,n.kt)("inlineCode",{parentName:"td"},'member (of a community)'),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"glossaryText")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:"left"},"Text that is used as the (raw) contents for the entry of this ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Term: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"term")," in a human readable ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/glossary",title:"Glossary: an alphabetically sorted list of Terms with the (single) meaning it has in (at least) one context."},"glossary"),". This text MUST be expected to contain ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRefs"),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"synonymOf")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:"left"},(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-identifier",title:"Term Identifier: a Text that Identifies a Knowledge Artifact within a particular Scope, and hence also the Curated Text that describes it, which includes its Definition."},"Term identifier")," that ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identifies: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identifies")," the defined ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Term: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"term")," of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminological-artifact",title:"Terminological Artifact: a basic building block of meaning or representation, i.e., a 'semantic unit' within the 'mind' of a Scope, such as a Concept, a Relation, or a Property."},"terminological artifact")," for which this is a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/synonym",title:"Synonym: a Term that has the same (or similar) meaning as another Term."},"synonym"),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"grouptags")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:"left"},"List of ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/grouptag",title:"Grouptags: a Tag that is used to group Terms within a specific Scope."},"grouptags"),", each of which signifies that the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scoped-term",title:"Scoped-term: a Term that represents (and Identifies) a specific Knowledge Artifact of a particular Community (or Party)."},"(scoped) term")," that this ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text")," documents, is part of the group of ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Terms: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"terms")," that it represents.",(0,n.kt)("br",null),"Example: ",(0,n.kt)("inlineCode",{parentName:"td"},"[tev2, management]"),".",(0,n.kt)("br",null),"Must satisfy regex ",(0,n.kt)("a",{parentName:"td",href:"https://www.debuggex.com/r/a51CXl1NzR3kwihT"},(0,n.kt)("inlineCode",{parentName:"a"},"(?:\\[\\s*([a-z0-9_-]+)\\s*(?:,\\s*([a-z0-9_-]+))*\\s*\\])?")),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"formPhrases")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:"left"},"List of ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/@",title:"Error - the reference cannot be resolved."},"texts")," that are ",(0,n.kt)("a",{parentName:"td",href:"/docs/spec-tools/trrt#id"},"used to convert")," the ",(0,n.kt)("inlineCode",{parentName:"td"},"show text")," parts of ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRefs")," into ",(0,n.kt)("inlineCode",{parentName:"td"},"term"),"s, for the purpose of accommodating plural forms (for nouns) or conjugate forms (for verbs). For details, see ",(0,n.kt)("a",{parentName:"td",href:"/docs/spec-syntax/form-phrase-syntax"},"'Syntax Specs - Form Phrases"),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"status")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:"left"},"Text that identifies the status of the term. (",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/@",title:"Error - the reference cannot be resolved."},"Communities")," of) ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scopes: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scopes")," may specify values for this field. An example is the ",(0,n.kt)("a",{parentName:"td",href:"https://github.com/trustoverip/concepts-and-terminology-wg/blob/master/docs/status-tags.md"},"status tags used by ToIP"),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"created")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:"left"},"Date at which of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text")," was created, in the date format as used within this ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"updated")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:"left"},"Date at which of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text")," was last modified, in the date format as used within this ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"contributors")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:"left"},"Text that shows (or refers to) the people that have contributed to this ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text"),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"attribution")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:"left"},"Text that credits the original creation of the texts in the document.")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"originalLicense")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:"left"},"Reference to the license of the work from which the texts were derived.")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"locator")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:"left"},"Text that identifies the file that holds the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text")," of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/knowledge-artifact",title:"Knowledge-artifact: something that can be thought of as existing in a particular Knowledge, e.g. a Concept, or a Mental Model."},"knowledge artifact")," that this ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," describes. The full URL of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text")," is ",(0,n.kt)("inlineCode",{parentName:"td"},"scopedir"),"/",(0,n.kt)("inlineCode",{parentName:"td"},"curatedir"),"/",(0,n.kt)("inlineCode",{parentName:"td"},"locator"),", where ",(0,n.kt)("inlineCode",{parentName:"td"},"scopedir")," and ",(0,n.kt)("inlineCode",{parentName:"td"},"curatedir")," can be found in the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF")," (which is in the root of ",(0,n.kt)("inlineCode",{parentName:"td"},"scopedir"),"). Note that ",(0,n.kt)("inlineCode",{parentName:"td"},"locator")," may contain a path.")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"navurl")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:"left"},"URL that locates a human readable, rendered version of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text")," of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/knowledge-artifact",title:"Knowledge-artifact: something that can be thought of as existing in a particular Knowledge, e.g. a Concept, or a Mental Model."},"knowledge artifact")," that this ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," describes. This URL is used to resolve ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRefs")," that refer to this ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/knowledge-artifact",title:"Knowledge-artifact: something that can be thought of as existing in a particular Knowledge, e.g. a Concept, or a Mental Model."},"knowledge artifact"),".")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"headingids")),(0,n.kt)("td",{parentName:"tr",align:"center"},"n"),(0,n.kt)("td",{parentName:"tr",align:"left"},"a list of the ",(0,n.kt)("a",{parentName:"td",href:"https://www.markdownguide.org/basic-syntax/#headings"},"markdown headings")," and/or ",(0,n.kt)("a",{parentName:"td",href:"https://www.markdownguide.org/extended-syntax/#linking-to-heading-ids"},"heading ids")," that exist in the file that contains the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/body",title:"Body (of a Curated Text) the part of a curated text that comes after its its header (also called the 'front-matter')."},"body")," of the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curated-text",title:"Curated-text: a text that documents a Concept or other Knowledge Artifact of a specific Community or other Party, and is located within a Scope that is owned by that Community/Party."},"curated text"),", and can serve as ",(0,n.kt)("inlineCode",{parentName:"td"},"trait")," in a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRef"),".")))),(0,n.kt)("h1",{id:"footnotes"},"Footnotes"),(0,n.kt)("div",{className:"footnotes"},(0,n.kt)("hr",{parentName:"div"}),(0,n.kt)("ol",{parentName:"div"},(0,n.kt)("li",{parentName:"ol",id:"fn-1"},"The ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," is an inventory rather than a ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/glossary",title:"Glossary: an alphabetically sorted list of Terms with the (single) meaning it has in (at least) one context."},"glossary"),", because it contains ",(0,n.kt)("em",{parentName:"li"},"all")," ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/knowledge-artifact",title:"Knowledge-artifacts: something that can be thought of as existing in a particular Knowledge, e.g. a Concept, or a Mental Model."},"knowledge artifacts")," that are ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curate",title:"Curate: to select, organize, and present Terms, Definitions, and other, related content in a thoughtful and purposeful manner to establish shared understanding among a Community working together on a particular set of objectives."},"curated")," within the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),": apart from ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Terms: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"terms"),", it also include e.g., ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mental-model",title:"Pattern: A Knowledge Artifact that relates a set of Concepts (ideas), Relations between them, and constraints about a certain topic, into a coherent and consistent whole (sometimes called 'viewpoint', or 'way of thinking')."},"mental models")," and ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/@",title:"Error - the reference cannot be resolved."},"use cases"),". We choose to maintain the ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Term: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"term"),' "Machine Readable Glossary" (',(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG"),"), because most of us would view it - initially, at least - as a list of ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Terms: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"terms")," and their ",(0,n.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/definition",title:"Definitions: a text that helps Parties to have the same understanding about the meaning of (and Concepts behind) a Term, ideally in such a way that these Parties can determine whether or not they make the same distinction."},"definitions"),".",(0,n.kt)("a",{parentName:"li",href:"#fnref-1",className:"footnote-backref"},"\u21a9")))))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/bcb93ad0.c55b5bd0.js b/assets/js/bcb93ad0.3037b3bf.js similarity index 99% rename from assets/js/bcb93ad0.c55b5bd0.js rename to assets/js/bcb93ad0.3037b3bf.js index e9634520d5..8764d1117c 100644 --- a/assets/js/bcb93ad0.c55b5bd0.js +++ b/assets/js/bcb93ad0.3037b3bf.js @@ -1 +1 @@ -"use strict";(self.webpackChunktev2_specifications=self.webpackChunktev2_specifications||[]).push([[4069],{3905:function(t,e,i){i.d(e,{Zo:function(){return d},kt:function(){return u}});var o=i(7294);function n(t,e,i){return e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}function a(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,o)}return i}function r(t){for(var e=1;e=0||(n[i]=t[i]);return n}(t,e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(t,i)&&(n[i]=t[i])}return n}var c=o.createContext({}),l=function(t){var e=o.useContext(c),i=e;return t&&(i="function"==typeof t?t(e):r(r({},e),t)),i},d=function(t){var e=l(t.components);return o.createElement(c.Provider,{value:e},t.children)},h={inlineCode:"code",wrapper:function(t){var e=t.children;return o.createElement(o.Fragment,{},e)}},p=o.forwardRef((function(t,e){var i=t.components,n=t.mdxType,a=t.originalType,c=t.parentName,d=s(t,["components","mdxType","originalType","parentName"]),p=l(i),u=n,g=p["".concat(c,".").concat(u)]||p[u]||h[u]||a;return i?o.createElement(g,r(r({ref:e},d),{},{components:i})):o.createElement(g,r({ref:e},d))}));function u(t,e){var i=arguments,n=e&&e.mdxType;if("string"==typeof t||n){var a=i.length,r=new Array(a);r[0]=p;var s={};for(var c in e)hasOwnProperty.call(e,c)&&(s[c]=e[c]);s.originalType=t,s.mdxType="string"==typeof t?t:n,r[1]=s;for(var l=2;l=0||(n[i]=t[i]);return n}(t,e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(t,i)&&(n[i]=t[i])}return n}var c=o.createContext({}),l=function(t){var e=o.useContext(c),i=e;return t&&(i="function"==typeof t?t(e):r(r({},e),t)),i},d=function(t){var e=l(t.components);return o.createElement(c.Provider,{value:e},t.children)},h={inlineCode:"code",wrapper:function(t){var e=t.children;return o.createElement(o.Fragment,{},e)}},p=o.forwardRef((function(t,e){var i=t.components,n=t.mdxType,a=t.originalType,c=t.parentName,d=s(t,["components","mdxType","originalType","parentName"]),p=l(i),u=n,g=p["".concat(c,".").concat(u)]||p[u]||h[u]||a;return i?o.createElement(g,r(r({ref:e},d),{},{components:i})):o.createElement(g,r({ref:e},d))}));function u(t,e){var i=arguments,n=e&&e.mdxType;if("string"==typeof t||n){var a=i.length,r=new Array(a);r[0]=p;var s={};for(var c in e)hasOwnProperty.call(e,c)&&(s[c]=e[c]);s.originalType=t,s.mdxType="string"==typeof t?t:n,r[1]=s;for(var l=2;l=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var c=n.createContext({}),l=function(e){var t=n.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):a(a({},t),e)),r},d=function(e){var t=l(e.components);return n.createElement(c.Provider,{value:t},e.children)},f={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},p=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,i=e.originalType,c=e.parentName,d=s(e,["components","mdxType","originalType","parentName"]),p=l(r),m=o,u=p["".concat(c,".").concat(m)]||p[m]||f[m]||i;return r?n.createElement(u,a(a({ref:t},d),{},{components:r})):n.createElement(u,a({ref:t},d))}));function m(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var i=r.length,a=new Array(i);a[0]=p;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s.mdxType="string"==typeof e?e:o,a[1]=s;for(var l=2;l=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var c=n.createContext({}),l=function(e){var t=n.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):a(a({},t),e)),r},d=function(e){var t=l(e.components);return n.createElement(c.Provider,{value:t},e.children)},f={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},p=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,i=e.originalType,c=e.parentName,d=s(e,["components","mdxType","originalType","parentName"]),p=l(r),m=o,u=p["".concat(c,".").concat(m)]||p[m]||f[m]||i;return r?n.createElement(u,a(a({ref:t},d),{},{components:r})):n.createElement(u,a({ref:t},d))}));function m(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var i=r.length,a=new Array(i);a[0]=p;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s.mdxType="string"==typeof e?e:o,a[1]=s;for(var l=2;l=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var c=i.createContext({}),l=function(e){var t=i.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):a(a({},t),e)),r},f=function(e){var t=l(e.components);return i.createElement(c.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},p=i.forwardRef((function(e,t){var r=e.components,n=e.mdxType,o=e.originalType,c=e.parentName,f=s(e,["components","mdxType","originalType","parentName"]),p=l(r),u=n,h=p["".concat(c,".").concat(u)]||p[u]||d[u]||o;return r?i.createElement(h,a(a({ref:t},f),{},{components:r})):i.createElement(h,a({ref:t},f))}));function u(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=r.length,a=new Array(o);a[0]=p;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s.mdxType="string"==typeof e?e:n,a[1]=s;for(var l=2;l=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var c=i.createContext({}),l=function(e){var t=i.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):a(a({},t),e)),r},f=function(e){var t=l(e.components);return i.createElement(c.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},p=i.forwardRef((function(e,t){var r=e.components,n=e.mdxType,o=e.originalType,c=e.parentName,f=s(e,["components","mdxType","originalType","parentName"]),p=l(r),u=n,h=p["".concat(c,".").concat(u)]||p[u]||d[u]||o;return r?i.createElement(h,a(a({ref:t},f),{},{components:r})):i.createElement(h,a({ref:t},f))}));function u(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=r.length,a=new Array(o);a[0]=p;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s.mdxType="string"==typeof e?e:n,a[1]=s;for(var l=2;l=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var c=n.createContext({}),p=function(e){var t=n.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):a(a({},t),e)),r},l=function(e){var t=p(e.components);return n.createElement(c.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,i=e.originalType,c=e.parentName,l=s(e,["components","mdxType","originalType","parentName"]),m=p(r),d=o,h=m["".concat(c,".").concat(d)]||m[d]||u[d]||i;return r?n.createElement(h,a(a({ref:t},l),{},{components:r})):n.createElement(h,a({ref:t},l))}));function d(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var i=r.length,a=new Array(i);a[0]=m;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s.mdxType="string"==typeof e?e:o,a[1]=s;for(var p=2;p=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var c=n.createContext({}),p=function(e){var t=n.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):a(a({},t),e)),r},l=function(e){var t=p(e.components);return n.createElement(c.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,i=e.originalType,c=e.parentName,l=s(e,["components","mdxType","originalType","parentName"]),m=p(r),d=o,h=m["".concat(c,".").concat(d)]||m[d]||u[d]||i;return r?n.createElement(h,a(a({ref:t},l),{},{components:r})):n.createElement(h,a({ref:t},l))}));function d(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var i=r.length,a=new Array(i);a[0]=m;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s.mdxType="string"==typeof e?e:o,a[1]=s;for(var p=2;p=0||(s[o]=e[o]);return s}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(s[o]=e[o])}return s}var c=r.createContext({}),l=function(e){var t=r.useContext(c),o=t;return e&&(o="function"==typeof e?e(t):a(a({},t),e)),o},p=function(e){var t=l(e.components);return r.createElement(c.Provider,{value:t},e.children)},f={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},d=r.forwardRef((function(e,t){var o=e.components,s=e.mdxType,n=e.originalType,c=e.parentName,p=i(e,["components","mdxType","originalType","parentName"]),d=l(o),u=s,m=d["".concat(c,".").concat(u)]||d[u]||f[u]||n;return o?r.createElement(m,a(a({ref:t},p),{},{components:o})):r.createElement(m,a({ref:t},p))}));function u(e,t){var o=arguments,s=t&&t.mdxType;if("string"==typeof e||s){var n=o.length,a=new Array(n);a[0]=d;var i={};for(var c in t)hasOwnProperty.call(t,c)&&(i[c]=t[c]);i.originalType=e,i.mdxType="string"==typeof e?e:s,a[1]=i;for(var l=2;l=0||(s[o]=e[o]);return s}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(s[o]=e[o])}return s}var c=r.createContext({}),l=function(e){var t=r.useContext(c),o=t;return e&&(o="function"==typeof e?e(t):a(a({},t),e)),o},p=function(e){var t=l(e.components);return r.createElement(c.Provider,{value:t},e.children)},f={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},d=r.forwardRef((function(e,t){var o=e.components,s=e.mdxType,n=e.originalType,c=e.parentName,p=i(e,["components","mdxType","originalType","parentName"]),d=l(o),u=s,m=d["".concat(c,".").concat(u)]||d[u]||f[u]||n;return o?r.createElement(m,a(a({ref:t},p),{},{components:o})):r.createElement(m,a({ref:t},p))}));function u(e,t){var o=arguments,s=t&&t.mdxType;if("string"==typeof e||s){var n=o.length,a=new Array(n);a[0]=d;var i={};for(var c in t)hasOwnProperty.call(t,c)&&(i[c]=t[c]);i.originalType=e,i.mdxType="string"==typeof e?e:s,a[1]=i;for(var l=2;l=0||(i[o]=t[o]);return i}(t,e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,o)&&(i[o]=t[o])}return i}var c=n.createContext({}),u=function(t){var e=n.useContext(c),o=e;return t&&(o="function"==typeof t?t(e):s(s({},e),t)),o},l=function(t){var e=u(t.components);return n.createElement(c.Provider,{value:e},t.children)},p={inlineCode:"code",wrapper:function(t){var e=t.children;return n.createElement(n.Fragment,{},e)}},d=n.forwardRef((function(t,e){var o=t.components,i=t.mdxType,r=t.originalType,c=t.parentName,l=a(t,["components","mdxType","originalType","parentName"]),d=u(o),h=i,f=d["".concat(c,".").concat(h)]||d[h]||p[h]||r;return o?n.createElement(f,s(s({ref:e},l),{},{components:o})):n.createElement(f,s({ref:e},l))}));function h(t,e){var o=arguments,i=e&&e.mdxType;if("string"==typeof t||i){var r=o.length,s=new Array(r);s[0]=d;var a={};for(var c in e)hasOwnProperty.call(e,c)&&(a[c]=e[c]);a.originalType=t,a.mdxType="string"==typeof t?t:i,s[1]=a;for(var u=2;u=0||(i[o]=t[o]);return i}(t,e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,o)&&(i[o]=t[o])}return i}var c=n.createContext({}),u=function(t){var e=n.useContext(c),o=e;return t&&(o="function"==typeof t?t(e):s(s({},e),t)),o},l=function(t){var e=u(t.components);return n.createElement(c.Provider,{value:e},t.children)},p={inlineCode:"code",wrapper:function(t){var e=t.children;return n.createElement(n.Fragment,{},e)}},d=n.forwardRef((function(t,e){var o=t.components,i=t.mdxType,r=t.originalType,c=t.parentName,l=a(t,["components","mdxType","originalType","parentName"]),d=u(o),h=i,f=d["".concat(c,".").concat(h)]||d[h]||p[h]||r;return o?n.createElement(f,s(s({ref:e},l),{},{components:o})):n.createElement(f,s({ref:e},l))}));function h(t,e){var o=arguments,i=e&&e.mdxType;if("string"==typeof t||i){var r=o.length,s=new Array(r);s[0]=d;var a={};for(var c in e)hasOwnProperty.call(e,c)&&(a[c]=e[c]);a.originalType=t,a.mdxType="string"==typeof t?t:i,s[1]=a;for(var u=2;u=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var c=i.createContext({}),l=function(e){var t=i.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):a(a({},t),e)),n},p=function(e){var t=l(e.components);return i.createElement(c.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},d=i.forwardRef((function(e,t){var n=e.components,r=e.mdxType,o=e.originalType,c=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),d=l(n),f=r,v=d["".concat(c,".").concat(f)]||d[f]||u[f]||o;return n?i.createElement(v,a(a({ref:t},p),{},{components:n})):i.createElement(v,a({ref:t},p))}));function f(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=n.length,a=new Array(o);a[0]=d;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s.mdxType="string"==typeof e?e:r,a[1]=s;for(var l=2;l=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var c=i.createContext({}),l=function(e){var t=i.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):a(a({},t),e)),n},p=function(e){var t=l(e.components);return i.createElement(c.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},d=i.forwardRef((function(e,t){var n=e.components,r=e.mdxType,o=e.originalType,c=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),d=l(n),f=r,v=d["".concat(c,".").concat(f)]||d[f]||u[f]||o;return n?i.createElement(v,a(a({ref:t},p),{},{components:n})):i.createElement(v,a({ref:t},p))}));function f(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=n.length,a=new Array(o);a[0]=d;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s.mdxType="string"==typeof e?e:r,a[1]=s;for(var l=2;l=0||(a[i]=e[i]);return a}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(a[i]=e[i])}return a}var c=o.createContext({}),l=function(e){var t=o.useContext(c),i=t;return e&&(i="function"==typeof e?e(t):r(r({},t),e)),i},h=function(e){var t=l(e.components);return o.createElement(c.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},d=o.forwardRef((function(e,t){var i=e.components,a=e.mdxType,s=e.originalType,c=e.parentName,h=n(e,["components","mdxType","originalType","parentName"]),d=l(i),u=a,m=d["".concat(c,".").concat(u)]||d[u]||p[u]||s;return i?o.createElement(m,r(r({ref:t},h),{},{components:i})):o.createElement(m,r({ref:t},h))}));function u(e,t){var i=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var s=i.length,r=new Array(s);r[0]=d;var n={};for(var c in t)hasOwnProperty.call(t,c)&&(n[c]=t[c]);n.originalType=e,n.mdxType="string"==typeof e?e:a,r[1]=n;for(var l=2;l=0||(a[i]=e[i]);return a}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(a[i]=e[i])}return a}var c=o.createContext({}),l=function(e){var t=o.useContext(c),i=t;return e&&(i="function"==typeof e?e(t):r(r({},t),e)),i},h=function(e){var t=l(e.components);return o.createElement(c.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},d=o.forwardRef((function(e,t){var i=e.components,a=e.mdxType,s=e.originalType,c=e.parentName,h=n(e,["components","mdxType","originalType","parentName"]),d=l(i),u=a,m=d["".concat(c,".").concat(u)]||d[u]||p[u]||s;return i?o.createElement(m,r(r({ref:t},h),{},{components:i})):o.createElement(m,r({ref:t},h))}));function u(e,t){var i=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var s=i.length,r=new Array(s);r[0]=d;var n={};for(var c in t)hasOwnProperty.call(t,c)&&(n[c]=t[c]);n.originalType=e,n.mdxType="string"==typeof e?e:a,r[1]=n;for(var l=2;l=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var c=r.createContext({}),p=function(e){var t=r.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},l=function(e){var t=p(e.components);return r.createElement(c.Provider,{value:t},e.children)},f={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},u=r.forwardRef((function(e,t){var n=e.components,i=e.mdxType,a=e.originalType,c=e.parentName,l=s(e,["components","mdxType","originalType","parentName"]),u=p(n),d=i,h=u["".concat(c,".").concat(d)]||u[d]||f[d]||a;return n?r.createElement(h,o(o({ref:t},l),{},{components:n})):r.createElement(h,o({ref:t},l))}));function d(e,t){var n=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var a=n.length,o=new Array(a);o[0]=u;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s.mdxType="string"==typeof e?e:i,o[1]=s;for(var p=2;p=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var c=r.createContext({}),p=function(e){var t=r.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},l=function(e){var t=p(e.components);return r.createElement(c.Provider,{value:t},e.children)},f={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},u=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,i=e.originalType,c=e.parentName,l=s(e,["components","mdxType","originalType","parentName"]),u=p(n),d=a,h=u["".concat(c,".").concat(d)]||u[d]||f[d]||i;return n?r.createElement(h,o(o({ref:t},l),{},{components:n})):r.createElement(h,o({ref:t},l))}));function d(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=n.length,o=new Array(i);o[0]=u;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s.mdxType="string"==typeof e?e:a,o[1]=s;for(var p=2;p=0||(s[r]=e[r]);return s}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(s[r]=e[r])}return s}var c=o.createContext({}),l=function(e){var t=o.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},p=function(e){var t=l(e.components);return o.createElement(c.Provider,{value:t},e.children)},h={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},m=o.forwardRef((function(e,t){var r=e.components,s=e.mdxType,a=e.originalType,c=e.parentName,p=n(e,["components","mdxType","originalType","parentName"]),m=l(r),d=s,f=m["".concat(c,".").concat(d)]||m[d]||h[d]||a;return r?o.createElement(f,i(i({ref:t},p),{},{components:r})):o.createElement(f,i({ref:t},p))}));function d(e,t){var r=arguments,s=t&&t.mdxType;if("string"==typeof e||s){var a=r.length,i=new Array(a);i[0]=m;var n={};for(var c in t)hasOwnProperty.call(t,c)&&(n[c]=t[c]);n.originalType=e,n.mdxType="string"==typeof e?e:s,i[1]=n;for(var l=2;l=0||(s[r]=e[r]);return s}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(s[r]=e[r])}return s}var c=o.createContext({}),l=function(e){var t=o.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},p=function(e){var t=l(e.components);return o.createElement(c.Provider,{value:t},e.children)},h={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},m=o.forwardRef((function(e,t){var r=e.components,s=e.mdxType,a=e.originalType,c=e.parentName,p=n(e,["components","mdxType","originalType","parentName"]),m=l(r),d=s,f=m["".concat(c,".").concat(d)]||m[d]||h[d]||a;return r?o.createElement(f,i(i({ref:t},p),{},{components:r})):o.createElement(f,i({ref:t},p))}));function d(e,t){var r=arguments,s=t&&t.mdxType;if("string"==typeof e||s){var a=r.length,i=new Array(a);i[0]=m;var n={};for(var c in t)hasOwnProperty.call(t,c)&&(n[c]=t[c]);n.originalType=e,n.mdxType="string"==typeof e?e:s,i[1]=n;for(var l=2;l=0||(n[i]=t[i]);return n}(t,e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(t,i)&&(n[i]=t[i])}return n}var c=o.createContext({}),h=function(t){var e=o.useContext(c),i=e;return t&&(i="function"==typeof t?t(e):s(s({},e),t)),i},l=function(t){var e=h(t.components);return o.createElement(c.Provider,{value:e},t.children)},d={inlineCode:"code",wrapper:function(t){var e=t.children;return o.createElement(o.Fragment,{},e)}},p=o.forwardRef((function(t,e){var i=t.components,n=t.mdxType,r=t.originalType,c=t.parentName,l=a(t,["components","mdxType","originalType","parentName"]),p=h(i),u=n,f=p["".concat(c,".").concat(u)]||p[u]||d[u]||r;return i?o.createElement(f,s(s({ref:e},l),{},{components:i})):o.createElement(f,s({ref:e},l))}));function u(t,e){var i=arguments,n=e&&e.mdxType;if("string"==typeof t||n){var r=i.length,s=new Array(r);s[0]=p;var a={};for(var c in e)hasOwnProperty.call(e,c)&&(a[c]=e[c]);a.originalType=t,a.mdxType="string"==typeof t?t:n,s[1]=a;for(var h=2;h=0||(n[i]=t[i]);return n}(t,e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(t,i)&&(n[i]=t[i])}return n}var c=o.createContext({}),h=function(t){var e=o.useContext(c),i=e;return t&&(i="function"==typeof t?t(e):s(s({},e),t)),i},l=function(t){var e=h(t.components);return o.createElement(c.Provider,{value:e},t.children)},d={inlineCode:"code",wrapper:function(t){var e=t.children;return o.createElement(o.Fragment,{},e)}},p=o.forwardRef((function(t,e){var i=t.components,n=t.mdxType,r=t.originalType,c=t.parentName,l=a(t,["components","mdxType","originalType","parentName"]),p=h(i),u=n,f=p["".concat(c,".").concat(u)]||p[u]||d[u]||r;return i?o.createElement(f,s(s({ref:e},l),{},{components:i})):o.createElement(f,s({ref:e},l))}));function u(t,e){var i=arguments,n=e&&e.mdxType;if("string"==typeof t||n){var r=i.length,s=new Array(r);s[0]=p;var a={};for(var c in e)hasOwnProperty.call(e,c)&&(a[c]=e[c]);a.originalType=t,a.mdxType="string"==typeof t?t:n,s[1]=a;for(var h=2;h=0||(n[i]=e[i]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(n[i]=e[i])}return n}var h=a.createContext({}),d=function(e){var t=a.useContext(h),i=t;return e&&(i="function"==typeof e?e(t):r(r({},t),e)),i},c=function(e){var t=d(e.components);return a.createElement(h.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},l=a.forwardRef((function(e,t){var i=e.components,n=e.mdxType,o=e.originalType,h=e.parentName,c=s(e,["components","mdxType","originalType","parentName"]),l=d(i),f=n,m=l["".concat(h,".").concat(f)]||l[f]||p[f]||o;return i?a.createElement(m,r(r({ref:t},c),{},{components:i})):a.createElement(m,r({ref:t},c))}));function f(e,t){var i=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=i.length,r=new Array(o);r[0]=l;var s={};for(var h in t)hasOwnProperty.call(t,h)&&(s[h]=t[h]);s.originalType=e,s.mdxType="string"==typeof e?e:n,r[1]=s;for(var d=2;dshowtext",id:"showtext",level:3},{value:"term",id:"term",level:3},{value:"trait",id:"trait",level:3},{value:"scopetag",id:"scopetag",level:3},{value:"vsntag",id:"vsntag",level:3},{value:"Alternative notation",id:"alternative-syntax",level:3}],l={toc:p};function f(e){var t=e.components,i=(0,n.Z)(e,r);return(0,o.kt)("wrapper",(0,a.Z)({},l,i,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"term-references---syntax"},"Term References - Syntax"),(0,o.kt)("admonition",{type:"caution"},(0,o.kt)("p",{parentName:"admonition"},"The entire section on Terminology Engine v 2 (TEv2) is still under construction.",(0,o.kt)("br",null),"\nAs TEv2 is not (yet) available, the texts that specify the tool are still 'raw', i.e. not yet processed.",(0,o.kt)("br",null),(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/reader",title:"Reader: a person that reads a text that is authored by another person (its Author]), and that tries to understand the meaning of this text in the way its Author intended."},"readers")," will need to see through some (currently unprocessed) notational conventions.")),(0,o.kt)("p",null,"As an ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/author",title:"Author: a person that creates a text that is meant to be read and understood by others - usually, a particular audience."},"author")," or ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curator",title:"Curator: {(noRefs glossaryText)}"},"curator"),", you want to be able to mark words or phrases, and have them refer to (the documentation of) a particular ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/concept",title:"Concept: a Knowledge Artifact that captures the ideas/thoughts behind a classification of Entities (what makes Entities in that class 'the same')."},"concept")," or other ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/knowledge-artifact",title:"Knowledge-artifact: something that can be thought of as existing in a particular Knowledge, e.g. a Concept, or a Mental Model."},"knowledge artifact"),". Such marked-up words or phrases are called ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRefs"),". This text specifies the syntax that you can use to ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/author",title:"Author: a person that creates a text that is meant to be read and understood by others - usually, a particular audience."},"author")," ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRefs"),"."),(0,o.kt)("admonition",{title:"Editor's note",type:"info"},(0,o.kt)("p",{parentName:"admonition"},"Also, you will want to (and actually can) control the effect that your ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRefs")," must have when it is rendered. After all, the effect you seek it to have as part of a rendered static website (e.g. so that it produces a popup with its definition) would be quite different form when it would be part of a PDF (in which case you may want it to become part of an automatically generated ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/glossary",title:"Glossary: an alphabetically sorted list of Terms with the (single) meaning it has in (at least) one context."},"glossary")," in one of the papers annexes). Selecting the effect is done by properly instructing the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/trrt",title:"TRRT (TermRef Rendering Tool): a TEv2 Tool that is designed to facilitate the visualization and rendering of TermRefs."},"TermRef resolution tool")," when your text is processed for rendering."),(0,o.kt)("p",{parentName:"admonition"},"We need some text here that points to the documentation for doing so. This could be e.g. in the ",(0,o.kt)("a",{parentName:"p",href:"/docs/manuals/author"},"authors manual")," and ",(0,o.kt)("a",{parentName:"p",href:"/docs/manuals/curator"},"curators manual"),", but also in the ",(0,o.kt)("a",{parentName:"p",href:"/docs/spec-tools/trrt"},"TRRT specifications"),", or in some manual that deals with adding rendering plugins.")),(0,o.kt)("p",null,"while at the same time referring to the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/definition",title:"Definition: a text that helps Parties to have the same understanding about the meaning of (and Concepts behind) a Term, ideally in such a way that these Parties can determine whether or not they make the same distinction."},"definition")," that defines its meaning. i.e. the syntax that you need to use in such texts. The way in which the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Term: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"term")," (and its ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/definition",title:"Definition: a text that helps Parties to have the same understanding about the meaning of (and Concepts behind) a Term, ideally in such a way that these Parties can determine whether or not they make the same distinction."},"definition"),") may be rendered depends on the artifact that is being generated. For example, when a ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Term: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"term")," is rendered in a web-site, it may be enhanced, showing a popup that contains its ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/definition",title:"Definition: a text that helps Parties to have the same understanding about the meaning of (and Concepts behind) a Term, ideally in such a way that these Parties can determine whether or not they make the same distinction."},"definition")," when a ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/reader",title:"Reader: a person that reads a text that is authored by another person (its Author]), and that tries to understand the meaning of this text in the way its Author intended."},"reader")," hovers the mouse over it, and that hyperlinks to the page in the website that explains the term in more detail when the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/reader",title:"Reader: a person that reads a text that is authored by another person (its Author]), and that tries to understand the meaning of this text in the way its Author intended."},"reader")," clicks on it. When a ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Term: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"term")," is rendered in a PDF file, its definition may appear as an entry in a ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/glossary",title:"Glossary: an alphabetically sorted list of Terms with the (single) meaning it has in (at least) one context."},"glossary")," that is added somewhere in the PDF. It all depends on the rendering tools that are being used, and this is out of scope for this specification."),(0,o.kt)("p",null,"This file specifies the syntax of ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRefs"),". The ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/trrt",title:"TRRT (TermRef Rendering Tool): a TEv2 Tool that is designed to facilitate the visualization and rendering of TermRefs."},"TRRT")," describes ",(0,o.kt)("a",{parentName:"p",href:"/docs/spec-tools/trrt#term-ref-resolution"},"how they are processed (resolved)"),"."),(0,o.kt)("h2",{id:"basic-syntax"},"Term References (Original/Default Syntax)"),(0,o.kt)("p",null,"A ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRef")," can be thought of as a ",(0,o.kt)("a",{parentName:"p",href:"https://www.markdownguide.org/basic-syntax/#links"},"Markdown link"),", but rather than linking to some URL or fragment, it refers/links to a specific descriptive text (e.g. a ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/definition",title:"Definition: a text that helps Parties to have the same understanding about the meaning of (and Concepts behind) a Term, ideally in such a way that these Parties can determine whether or not they make the same distinction."},"definition"),", purpose, or example) that is associated with (a specific version of) a ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scoped-term",title:"Scoped-term: a Term that represents (and Identifies) a specific Knowledge Artifact of a particular Community (or Party)."},"(scoped) term"),", which is ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identified: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identified")," by its ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," and the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Term: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"term")," (label, text)."),(0,o.kt)("details",null,(0,o.kt)("summary",null,"Motivation for the chosen syntax"),(0,o.kt)("p",null,"We want to enable ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/author",title:"Author: a person that creates a text that is meant to be read and understood by others - usually, a particular audience."},"authors")," to use ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRefs")," pervasively, which means it must be easy to use, and mistakes should be (relatively) hard to make, yet easy to detect, identify, and correct. ",(0,o.kt)("a",{parentName:"p",href:"https://www.markdownguide.org/basic-syntax/#links"},"Markdown links")," are of the form ","[",(0,o.kt)("inlineCode",{parentName:"p"},"show text"),"]","(",(0,o.kt)("inlineCode",{parentName:"p"},"ref-text"),"), where ",(0,o.kt)("inlineCode",{parentName:"p"},"show text")," is the text that is rendered and emphasized so that a ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/reader",title:"Reader: a person that reads a text that is authored by another person (its Author]), and that tries to understand the meaning of this text in the way its Author intended."},"reader")," knows it can be clicked, and ",(0,o.kt)("inlineCode",{parentName:"p"},"ref-text")," is a (relative or absolute) URL, or a ",(0,o.kt)("a",{parentName:"p",href:"https://www.markdownguide.org/extended-syntax/#linking-to-heading-ids"},"heading ID"),", that identifies the resource (e.g. web page, or place therein) that is being referenced. So, we need a syntax for ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRefs")," that is",(0,o.kt)("br",null),"- sufficiently similar to a ",(0,o.kt)("a",{parentName:"p",href:"https://www.markdownguide.org/basic-syntax/#links"},"Markdown link"),",",(0,o.kt)("br",null),"- 'humanly interpretable' when it isn't processed by the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/trrt",title:"TRRT (TermRef Rendering Tool): a TEv2 Tool that is designed to facilitate the visualization and rendering of TermRefs."},"TRRT"),",",(0,o.kt)("br",null),"- easy to use for ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/author",title:"Author: a person that creates a text that is meant to be read and understood by others - usually, a particular audience."},"authors"),", and",(0,o.kt)("br",null),"- sufficiently distinct from a Markdown link so that the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/trrt",title:"TRRT (TermRef Rendering Tool): a TEv2 Tool that is designed to facilitate the visualization and rendering of TermRefs."},"TRRT")," will not process Markdown links yet will process the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRefs"),".")),(0,o.kt)("p",null,"Here is an example of a ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRef"),": ",(0,o.kt)("inlineCode",{parentName:"p"},"[definitions](definition@)"),". When this text is rendered into a human readable form, it will show the text ",(0,o.kt)("inlineCode",{parentName:"p"},"definitions")," (plural) enhanced, and it will link to the text that describes (or defines) the term ",(0,o.kt)("inlineCode",{parentName:"p"},"definition")," (singular). If you would want to use this term as it is defined in the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," called ",(0,o.kt)("inlineCode",{parentName:"p"},"essif-lab"),", you could do that by wrinting ",(0,o.kt)("inlineCode",{parentName:"p"},"[definitions](definition@essif-lab)")," (provided that ",(0,o.kt)("inlineCode",{parentName:"p"},"essif-lab")," is a defined ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopetag",title:"Scopetag: a Tag that is used to Identify Scopes from within a specific Scope"},"scopetag")," within the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," that you operate in)."),(0,o.kt)("p",null,"The complete, generic structure of a ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRef")," is: ",(0,o.kt)("strong",{parentName:"p"},"[",(0,o.kt)("inlineCode",{parentName:"strong"},"show text"),"]","(",(0,o.kt)("inlineCode",{parentName:"strong"},"term"),"#",(0,o.kt)("inlineCode",{parentName:"strong"},"trait"),"@",(0,o.kt)("inlineCode",{parentName:"strong"},"scopetag"),":",(0,o.kt)("inlineCode",{parentName:"strong"},"vsntag"),")"),". However, all of its elements (except for ",(0,o.kt)("inlineCode",{parentName:"p"},"show text"),") are optional, so as to limit the 'extra work' that ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/author",title:"Author: a person that creates a text that is meant to be read and understood by others - usually, a particular audience."},"authors")," need to do to a minimum."),(0,o.kt)("h3",{id:"showtext"},(0,o.kt)("inlineCode",{parentName:"h3"},"showtext")),(0,o.kt)("p",null,(0,o.kt)("strong",{parentName:"p"},(0,o.kt)("inlineCode",{parentName:"strong"},"showtext"))," is the text that will be highlighted/emphasized to indicate it is linked.\nIt must not contain the characters ",(0,o.kt)("inlineCode",{parentName:"p"},"@")," or ",(0,o.kt)("inlineCode",{parentName:"p"},"]")," (this is needed to distinguish ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRefs")," from regular ",(0,o.kt)("a",{parentName:"p",href:"https://www.markdownguide.org/basic-syntax/#links"},"markdown links"),")."),(0,o.kt)("h3",{id:"term"},(0,o.kt)("inlineCode",{parentName:"h3"},"term")),(0,o.kt)("p",null,(0,o.kt)("strong",{parentName:"p"},(0,o.kt)("inlineCode",{parentName:"strong"},"term"))," is the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scoped-term",title:"Scoped-term: a Term that represents (and Identifies) a specific Knowledge Artifact of a particular Community (or Party)."},"(scoped) term")," that ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identifies: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identifies")," the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/knowledge-artifact",title:"Knowledge-artifact: something that can be thought of as existing in a particular Knowledge, e.g. a Concept, or a Mental Model."},"knowledge artifact")," that is to be referred to.",(0,o.kt)("br",null),"It must satisfy the regex ",(0,o.kt)("inlineCode",{parentName:"p"},"[a-z0-9_-]+"),"."),(0,o.kt)("p",null,"If omitted, its value is assumed to be ",(0,o.kt)("a",{parentName:"p",href:"/docs/spec-tools/trrt#id"},"derivable from ",(0,o.kt)("inlineCode",{parentName:"a"},"showtext")),".\nAt a minimum, this is the case if the ",(0,o.kt)("inlineCode",{parentName:"p"},"term")," equals the result of processing ",(0,o.kt)("inlineCode",{parentName:"p"},"showtext")," by first converting every character in the range ",(0,o.kt)("inlineCode",{parentName:"p"},"[A-Z]")," to lower-case, and then replacing every sequence of characters specified by regex ",(0,o.kt)("inlineCode",{parentName:"p"},"[^A-Za-z_-]+")," with (a single) ",(0,o.kt)("inlineCode",{parentName:"p"},"-")," character."),(0,o.kt)("h3",{id:"trait"},(0,o.kt)("inlineCode",{parentName:"h3"},"trait")),(0,o.kt)("p",null,(0,o.kt)("strong",{parentName:"p"},(0,o.kt)("inlineCode",{parentName:"strong"},"trait"))," is a text that ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identifies: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identifies")," a particular (kind of) characteristic (feature, attribute, particularity) that is associated with the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Term: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"term"),", and to a description of which is to be referred.",(0,o.kt)("br",null),"It must satisfy the regex ",(0,o.kt)("inlineCode",{parentName:"p"},"[a-z0-9_-]+"),"."),(0,o.kt)("p",null,"If omitted (in which case the preceding ",(0,o.kt)("inlineCode",{parentName:"p"},"#"),"-character may also be omitted), the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRef")," will by default resolve to the text of its ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/glossary",title:"Glossary: an alphabetically sorted list of Terms with the (single) meaning it has in (at least) one context."},"glossary")," entry. While it is envisaged that ",(0,o.kt)("inlineCode",{parentName:"p"},"trait")," must be a text from a predefined set of allowed/supported texts (e.g. ",(0,o.kt)("inlineCode",{parentName:"p"},"purpose"),", ",(0,o.kt)("inlineCode",{parentName:"p"},"criteria"),", ",(0,o.kt)("inlineCode",{parentName:"p"},"example-3"),"), the precise semantics remain to be specified."),(0,o.kt)("admonition",{title:"Editor's note",type:"info"},(0,o.kt)("p",{parentName:"admonition"},"The semantics of ",(0,o.kt)("inlineCode",{parentName:"p"},"trait")," need to be better specified.")),(0,o.kt)("h3",{id:"scopetag"},(0,o.kt)("inlineCode",{parentName:"h3"},"scopetag")),(0,o.kt)("p",null,(0,o.kt)("strong",{parentName:"p"},(0,o.kt)("inlineCode",{parentName:"strong"},"scopetag"))," is a ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/tag",title:"Tag: an alphanumeric string that is used to identify Scopes (so called 'scopetags'), group Terms (so called 'grouptags'), or identify a specific version of a Terminology (so called 'versiontags') from within a specific Scope."},"tag")," that ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identifies: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identifies")," the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," of the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology")," that contains the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scoped-term",title:"Scoped-term: a Term that represents (and Identifies) a specific Knowledge Artifact of a particular Community (or Party)."},"(scoped) term")," that is being referenced.",(0,o.kt)("br",null),"It must satisfy the regex ",(0,o.kt)("inlineCode",{parentName:"p"},"[a-z0-9_-]+"),". Also, it must appear as such in the ",(0,o.kt)("inlineCode",{parentName:"p"},"scopes")," section of the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF")," of the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," within which the document containing the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRef")," is being maintained, or it must be the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopetag",title:"Scopetag: a Tag that is used to Identify Scopes from within a specific Scope"},"scopetag")," of the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," itself."),(0,o.kt)("p",null,"If omitted, a default ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," will be used, which is the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," from which the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/trrt",title:"TRRT (TermRef Rendering Tool): a TEv2 Tool that is designed to facilitate the visualization and rendering of TermRefs."},"TRRT")," is being called, which SHOULD be the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," within which the document containing the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRef")," is being maintained. Note that the preceding ",(0,o.kt)("inlineCode",{parentName:"p"},"@")," sign MUST NOT be omitted because as it serves the purpose to distinguish ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRefs")," from other ",(0,o.kt)("a",{parentName:"p",href:"https://www.markdownguide.org/basic-syntax/#links"},"markdown links"),"."),(0,o.kt)("h3",{id:"vsntag"},(0,o.kt)("inlineCode",{parentName:"h3"},"vsntag")),(0,o.kt)("p",null,(0,o.kt)("strong",{parentName:"p"},(0,o.kt)("inlineCode",{parentName:"strong"},"vsntag"))," is a ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/versiontag",title:"Versiontag: a Tag that is used to Identify a specific version of a Terminology from within a specific Scope."},"versiontag")," that ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identifies: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identifies")," the specific version of the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology")," in the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," that contains the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scoped-term",title:"Scoped-term: a Term that represents (and Identifies) a specific Knowledge Artifact of a particular Community (or Party)."},"(scoped) term")," that is being referenced.",(0,o.kt)("br",null),"It must satisfy the regex ",(0,o.kt)("inlineCode",{parentName:"p"},"[a-z0-9_-\\.]+"),"."),(0,o.kt)("p",null,"If omitted (in which case the preceding ",(0,o.kt)("inlineCode",{parentName:"p"},":"),"-character may also be omitted), its value will be the default, which is determined by the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curator",title:"Curator: {(noRefs glossaryText)}"},"curators")," of that ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," (the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," that has the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology")," that contains the (scoped) term](scoped-term@) that is being referenced, is specified in the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF")," of that ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),", in the appropriate ",(0,o.kt)("inlineCode",{parentName:"p"},"scopes.mrgfile"),"-field). A ",(0,o.kt)("inlineCode",{parentName:"p"},"vsntag")," is only valid if it appears as the value of the ",(0,o.kt)("inlineCode",{parentName:"p"},"vsntag")," field or an element of the ",(0,o.kt)("inlineCode",{parentName:"p"},"altvsntags")," field in one of the list-elements of the ",(0,o.kt)("inlineCode",{parentName:"p"},"versions")," field in the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF")," of the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),"."),(0,o.kt)("admonition",{title:"Editor's note",type:"info"},(0,o.kt)("p",{parentName:"admonition"},"It has been suggested to provide ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRef")," syntax that allows one to refer to a ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/knowledge-artifact",title:"Knowledge-artifact: something that can be thought of as existing in a particular Knowledge, e.g. a Concept, or a Mental Model."},"knowledge artifact")," from a ","[terminology]"," that was 'current'/'latest'/... at a particular date. The ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF")," ",(0,o.kt)("a",{parentName:"p",href:"/docs/spec-files/saf#versions"},"versioning specifications")," already cater for ",(0,o.kt)("inlineCode",{parentName:"p"},"from")," and ",(0,o.kt)("inlineCode",{parentName:"p"},"to")," dates, but everything else needs to be worked out.")),(0,o.kt)("h3",{id:"alternative-syntax"},"Alternative notation"),(0,o.kt)("p",null,"It is convenient for ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/author",title:"Author: a person that creates a text that is meant to be read and understood by others - usually, a particular audience."},"authors")," to be able to use the '@",(0,o.kt)("inlineCode",{parentName:"p"},"scopetag"),"' part of a ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRef")," immediately behind the ",(0,o.kt)("inlineCode",{parentName:"p"},"show text")," within the square brackets (",(0,o.kt)("inlineCode",{parentName:"p"},"[")," and ",(0,o.kt)("inlineCode",{parentName:"p"},"]"),"), and leave out the parentheses and the text in between if all the other items are omitted."),(0,o.kt)("p",null,"This is particularly useful in the vast majority of cases, where the default processing of ",(0,o.kt)("inlineCode",{parentName:"p"},"showtext")," results in ",(0,o.kt)("inlineCode",{parentName:"p"},"term")," and ",(0,o.kt)("inlineCode",{parentName:"p"},"trait")," is absent. Examples of this are ",(0,o.kt)("inlineCode",{parentName:"p"},"[definition](@)"),", or ",(0,o.kt)("inlineCode",{parentName:"p"},"[TermRef](@)"),"."),(0,o.kt)("p",null,"The usefulness becomes even greater as the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/trrt",title:"TRRT (TermRef Rendering Tool): a TEv2 Tool that is designed to facilitate the visualization and rendering of TermRefs."},"TRRT")," also implements more sophisticated ways to derive a ",(0,o.kt)("inlineCode",{parentName:"p"},"term")," from a ",(0,o.kt)("inlineCode",{parentName:"p"},"show text"),", e.g. to accommodate for plural forms (of nouns), or conjugate forms (for verbs)."),(0,o.kt)("admonition",{title:"Editor's note",type:"info"},(0,o.kt)("p",{parentName:"admonition"},"This alternative notation will assume that the ",(0,o.kt)("inlineCode",{parentName:"p"},"showtext")," part of a ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRef")," won't contain the ",(0,o.kt)("inlineCode",{parentName:"p"},"@")," character. However, it is likely that some ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/author",title:"Author: a person that creates a text that is meant to be read and understood by others - usually, a particular audience."},"authors")," will want to use an email address as the ",(0,o.kt)("inlineCode",{parentName:"p"},"showtext")," part of a ",(0,o.kt)("em",{parentName:"p"},"regular")," link, e.g. as in ",(0,o.kt)("inlineCode",{parentName:"p"},"[rieks.joosten@tno.nl](mailto:rieks.joosten@tno.nl)"),". However, since ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopetag",title:"Scopetags: a Tag that is used to Identify Scopes from within a specific Scope"},"scopetags")," should not contain ",(0,o.kt)("inlineCode",{parentName:"p"},"."),"-characters, ",(0,o.kt)("inlineCode",{parentName:"p"},"[rieks.joosten@tno.nl]")," does not qualify as a ",(0,o.kt)("inlineCode",{parentName:"p"},"showtext")," in our syntax. ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/author",title:"Author: a person that creates a text that is meant to be read and understood by others - usually, a particular audience."},"Authors")," should ",(0,o.kt)("a",{parentName:"p",href:"https://www.markdownguide.org/basic-syntax/#urls-and-email-addresses"},"use angle brackets to link to email addresses"),", as in ",(0,o.kt)("inlineCode",{parentName:"p"},""),".")),(0,o.kt)("p",null,"This leads to an alternative notation that can be used in addition to the previously specified notation. Here is the alternative syntax and its equivalent counterpart:"),(0,o.kt)("table",null,(0,o.kt)("thead",{parentName:"table"},(0,o.kt)("tr",{parentName:"thead"},(0,o.kt)("th",{parentName:"tr",align:"center"},"Alternative syntax"),(0,o.kt)("th",{parentName:"tr",align:"center"},"Equivalent regular syntax"))),(0,o.kt)("tbody",{parentName:"table"},(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:"center"},"[",(0,o.kt)("inlineCode",{parentName:"td"},"show text"),"@","]"),(0,o.kt)("td",{parentName:"tr",align:"center"},"[",(0,o.kt)("inlineCode",{parentName:"td"},"show text"),"]","(@)")),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:"center"},"[",(0,o.kt)("inlineCode",{parentName:"td"},"show text"),"@",(0,o.kt)("inlineCode",{parentName:"td"},"scopetag"),"]"),(0,o.kt)("td",{parentName:"tr",align:"center"},"[",(0,o.kt)("inlineCode",{parentName:"td"},"show text"),"]","(",(0,o.kt)("inlineCode",{parentName:"td"},"showtext"),"@",(0,o.kt)("inlineCode",{parentName:"td"},"scopetag"),")")),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:"center"},"[",(0,o.kt)("inlineCode",{parentName:"td"},"show text"),"@",(0,o.kt)("inlineCode",{parentName:"td"},"scopetag"),":",(0,o.kt)("inlineCode",{parentName:"td"},"vsntag"),"]","(",(0,o.kt)("inlineCode",{parentName:"td"},"term"),"#",(0,o.kt)("inlineCode",{parentName:"td"},"trait"),")"),(0,o.kt)("td",{parentName:"tr",align:"center"},"[",(0,o.kt)("inlineCode",{parentName:"td"},"show text"),"]","(",(0,o.kt)("inlineCode",{parentName:"td"},"term"),"#",(0,o.kt)("inlineCode",{parentName:"td"},"trait"),"@",(0,o.kt)("inlineCode",{parentName:"td"},"scopetag"),":",(0,o.kt)("inlineCode",{parentName:"td"},"vsntag"),")")))),(0,o.kt)("p",null,"In the last row of the above table, ",(0,o.kt)("inlineCode",{parentName:"p"},"term")," and ",(0,o.kt)("inlineCode",{parentName:"p"},"#trait")," are optional. Thus, ",(0,o.kt)("inlineCode",{parentName:"p"},"[definition@]()")," is equivalent with ",(0,o.kt)("inlineCode",{parentName:"p"},"[definition](@)")," and with ",(0,o.kt)("inlineCode",{parentName:"p"},"[definition](@)"),"."))}f.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunktev2_specifications=self.webpackChunktev2_specifications||[]).push([[5446],{3905:function(e,t,i){i.d(t,{Zo:function(){return c},kt:function(){return f}});var a=i(7294);function n(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function o(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,a)}return i}function r(e){for(var t=1;t=0||(n[i]=e[i]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(n[i]=e[i])}return n}var h=a.createContext({}),d=function(e){var t=a.useContext(h),i=t;return e&&(i="function"==typeof e?e(t):r(r({},t),e)),i},c=function(e){var t=d(e.components);return a.createElement(h.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},l=a.forwardRef((function(e,t){var i=e.components,n=e.mdxType,o=e.originalType,h=e.parentName,c=s(e,["components","mdxType","originalType","parentName"]),l=d(i),f=n,m=l["".concat(h,".").concat(f)]||l[f]||p[f]||o;return i?a.createElement(m,r(r({ref:t},c),{},{components:i})):a.createElement(m,r({ref:t},c))}));function f(e,t){var i=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=i.length,r=new Array(o);r[0]=l;var s={};for(var h in t)hasOwnProperty.call(t,h)&&(s[h]=t[h]);s.originalType=e,s.mdxType="string"==typeof e?e:n,r[1]=s;for(var d=2;dshowtext",id:"showtext",level:3},{value:"term",id:"term",level:3},{value:"trait",id:"trait",level:3},{value:"scopetag",id:"scopetag",level:3},{value:"vsntag",id:"vsntag",level:3},{value:"Alternative notation",id:"alternative-syntax",level:3}],l={toc:p};function f(e){var t=e.components,i=(0,n.Z)(e,r);return(0,o.kt)("wrapper",(0,a.Z)({},l,i,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"term-references---syntax"},"Term References - Syntax"),(0,o.kt)("admonition",{type:"caution"},(0,o.kt)("p",{parentName:"admonition"},"The entire section on Terminology Engine v 2 (TEv2) is still under construction.",(0,o.kt)("br",null),"\nAs TEv2 is not (yet) available, the texts that specify the tool are still 'raw', i.e. not yet processed.",(0,o.kt)("br",null),(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/reader",title:"Reader: a person that reads a text that is authored by another person (its Author]), and that tries to understand the meaning of this text in the way its Author intended."},"readers")," will need to see through some (currently unprocessed) notational conventions.")),(0,o.kt)("p",null,"As an ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/author",title:"Author: a person that creates a text that is meant to be read and understood by others - usually, a particular audience."},"author")," or ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curator",title:"Curator: {(noRefs glossaryText)}"},"curator"),", you want to be able to mark words or phrases, and have them refer to (the documentation of) a particular ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/concept",title:"Concept: a Knowledge Artifact that captures the ideas/thoughts behind a classification of Entities (what makes Entities in that class 'the same')."},"concept")," or other ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/knowledge-artifact",title:"Knowledge-artifact: something that can be thought of as existing in a particular Knowledge, e.g. a Concept, or a Mental Model."},"knowledge artifact"),". Such marked-up words or phrases are called ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRefs"),". This text specifies the syntax that you can use to ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/author",title:"Author: a person that creates a text that is meant to be read and understood by others - usually, a particular audience."},"author")," ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRefs"),"."),(0,o.kt)("admonition",{title:"Editor's note",type:"info"},(0,o.kt)("p",{parentName:"admonition"},"Also, you will want to (and actually can) control the effect that your ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRefs")," must have when it is rendered. After all, the effect you seek it to have as part of a rendered static website (e.g. so that it produces a popup with its definition) would be quite different form when it would be part of a PDF (in which case you may want it to become part of an automatically generated ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/glossary",title:"Glossary: an alphabetically sorted list of Terms with the (single) meaning it has in (at least) one context."},"glossary")," in one of the papers annexes). Selecting the effect is done by properly instructing the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/trrt",title:"TRRT (TermRef Rendering Tool): a TEv2 Tool that is designed to facilitate the visualization and rendering of TermRefs."},"TermRef resolution tool")," when your text is processed for rendering."),(0,o.kt)("p",{parentName:"admonition"},"We need some text here that points to the documentation for doing so. This could be e.g. in the ",(0,o.kt)("a",{parentName:"p",href:"/docs/manuals/author"},"authors manual")," and ",(0,o.kt)("a",{parentName:"p",href:"/docs/manuals/curator"},"curators manual"),", but also in the ",(0,o.kt)("a",{parentName:"p",href:"/docs/spec-tools/trrt"},"TRRT specifications"),", or in some manual that deals with adding rendering plugins.")),(0,o.kt)("p",null,"while at the same time referring to the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/definition",title:"Definition: a text that helps Parties to have the same understanding about the meaning of (and Concepts behind) a Term, ideally in such a way that these Parties can determine whether or not they make the same distinction."},"definition")," that defines its meaning. i.e. the syntax that you need to use in such texts. The way in which the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Term: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"term")," (and its ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/definition",title:"Definition: a text that helps Parties to have the same understanding about the meaning of (and Concepts behind) a Term, ideally in such a way that these Parties can determine whether or not they make the same distinction."},"definition"),") may be rendered depends on the artifact that is being generated. For example, when a ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Term: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"term")," is rendered in a web-site, it may be enhanced, showing a popup that contains its ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/definition",title:"Definition: a text that helps Parties to have the same understanding about the meaning of (and Concepts behind) a Term, ideally in such a way that these Parties can determine whether or not they make the same distinction."},"definition")," when a ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/reader",title:"Reader: a person that reads a text that is authored by another person (its Author]), and that tries to understand the meaning of this text in the way its Author intended."},"reader")," hovers the mouse over it, and that hyperlinks to the page in the website that explains the term in more detail when the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/reader",title:"Reader: a person that reads a text that is authored by another person (its Author]), and that tries to understand the meaning of this text in the way its Author intended."},"reader")," clicks on it. When a ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Term: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"term")," is rendered in a PDF file, its definition may appear as an entry in a ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/glossary",title:"Glossary: an alphabetically sorted list of Terms with the (single) meaning it has in (at least) one context."},"glossary")," that is added somewhere in the PDF. It all depends on the rendering tools that are being used, and this is out of scope for this specification."),(0,o.kt)("p",null,"This file specifies the syntax of ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRefs"),". The ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/trrt",title:"TRRT (TermRef Rendering Tool): a TEv2 Tool that is designed to facilitate the visualization and rendering of TermRefs."},"TRRT")," describes ",(0,o.kt)("a",{parentName:"p",href:"/docs/spec-tools/trrt#term-ref-resolution"},"how they are processed (resolved)"),"."),(0,o.kt)("h2",{id:"basic-syntax"},"Term References (Original/Default Syntax)"),(0,o.kt)("p",null,"A ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRef")," can be thought of as a ",(0,o.kt)("a",{parentName:"p",href:"https://www.markdownguide.org/basic-syntax/#links"},"Markdown link"),", but rather than linking to some URL or fragment, it refers/links to a specific descriptive text (e.g. a ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/definition",title:"Definition: a text that helps Parties to have the same understanding about the meaning of (and Concepts behind) a Term, ideally in such a way that these Parties can determine whether or not they make the same distinction."},"definition"),", purpose, or example) that is associated with (a specific version of) a ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scoped-term",title:"Scoped-term: a Term that represents (and Identifies) a specific Knowledge Artifact of a particular Community (or Party)."},"(scoped) term"),", which is ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identified: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identified")," by its ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," and the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Term: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"term")," (label, text)."),(0,o.kt)("details",null,(0,o.kt)("summary",null,"Motivation for the chosen syntax"),(0,o.kt)("p",null,"We want to enable ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/author",title:"Author: a person that creates a text that is meant to be read and understood by others - usually, a particular audience."},"authors")," to use ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRefs")," pervasively, which means it must be easy to use, and mistakes should be (relatively) hard to make, yet easy to detect, identify, and correct. ",(0,o.kt)("a",{parentName:"p",href:"https://www.markdownguide.org/basic-syntax/#links"},"Markdown links")," are of the form ","[",(0,o.kt)("inlineCode",{parentName:"p"},"show text"),"]","(",(0,o.kt)("inlineCode",{parentName:"p"},"ref-text"),"), where ",(0,o.kt)("inlineCode",{parentName:"p"},"show text")," is the text that is rendered and emphasized so that a ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/reader",title:"Reader: a person that reads a text that is authored by another person (its Author]), and that tries to understand the meaning of this text in the way its Author intended."},"reader")," knows it can be clicked, and ",(0,o.kt)("inlineCode",{parentName:"p"},"ref-text")," is a (relative or absolute) URL, or a ",(0,o.kt)("a",{parentName:"p",href:"https://www.markdownguide.org/extended-syntax/#linking-to-heading-ids"},"heading ID"),", that identifies the resource (e.g. web page, or place therein) that is being referenced. So, we need a syntax for ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRefs")," that is",(0,o.kt)("br",null),"- sufficiently similar to a ",(0,o.kt)("a",{parentName:"p",href:"https://www.markdownguide.org/basic-syntax/#links"},"Markdown link"),",",(0,o.kt)("br",null),"- 'humanly interpretable' when it isn't processed by the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/trrt",title:"TRRT (TermRef Rendering Tool): a TEv2 Tool that is designed to facilitate the visualization and rendering of TermRefs."},"TRRT"),",",(0,o.kt)("br",null),"- easy to use for ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/author",title:"Author: a person that creates a text that is meant to be read and understood by others - usually, a particular audience."},"authors"),", and",(0,o.kt)("br",null),"- sufficiently distinct from a Markdown link so that the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/trrt",title:"TRRT (TermRef Rendering Tool): a TEv2 Tool that is designed to facilitate the visualization and rendering of TermRefs."},"TRRT")," will not process Markdown links yet will process the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRefs"),".")),(0,o.kt)("p",null,"Here is an example of a ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRef"),": ",(0,o.kt)("inlineCode",{parentName:"p"},"[definitions](definition@)"),". When this text is rendered into a human readable form, it will show the text ",(0,o.kt)("inlineCode",{parentName:"p"},"definitions")," (plural) enhanced, and it will link to the text that describes (or defines) the term ",(0,o.kt)("inlineCode",{parentName:"p"},"definition")," (singular). If you would want to use this term as it is defined in the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," called ",(0,o.kt)("inlineCode",{parentName:"p"},"essif-lab"),", you could do that by wrinting ",(0,o.kt)("inlineCode",{parentName:"p"},"[definitions](definition@essif-lab)")," (provided that ",(0,o.kt)("inlineCode",{parentName:"p"},"essif-lab")," is a defined ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopetag",title:"Scopetag: a Tag that is used to Identify Scopes from within a specific Scope"},"scopetag")," within the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," that you operate in)."),(0,o.kt)("p",null,"The complete, generic structure of a ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRef")," is: ",(0,o.kt)("strong",{parentName:"p"},"[",(0,o.kt)("inlineCode",{parentName:"strong"},"show text"),"]","(",(0,o.kt)("inlineCode",{parentName:"strong"},"term"),"#",(0,o.kt)("inlineCode",{parentName:"strong"},"trait"),"@",(0,o.kt)("inlineCode",{parentName:"strong"},"scopetag"),":",(0,o.kt)("inlineCode",{parentName:"strong"},"vsntag"),")"),". However, all of its elements (except for ",(0,o.kt)("inlineCode",{parentName:"p"},"show text"),") are optional, so as to limit the 'extra work' that ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/author",title:"Author: a person that creates a text that is meant to be read and understood by others - usually, a particular audience."},"authors")," need to do to a minimum."),(0,o.kt)("h3",{id:"showtext"},(0,o.kt)("inlineCode",{parentName:"h3"},"showtext")),(0,o.kt)("p",null,(0,o.kt)("strong",{parentName:"p"},(0,o.kt)("inlineCode",{parentName:"strong"},"showtext"))," is the text that will be highlighted/emphasized to indicate it is linked.\nIt must not contain the characters ",(0,o.kt)("inlineCode",{parentName:"p"},"@")," or ",(0,o.kt)("inlineCode",{parentName:"p"},"]")," (this is needed to distinguish ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRefs")," from regular ",(0,o.kt)("a",{parentName:"p",href:"https://www.markdownguide.org/basic-syntax/#links"},"markdown links"),")."),(0,o.kt)("h3",{id:"term"},(0,o.kt)("inlineCode",{parentName:"h3"},"term")),(0,o.kt)("p",null,(0,o.kt)("strong",{parentName:"p"},(0,o.kt)("inlineCode",{parentName:"strong"},"term"))," is the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scoped-term",title:"Scoped-term: a Term that represents (and Identifies) a specific Knowledge Artifact of a particular Community (or Party)."},"(scoped) term")," that ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identifies: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identifies")," the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/knowledge-artifact",title:"Knowledge-artifact: something that can be thought of as existing in a particular Knowledge, e.g. a Concept, or a Mental Model."},"knowledge artifact")," that is to be referred to.",(0,o.kt)("br",null),"It must satisfy the regex ",(0,o.kt)("inlineCode",{parentName:"p"},"[a-z0-9_-]+"),"."),(0,o.kt)("p",null,"If omitted, its value is assumed to be ",(0,o.kt)("a",{parentName:"p",href:"/docs/spec-tools/trrt#id"},"derivable from ",(0,o.kt)("inlineCode",{parentName:"a"},"showtext")),".\nAt a minimum, this is the case if the ",(0,o.kt)("inlineCode",{parentName:"p"},"term")," equals the result of processing ",(0,o.kt)("inlineCode",{parentName:"p"},"showtext")," by first converting every character in the range ",(0,o.kt)("inlineCode",{parentName:"p"},"[A-Z]")," to lower-case, and then replacing every sequence of characters specified by regex ",(0,o.kt)("inlineCode",{parentName:"p"},"[^A-Za-z_-]+")," with (a single) ",(0,o.kt)("inlineCode",{parentName:"p"},"-")," character."),(0,o.kt)("h3",{id:"trait"},(0,o.kt)("inlineCode",{parentName:"h3"},"trait")),(0,o.kt)("p",null,(0,o.kt)("strong",{parentName:"p"},(0,o.kt)("inlineCode",{parentName:"strong"},"trait"))," is a text that ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identifies: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identifies")," a particular (kind of) characteristic (feature, attribute, particularity) that is associated with the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Term: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"term"),", and to a description of which is to be referred.",(0,o.kt)("br",null),"It must satisfy the regex ",(0,o.kt)("inlineCode",{parentName:"p"},"[a-z0-9_-]+"),"."),(0,o.kt)("p",null,"If omitted (in which case the preceding ",(0,o.kt)("inlineCode",{parentName:"p"},"#"),"-character may also be omitted), the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRef")," will by default resolve to the text of its ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/glossary",title:"Glossary: an alphabetically sorted list of Terms with the (single) meaning it has in (at least) one context."},"glossary")," entry. While it is envisaged that ",(0,o.kt)("inlineCode",{parentName:"p"},"trait")," must be a text from a predefined set of allowed/supported texts (e.g. ",(0,o.kt)("inlineCode",{parentName:"p"},"purpose"),", ",(0,o.kt)("inlineCode",{parentName:"p"},"criteria"),", ",(0,o.kt)("inlineCode",{parentName:"p"},"example-3"),"), the precise semantics remain to be specified."),(0,o.kt)("admonition",{title:"Editor's note",type:"info"},(0,o.kt)("p",{parentName:"admonition"},"The semantics of ",(0,o.kt)("inlineCode",{parentName:"p"},"trait")," need to be better specified.")),(0,o.kt)("h3",{id:"scopetag"},(0,o.kt)("inlineCode",{parentName:"h3"},"scopetag")),(0,o.kt)("p",null,(0,o.kt)("strong",{parentName:"p"},(0,o.kt)("inlineCode",{parentName:"strong"},"scopetag"))," is a ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/tag",title:"Tag: an alphanumeric string that is used to identify Scopes (so called 'scopetags'), group Terms (so called 'grouptags'), or identify a specific version of a Terminology (so called 'versiontags') from within a specific Scope."},"tag")," that ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identifies: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identifies")," the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," of the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology")," that contains the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scoped-term",title:"Scoped-term: a Term that represents (and Identifies) a specific Knowledge Artifact of a particular Community (or Party)."},"(scoped) term")," that is being referenced.",(0,o.kt)("br",null),"It must satisfy the regex ",(0,o.kt)("inlineCode",{parentName:"p"},"[a-z0-9_-]+"),". Also, it must appear as such in the ",(0,o.kt)("inlineCode",{parentName:"p"},"scopes")," section of the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF")," of the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," within which the document containing the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRef")," is being maintained, or it must be the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopetag",title:"Scopetag: a Tag that is used to Identify Scopes from within a specific Scope"},"scopetag")," of the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," itself."),(0,o.kt)("p",null,"If omitted, a default ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," will be used, which is the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," from which the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/trrt",title:"TRRT (TermRef Rendering Tool): a TEv2 Tool that is designed to facilitate the visualization and rendering of TermRefs."},"TRRT")," is being called, which SHOULD be the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," within which the document containing the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRef")," is being maintained. Note that the preceding ",(0,o.kt)("inlineCode",{parentName:"p"},"@")," sign MUST NOT be omitted because as it serves the purpose to distinguish ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRefs")," from other ",(0,o.kt)("a",{parentName:"p",href:"https://www.markdownguide.org/basic-syntax/#links"},"markdown links"),"."),(0,o.kt)("h3",{id:"vsntag"},(0,o.kt)("inlineCode",{parentName:"h3"},"vsntag")),(0,o.kt)("p",null,(0,o.kt)("strong",{parentName:"p"},(0,o.kt)("inlineCode",{parentName:"strong"},"vsntag"))," is a ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/versiontag",title:"Versiontag: a Tag that is used to Identify a specific version of a Terminology from within a specific Scope."},"versiontag")," that ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/identify",title:"Identifies: an Act, by or on behalf of a Party, that results in the selection of either - a single Partial Identity that the party Owns, given some (observed or received) data, or - a single Entity from a given set of entities that is the Subject of a specified Partial Identity that the party Owns."},"identifies")," the specific version of the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology")," in the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," that contains the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scoped-term",title:"Scoped-term: a Term that represents (and Identifies) a specific Knowledge Artifact of a particular Community (or Party)."},"(scoped) term")," that is being referenced.",(0,o.kt)("br",null),"It must satisfy the regex ",(0,o.kt)("inlineCode",{parentName:"p"},"[a-z0-9_-\\.]+"),"."),(0,o.kt)("p",null,"If omitted (in which case the preceding ",(0,o.kt)("inlineCode",{parentName:"p"},":"),"-character may also be omitted), its value will be the default, which is determined by the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curator",title:"Curator: {(noRefs glossaryText)}"},"curators")," of that ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope")," (the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," that has the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology",title:"Terminology: a set of Terms that are used within a single Scope to refer to Concepts and other Knowledge Artifacts of a single Party (e.g. a Community), enabling Parties to reason and communicate ideas they have about one or more specific topics."},"terminology")," that contains the (scoped) term](scoped-term@) that is being referenced, is specified in the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF")," of that ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),", in the appropriate ",(0,o.kt)("inlineCode",{parentName:"p"},"scopes.mrgfile"),"-field). A ",(0,o.kt)("inlineCode",{parentName:"p"},"vsntag")," is only valid if it appears as the value of the ",(0,o.kt)("inlineCode",{parentName:"p"},"vsntag")," field or an element of the ",(0,o.kt)("inlineCode",{parentName:"p"},"altvsntags")," field in one of the list-elements of the ",(0,o.kt)("inlineCode",{parentName:"p"},"versions")," field in the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF")," of the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scope",title:"Scope: the extent of the Terms, Definitions and other documentation that a Community (which we call the Owner of the Scope) needs to express, communicate and validate its Knowledge as relevant to achieving a specific subset of its Objectives."},"scope"),"."),(0,o.kt)("admonition",{title:"Editor's note",type:"info"},(0,o.kt)("p",{parentName:"admonition"},"It has been suggested to provide ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRef")," syntax that allows one to refer to a ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/knowledge-artifact",title:"Knowledge-artifact: something that can be thought of as existing in a particular Knowledge, e.g. a Concept, or a Mental Model."},"knowledge artifact")," from a ","[terminology]"," that was 'current'/'latest'/... at a particular date. The ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/saf",title:"SAF: a YAML file that contains essential data about a particular Scope (e.g., specifying where its Curated Texts, Glossaries etc. live), the relationships this Scope has with other Scopes, and the specifications of the different Terminologies that are Curated within that Scope."},"SAF")," ",(0,o.kt)("a",{parentName:"p",href:"/docs/spec-files/saf#versions"},"versioning specifications")," already cater for ",(0,o.kt)("inlineCode",{parentName:"p"},"from")," and ",(0,o.kt)("inlineCode",{parentName:"p"},"to")," dates, but everything else needs to be worked out.")),(0,o.kt)("h3",{id:"alternative-syntax"},"Alternative notation"),(0,o.kt)("p",null,"It is convenient for ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/author",title:"Author: a person that creates a text that is meant to be read and understood by others - usually, a particular audience."},"authors")," to be able to use the '@",(0,o.kt)("inlineCode",{parentName:"p"},"scopetag"),"' part of a ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRef")," immediately behind the ",(0,o.kt)("inlineCode",{parentName:"p"},"show text")," within the square brackets (",(0,o.kt)("inlineCode",{parentName:"p"},"[")," and ",(0,o.kt)("inlineCode",{parentName:"p"},"]"),"), and leave out the parentheses and the text in between if all the other items are omitted."),(0,o.kt)("p",null,"This is particularly useful in the vast majority of cases, where the default processing of ",(0,o.kt)("inlineCode",{parentName:"p"},"showtext")," results in ",(0,o.kt)("inlineCode",{parentName:"p"},"term")," and ",(0,o.kt)("inlineCode",{parentName:"p"},"trait")," is absent. Examples of this are ",(0,o.kt)("inlineCode",{parentName:"p"},"[definition](@)"),", or ",(0,o.kt)("inlineCode",{parentName:"p"},"[TermRef](@)"),"."),(0,o.kt)("p",null,"The usefulness becomes even greater as the ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/trrt",title:"TRRT (TermRef Rendering Tool): a TEv2 Tool that is designed to facilitate the visualization and rendering of TermRefs."},"TRRT")," also implements more sophisticated ways to derive a ",(0,o.kt)("inlineCode",{parentName:"p"},"term")," from a ",(0,o.kt)("inlineCode",{parentName:"p"},"show text"),", e.g. to accommodate for plural forms (of nouns), or conjugate forms (for verbs)."),(0,o.kt)("admonition",{title:"Editor's note",type:"info"},(0,o.kt)("p",{parentName:"admonition"},"This alternative notation will assume that the ",(0,o.kt)("inlineCode",{parentName:"p"},"showtext")," part of a ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term-ref",title:"TermRef: a word or phrase that is Marked Up (in A Specific Way) so that it refers to a particular Concept (or other Knowledge Artifact), enabling it to be rendered in a variety of ways for the purpose of helping Readers to (better) understand the intention of its Author."},"TermRef")," won't contain the ",(0,o.kt)("inlineCode",{parentName:"p"},"@")," character. However, it is likely that some ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/author",title:"Author: a person that creates a text that is meant to be read and understood by others - usually, a particular audience."},"authors")," will want to use an email address as the ",(0,o.kt)("inlineCode",{parentName:"p"},"showtext")," part of a ",(0,o.kt)("em",{parentName:"p"},"regular")," link, e.g. as in ",(0,o.kt)("inlineCode",{parentName:"p"},"[rieks.joosten@tno.nl](mailto:rieks.joosten@tno.nl)"),". However, since ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/scopetag",title:"Scopetags: a Tag that is used to Identify Scopes from within a specific Scope"},"scopetags")," should not contain ",(0,o.kt)("inlineCode",{parentName:"p"},"."),"-characters, ",(0,o.kt)("inlineCode",{parentName:"p"},"[rieks.joosten@tno.nl]")," does not qualify as a ",(0,o.kt)("inlineCode",{parentName:"p"},"showtext")," in our syntax. ",(0,o.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/author",title:"Author: a person that creates a text that is meant to be read and understood by others - usually, a particular audience."},"Authors")," should ",(0,o.kt)("a",{parentName:"p",href:"https://www.markdownguide.org/basic-syntax/#urls-and-email-addresses"},"use angle brackets to link to email addresses"),", as in ",(0,o.kt)("inlineCode",{parentName:"p"},""),".")),(0,o.kt)("p",null,"This leads to an alternative notation that can be used in addition to the previously specified notation. Here is the alternative syntax and its equivalent counterpart:"),(0,o.kt)("table",null,(0,o.kt)("thead",{parentName:"table"},(0,o.kt)("tr",{parentName:"thead"},(0,o.kt)("th",{parentName:"tr",align:"center"},"Alternative syntax"),(0,o.kt)("th",{parentName:"tr",align:"center"},"Equivalent regular syntax"))),(0,o.kt)("tbody",{parentName:"table"},(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:"center"},"[",(0,o.kt)("inlineCode",{parentName:"td"},"show text"),"@","]"),(0,o.kt)("td",{parentName:"tr",align:"center"},"[",(0,o.kt)("inlineCode",{parentName:"td"},"show text"),"]","(@)")),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:"center"},"[",(0,o.kt)("inlineCode",{parentName:"td"},"show text"),"@",(0,o.kt)("inlineCode",{parentName:"td"},"scopetag"),"]"),(0,o.kt)("td",{parentName:"tr",align:"center"},"[",(0,o.kt)("inlineCode",{parentName:"td"},"show text"),"]","(",(0,o.kt)("inlineCode",{parentName:"td"},"showtext"),"@",(0,o.kt)("inlineCode",{parentName:"td"},"scopetag"),")")),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:"center"},"[",(0,o.kt)("inlineCode",{parentName:"td"},"show text"),"@",(0,o.kt)("inlineCode",{parentName:"td"},"scopetag"),":",(0,o.kt)("inlineCode",{parentName:"td"},"vsntag"),"]","(",(0,o.kt)("inlineCode",{parentName:"td"},"term"),"#",(0,o.kt)("inlineCode",{parentName:"td"},"trait"),")"),(0,o.kt)("td",{parentName:"tr",align:"center"},"[",(0,o.kt)("inlineCode",{parentName:"td"},"show text"),"]","(",(0,o.kt)("inlineCode",{parentName:"td"},"term"),"#",(0,o.kt)("inlineCode",{parentName:"td"},"trait"),"@",(0,o.kt)("inlineCode",{parentName:"td"},"scopetag"),":",(0,o.kt)("inlineCode",{parentName:"td"},"vsntag"),")")))),(0,o.kt)("p",null,"In the last row of the above table, ",(0,o.kt)("inlineCode",{parentName:"p"},"term")," and ",(0,o.kt)("inlineCode",{parentName:"p"},"#trait")," are optional. Thus, ",(0,o.kt)("inlineCode",{parentName:"p"},"[definition@]()")," is equivalent with ",(0,o.kt)("inlineCode",{parentName:"p"},"[definition](@)")," and with ",(0,o.kt)("inlineCode",{parentName:"p"},"[definition](@)"),"."))}f.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/d71eb2ae.80fbee7a.js b/assets/js/d71eb2ae.448316a9.js similarity index 99% rename from assets/js/d71eb2ae.80fbee7a.js rename to assets/js/d71eb2ae.448316a9.js index 7b62068138..10c3091dc0 100644 --- a/assets/js/d71eb2ae.80fbee7a.js +++ b/assets/js/d71eb2ae.448316a9.js @@ -1 +1 @@ -"use strict";(self.webpackChunktev2_specifications=self.webpackChunktev2_specifications||[]).push([[5505],{3905:function(t,e,o){o.d(e,{Zo:function(){return l},kt:function(){return p}});var i=o(7294);function n(t,e,o){return e in t?Object.defineProperty(t,e,{value:o,enumerable:!0,configurable:!0,writable:!0}):t[e]=o,t}function a(t,e){var o=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),o.push.apply(o,i)}return o}function r(t){for(var e=1;e=0||(n[o]=t[o]);return n}(t,e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}var c=i.createContext({}),h=function(t){var e=i.useContext(c),o=e;return t&&(o="function"==typeof t?t(e):r(r({},e),t)),o},l=function(t){var e=h(t.components);return i.createElement(c.Provider,{value:e},t.children)},d={inlineCode:"code",wrapper:function(t){var e=t.children;return i.createElement(i.Fragment,{},e)}},u=i.forwardRef((function(t,e){var o=t.components,n=t.mdxType,a=t.originalType,c=t.parentName,l=s(t,["components","mdxType","originalType","parentName"]),u=h(o),p=n,m=u["".concat(c,".").concat(p)]||u[p]||d[p]||a;return o?i.createElement(m,r(r({ref:e},l),{},{components:o})):i.createElement(m,r({ref:e},l))}));function p(t,e){var o=arguments,n=e&&e.mdxType;if("string"==typeof t||n){var a=o.length,r=new Array(a);r[0]=u;var s={};for(var c in e)hasOwnProperty.call(e,c)&&(s[c]=e[c]);s.originalType=t,s.mdxType="string"==typeof t?t:n,r[1]=s;for(var h=2;h=0||(n[o]=t[o]);return n}(t,e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}var c=i.createContext({}),h=function(t){var e=i.useContext(c),o=e;return t&&(o="function"==typeof t?t(e):r(r({},e),t)),o},l=function(t){var e=h(t.components);return i.createElement(c.Provider,{value:e},t.children)},d={inlineCode:"code",wrapper:function(t){var e=t.children;return i.createElement(i.Fragment,{},e)}},u=i.forwardRef((function(t,e){var o=t.components,n=t.mdxType,a=t.originalType,c=t.parentName,l=s(t,["components","mdxType","originalType","parentName"]),u=h(o),p=n,m=u["".concat(c,".").concat(p)]||u[p]||d[p]||a;return o?i.createElement(m,r(r({ref:e},l),{},{components:o})):i.createElement(m,r({ref:e},l))}));function p(t,e){var o=arguments,n=e&&e.mdxType;if("string"==typeof t||n){var a=o.length,r=new Array(a);r[0]=u;var s={};for(var c in e)hasOwnProperty.call(e,c)&&(s[c]=e[c]);s.originalType=t,s.mdxType="string"==typeof t?t:n,r[1]=s;for(var h=2;h=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var c=n.createContext({}),l=function(e){var t=n.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):a(a({},t),e)),r},p=function(e){var t=l(e.components);return n.createElement(c.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},f=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,i=e.originalType,c=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),f=l(r),d=o,h=f["".concat(c,".").concat(d)]||f[d]||u[d]||i;return r?n.createElement(h,a(a({ref:t},p),{},{components:r})):n.createElement(h,a({ref:t},p))}));function d(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var i=r.length,a=new Array(i);a[0]=f;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s.mdxType="string"==typeof e?e:o,a[1]=s;for(var l=2;l=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var c=n.createContext({}),l=function(e){var t=n.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):a(a({},t),e)),r},p=function(e){var t=l(e.components);return n.createElement(c.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},f=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,i=e.originalType,c=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),f=l(r),d=o,h=f["".concat(c,".").concat(d)]||f[d]||u[d]||i;return r?n.createElement(h,a(a({ref:t},p),{},{components:r})):n.createElement(h,a({ref:t},p))}));function d(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var i=r.length,a=new Array(i);a[0]=f;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s.mdxType="string"==typeof e?e:o,a[1]=s;for(var l=2;l=0||(n[i]=t[i]);return n}(t,e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(t,i)&&(n[i]=t[i])}return n}var c=o.createContext({}),m=function(t){var e=o.useContext(c),i=e;return t&&(i="function"==typeof t?t(e):r(r({},e),t)),i},h=function(t){var e=m(t.components);return o.createElement(c.Provider,{value:e},t.children)},l={inlineCode:"code",wrapper:function(t){var e=t.children;return o.createElement(o.Fragment,{},e)}},d=o.forwardRef((function(t,e){var i=t.components,n=t.mdxType,s=t.originalType,c=t.parentName,h=a(t,["components","mdxType","originalType","parentName"]),d=m(i),u=n,p=d["".concat(c,".").concat(u)]||d[u]||l[u]||s;return i?o.createElement(p,r(r({ref:e},h),{},{components:i})):o.createElement(p,r({ref:e},h))}));function u(t,e){var i=arguments,n=e&&e.mdxType;if("string"==typeof t||n){var s=i.length,r=new Array(s);r[0]=d;var a={};for(var c in e)hasOwnProperty.call(e,c)&&(a[c]=e[c]);a.originalType=t,a.mdxType="string"==typeof t?t:n,r[1]=a;for(var m=2;m=0||(n[i]=t[i]);return n}(t,e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(t,i)&&(n[i]=t[i])}return n}var c=o.createContext({}),m=function(t){var e=o.useContext(c),i=e;return t&&(i="function"==typeof t?t(e):r(r({},e),t)),i},h=function(t){var e=m(t.components);return o.createElement(c.Provider,{value:e},t.children)},l={inlineCode:"code",wrapper:function(t){var e=t.children;return o.createElement(o.Fragment,{},e)}},d=o.forwardRef((function(t,e){var i=t.components,n=t.mdxType,s=t.originalType,c=t.parentName,h=a(t,["components","mdxType","originalType","parentName"]),d=m(i),u=n,p=d["".concat(c,".").concat(u)]||d[u]||l[u]||s;return i?o.createElement(p,r(r({ref:e},h),{},{components:i})):o.createElement(p,r({ref:e},h))}));function u(t,e){var i=arguments,n=e&&e.mdxType;if("string"==typeof t||n){var s=i.length,r=new Array(s);r[0]=d;var a={};for(var c in e)hasOwnProperty.call(e,c)&&(a[c]=e[c]);a.originalType=t,a.mdxType="string"==typeof t?t:n,r[1]=a;for(var m=2;m=0||(o[r]=t[r]);return o}(t,e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}var c=n.createContext({}),d=function(t){var e=n.useContext(c),r=e;return t&&(r="function"==typeof t?t(e):i(i({},e),t)),r},l=function(t){var e=d(t.components);return n.createElement(c.Provider,{value:e},t.children)},u={inlineCode:"code",wrapper:function(t){var e=t.children;return n.createElement(n.Fragment,{},e)}},h=n.forwardRef((function(t,e){var r=t.components,o=t.mdxType,a=t.originalType,c=t.parentName,l=s(t,["components","mdxType","originalType","parentName"]),h=d(r),p=o,f=h["".concat(c,".").concat(p)]||h[p]||u[p]||a;return r?n.createElement(f,i(i({ref:e},l),{},{components:r})):n.createElement(f,i({ref:e},l))}));function p(t,e){var r=arguments,o=e&&e.mdxType;if("string"==typeof t||o){var a=r.length,i=new Array(a);i[0]=h;var s={};for(var c in e)hasOwnProperty.call(e,c)&&(s[c]=e[c]);s.originalType=t,s.mdxType="string"==typeof t?t:o,i[1]=s;for(var d=2;d=0||(o[r]=t[r]);return o}(t,e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}var c=n.createContext({}),d=function(t){var e=n.useContext(c),r=e;return t&&(r="function"==typeof t?t(e):i(i({},e),t)),r},l=function(t){var e=d(t.components);return n.createElement(c.Provider,{value:e},t.children)},u={inlineCode:"code",wrapper:function(t){var e=t.children;return n.createElement(n.Fragment,{},e)}},h=n.forwardRef((function(t,e){var r=t.components,o=t.mdxType,a=t.originalType,c=t.parentName,l=s(t,["components","mdxType","originalType","parentName"]),h=d(r),p=o,f=h["".concat(c,".").concat(p)]||h[p]||u[p]||a;return r?n.createElement(f,i(i({ref:e},l),{},{components:r})):n.createElement(f,i({ref:e},l))}));function p(t,e){var r=arguments,o=e&&e.mdxType;if("string"==typeof t||o){var a=r.length,i=new Array(a);i[0]=h;var s={};for(var c in e)hasOwnProperty.call(e,c)&&(s[c]=e[c]);s.originalType=t,s.mdxType="string"==typeof t?t:o,i[1]=s;for(var d=2;d=0||(s[i]=t[i]);return s}(t,e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(t,i)&&(s[i]=t[i])}return s}var c=o.createContext({}),h=function(t){var e=o.useContext(c),i=e;return t&&(i="function"==typeof t?t(e):n(n({},e),t)),i},d=function(t){var e=h(t.components);return o.createElement(c.Provider,{value:e},t.children)},l={inlineCode:"code",wrapper:function(t){var e=t.children;return o.createElement(o.Fragment,{},e)}},p=o.forwardRef((function(t,e){var i=t.components,s=t.mdxType,a=t.originalType,c=t.parentName,d=r(t,["components","mdxType","originalType","parentName"]),p=h(i),m=s,f=p["".concat(c,".").concat(m)]||p[m]||l[m]||a;return i?o.createElement(f,n(n({ref:e},d),{},{components:i})):o.createElement(f,n({ref:e},d))}));function m(t,e){var i=arguments,s=e&&e.mdxType;if("string"==typeof t||s){var a=i.length,n=new Array(a);n[0]=p;var r={};for(var c in e)hasOwnProperty.call(e,c)&&(r[c]=e[c]);r.originalType=t,r.mdxType="string"==typeof t?t:s,n[1]=r;for(var h=2;h=0||(s[i]=t[i]);return s}(t,e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(t,i)&&(s[i]=t[i])}return s}var c=o.createContext({}),h=function(t){var e=o.useContext(c),i=e;return t&&(i="function"==typeof t?t(e):n(n({},e),t)),i},d=function(t){var e=h(t.components);return o.createElement(c.Provider,{value:e},t.children)},l={inlineCode:"code",wrapper:function(t){var e=t.children;return o.createElement(o.Fragment,{},e)}},p=o.forwardRef((function(t,e){var i=t.components,s=t.mdxType,a=t.originalType,c=t.parentName,d=r(t,["components","mdxType","originalType","parentName"]),p=h(i),m=s,f=p["".concat(c,".").concat(m)]||p[m]||l[m]||a;return i?o.createElement(f,n(n({ref:e},d),{},{components:i})):o.createElement(f,n({ref:e},d))}));function m(t,e){var i=arguments,s=e&&e.mdxType;if("string"==typeof t||s){var a=i.length,n=new Array(a);n[0]=p;var r={};for(var c in e)hasOwnProperty.call(e,c)&&(r[c]=e[c]);r.originalType=t,r.mdxType="string"==typeof t?t:s,n[1]=r;for(var h=2;h=0||(o[i]=t[i]);return o}(t,e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,i)&&(o[i]=t[i])}return o}var c=n.createContext({}),l=function(t){var e=n.useContext(c),i=e;return t&&(i="function"==typeof t?t(e):a(a({},e),t)),i},p=function(t){var e=l(t.components);return n.createElement(c.Provider,{value:e},t.children)},m={inlineCode:"code",wrapper:function(t){var e=t.children;return n.createElement(n.Fragment,{},e)}},f=n.forwardRef((function(t,e){var i=t.components,o=t.mdxType,r=t.originalType,c=t.parentName,p=s(t,["components","mdxType","originalType","parentName"]),f=l(i),d=o,u=f["".concat(c,".").concat(d)]||f[d]||m[d]||r;return i?n.createElement(u,a(a({ref:e},p),{},{components:i})):n.createElement(u,a({ref:e},p))}));function d(t,e){var i=arguments,o=e&&e.mdxType;if("string"==typeof t||o){var r=i.length,a=new Array(r);a[0]=f;var s={};for(var c in e)hasOwnProperty.call(e,c)&&(s[c]=e[c]);s.originalType=t,s.mdxType="string"==typeof t?t:o,a[1]=s;for(var l=2;l=0||(o[i]=t[i]);return o}(t,e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,i)&&(o[i]=t[i])}return o}var c=n.createContext({}),l=function(t){var e=n.useContext(c),i=e;return t&&(i="function"==typeof t?t(e):a(a({},e),t)),i},p=function(t){var e=l(t.components);return n.createElement(c.Provider,{value:e},t.children)},m={inlineCode:"code",wrapper:function(t){var e=t.children;return n.createElement(n.Fragment,{},e)}},f=n.forwardRef((function(t,e){var i=t.components,o=t.mdxType,r=t.originalType,c=t.parentName,p=s(t,["components","mdxType","originalType","parentName"]),f=l(i),d=o,u=f["".concat(c,".").concat(d)]||f[d]||m[d]||r;return i?n.createElement(u,a(a({ref:e},p),{},{components:i})):n.createElement(u,a({ref:e},p))}));function d(t,e){var i=arguments,o=e&&e.mdxType;if("string"==typeof t||o){var r=i.length,a=new Array(r);a[0]=f;var s={};for(var c in e)hasOwnProperty.call(e,c)&&(s[c]=e[c]);s.originalType=t,s.mdxType="string"==typeof t?t:o,a[1]=s;for(var l=2;l=0||(n[a]=t[a]);return n}(t,e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,a)&&(n[a]=t[a])}return n}var c=r.createContext({}),l=function(t){var e=r.useContext(c),a=e;return t&&(a="function"==typeof t?t(e):i(i({},e),t)),a},d=function(t){var e=l(t.components);return r.createElement(c.Provider,{value:e},t.children)},h={inlineCode:"code",wrapper:function(t){var e=t.children;return r.createElement(r.Fragment,{},e)}},p=r.forwardRef((function(t,e){var a=t.components,n=t.mdxType,o=t.originalType,c=t.parentName,d=s(t,["components","mdxType","originalType","parentName"]),p=l(a),m=n,f=p["".concat(c,".").concat(m)]||p[m]||h[m]||o;return a?r.createElement(f,i(i({ref:e},d),{},{components:a})):r.createElement(f,i({ref:e},d))}));function m(t,e){var a=arguments,n=e&&e.mdxType;if("string"==typeof t||n){var o=a.length,i=new Array(o);i[0]=p;var s={};for(var c in e)hasOwnProperty.call(e,c)&&(s[c]=e[c]);s.originalType=t,s.mdxType="string"==typeof t?t:n,i[1]=s;for(var l=2;l=0||(n[a]=t[a]);return n}(t,e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,a)&&(n[a]=t[a])}return n}var c=r.createContext({}),l=function(t){var e=r.useContext(c),a=e;return t&&(a="function"==typeof t?t(e):i(i({},e),t)),a},d=function(t){var e=l(t.components);return r.createElement(c.Provider,{value:e},t.children)},h={inlineCode:"code",wrapper:function(t){var e=t.children;return r.createElement(r.Fragment,{},e)}},p=r.forwardRef((function(t,e){var a=t.components,n=t.mdxType,o=t.originalType,c=t.parentName,d=s(t,["components","mdxType","originalType","parentName"]),p=l(a),m=n,f=p["".concat(c,".").concat(m)]||p[m]||h[m]||o;return a?r.createElement(f,i(i({ref:e},d),{},{components:a})):r.createElement(f,i({ref:e},d))}));function m(t,e){var a=arguments,n=e&&e.mdxType;if("string"==typeof t||n){var o=a.length,i=new Array(o);i[0]=p;var s={};for(var c in e)hasOwnProperty.call(e,c)&&(s[c]=e[c]);s.originalType=t,s.mdxType="string"==typeof t?t:n,i[1]=s;for(var l=2;l=0||(s[o]=e[o]);return s}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(s[o]=e[o])}return s}var c=r.createContext({}),l=function(e){var t=r.useContext(c),o=t;return e&&(o="function"==typeof e?e(t):a(a({},t),e)),o},p=function(e){var t=l(e.components);return r.createElement(c.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},f=r.forwardRef((function(e,t){var o=e.components,s=e.mdxType,n=e.originalType,c=e.parentName,p=i(e,["components","mdxType","originalType","parentName"]),f=l(o),d=s,u=f["".concat(c,".").concat(d)]||f[d]||m[d]||n;return o?r.createElement(u,a(a({ref:t},p),{},{components:o})):r.createElement(u,a({ref:t},p))}));function d(e,t){var o=arguments,s=t&&t.mdxType;if("string"==typeof e||s){var n=o.length,a=new Array(n);a[0]=f;var i={};for(var c in t)hasOwnProperty.call(t,c)&&(i[c]=t[c]);i.originalType=e,i.mdxType="string"==typeof e?e:s,a[1]=i;for(var l=2;l=0||(s[o]=e[o]);return s}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(s[o]=e[o])}return s}var c=r.createContext({}),l=function(e){var t=r.useContext(c),o=t;return e&&(o="function"==typeof e?e(t):a(a({},t),e)),o},p=function(e){var t=l(e.components);return r.createElement(c.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},f=r.forwardRef((function(e,t){var o=e.components,s=e.mdxType,n=e.originalType,c=e.parentName,p=i(e,["components","mdxType","originalType","parentName"]),f=l(o),d=s,u=f["".concat(c,".").concat(d)]||f[d]||m[d]||n;return o?r.createElement(u,a(a({ref:t},p),{},{components:o})):r.createElement(u,a({ref:t},p))}));function d(e,t){var o=arguments,s=t&&t.mdxType;if("string"==typeof e||s){var n=o.length,a=new Array(n);a[0]=f;var i={};for(var c in t)hasOwnProperty.call(t,c)&&(i[c]=t[c]);i.originalType=e,i.mdxType="string"==typeof e?e:s,a[1]=i;for(var l=2;l=0||(i[o]=e[o]);return i}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(i[o]=e[o])}return i}var c=r.createContext({}),l=function(e){var t=r.useContext(c),o=t;return e&&(o="function"==typeof e?e(t):s(s({},t),e)),o},m=function(e){var t=l(e.components);return r.createElement(c.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},u=r.forwardRef((function(e,t){var o=e.components,i=e.mdxType,n=e.originalType,c=e.parentName,m=a(e,["components","mdxType","originalType","parentName"]),u=l(o),d=i,f=u["".concat(c,".").concat(d)]||u[d]||p[d]||n;return o?r.createElement(f,s(s({ref:t},m),{},{components:o})):r.createElement(f,s({ref:t},m))}));function d(e,t){var o=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var n=o.length,s=new Array(n);s[0]=u;var a={};for(var c in t)hasOwnProperty.call(t,c)&&(a[c]=t[c]);a.originalType=e,a.mdxType="string"==typeof e?e:i,s[1]=a;for(var l=2;l=0||(i[o]=e[o]);return i}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(i[o]=e[o])}return i}var c=r.createContext({}),l=function(e){var t=r.useContext(c),o=t;return e&&(o="function"==typeof e?e(t):s(s({},t),e)),o},m=function(e){var t=l(e.components);return r.createElement(c.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},u=r.forwardRef((function(e,t){var o=e.components,i=e.mdxType,n=e.originalType,c=e.parentName,m=a(e,["components","mdxType","originalType","parentName"]),u=l(o),d=i,f=u["".concat(c,".").concat(d)]||u[d]||p[d]||n;return o?r.createElement(f,s(s({ref:t},m),{},{components:o})):r.createElement(f,s({ref:t},m))}));function d(e,t){var o=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var n=o.length,s=new Array(n);s[0]=u;var a={};for(var c in t)hasOwnProperty.call(t,c)&&(a[c]=t[c]);a.originalType=e,a.mdxType="string"==typeof e?e:i,s[1]=a;for(var l=2;l=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var c=n.createContext({}),u=function(e){var t=n.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):s(s({},t),e)),r},d=function(e){var t=u(e.components);return n.createElement(c.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},l=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,o=e.originalType,c=e.parentName,d=i(e,["components","mdxType","originalType","parentName"]),l=u(r),h=a,m=l["".concat(c,".").concat(h)]||l[h]||p[h]||o;return r?n.createElement(m,s(s({ref:t},d),{},{components:r})):n.createElement(m,s({ref:t},d))}));function h(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=r.length,s=new Array(o);s[0]=l;var i={};for(var c in t)hasOwnProperty.call(t,c)&&(i[c]=t[c]);i.originalType=e,i.mdxType="string"==typeof e?e:a,s[1]=i;for(var u=2;u=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var c=n.createContext({}),u=function(e){var t=n.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):s(s({},t),e)),r},d=function(e){var t=u(e.components);return n.createElement(c.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},l=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,o=e.originalType,c=e.parentName,d=i(e,["components","mdxType","originalType","parentName"]),l=u(r),h=a,m=l["".concat(c,".").concat(h)]||l[h]||p[h]||o;return r?n.createElement(m,s(s({ref:t},d),{},{components:r})):n.createElement(m,s({ref:t},d))}));function h(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=r.length,s=new Array(o);s[0]=l;var i={};for(var c in t)hasOwnProperty.call(t,c)&&(i[c]=t[c]);i.originalType=e,i.mdxType="string"==typeof e?e:a,s[1]=i;for(var u=2;u=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var c=n.createContext({}),l=function(e){var t=n.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},m=function(e){var t=l(e.components);return n.createElement(c.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},d=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,a=e.originalType,c=e.parentName,m=s(e,["components","mdxType","originalType","parentName"]),d=l(r),g=o,f=d["".concat(c,".").concat(g)]||d[g]||p[g]||a;return r?n.createElement(f,i(i({ref:t},m),{},{components:r})):n.createElement(f,i({ref:t},m))}));function g(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=r.length,i=new Array(a);i[0]=d;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s.mdxType="string"==typeof e?e:o,i[1]=s;for(var l=2;l=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var c=n.createContext({}),l=function(e){var t=n.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},m=function(e){var t=l(e.components);return n.createElement(c.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},d=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,a=e.originalType,c=e.parentName,m=s(e,["components","mdxType","originalType","parentName"]),d=l(r),g=o,f=d["".concat(c,".").concat(g)]||d[g]||p[g]||a;return r?n.createElement(f,i(i({ref:t},m),{},{components:r})):n.createElement(f,i({ref:t},m))}));function g(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=r.length,i=new Array(a);i[0]=d;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s.mdxType="string"==typeof e?e:o,i[1]=s;for(var l=2;l=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var c=a.createContext({}),l=function(e){var t=a.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},u=function(e){var t=l(e.components);return a.createElement(c.Provider,{value:t},e.children)},h={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},p=a.forwardRef((function(e,t){var r=e.components,o=e.mdxType,n=e.originalType,c=e.parentName,u=s(e,["components","mdxType","originalType","parentName"]),p=l(r),f=o,d=p["".concat(c,".").concat(f)]||p[f]||h[f]||n;return r?a.createElement(d,i(i({ref:t},u),{},{components:r})):a.createElement(d,i({ref:t},u))}));function f(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var n=r.length,i=new Array(n);i[0]=p;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s.mdxType="string"==typeof e?e:o,i[1]=s;for(var l=2;l=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var c=a.createContext({}),l=function(e){var t=a.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},u=function(e){var t=l(e.components);return a.createElement(c.Provider,{value:t},e.children)},h={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},p=a.forwardRef((function(e,t){var r=e.components,o=e.mdxType,n=e.originalType,c=e.parentName,u=s(e,["components","mdxType","originalType","parentName"]),p=l(r),f=o,d=p["".concat(c,".").concat(f)]||p[f]||h[f]||n;return r?a.createElement(d,i(i({ref:t},u),{},{components:r})):a.createElement(d,i({ref:t},u))}));function f(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var n=r.length,i=new Array(n);i[0]=p;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s.mdxType="string"==typeof e?e:o,i[1]=s;for(var l=2;l=0||(n[i]=t[i]);return n}(t,e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,i)&&(n[i]=t[i])}return n}var c=r.createContext({}),d=function(t){var e=r.useContext(c),i=e;return t&&(i="function"==typeof t?t(e):o(o({},e),t)),i},f=function(t){var e=d(t.components);return r.createElement(c.Provider,{value:e},t.children)},h={inlineCode:"code",wrapper:function(t){var e=t.children;return r.createElement(r.Fragment,{},e)}},l=r.forwardRef((function(t,e){var i=t.components,n=t.mdxType,a=t.originalType,c=t.parentName,f=s(t,["components","mdxType","originalType","parentName"]),l=d(i),p=n,m=l["".concat(c,".").concat(p)]||l[p]||h[p]||a;return i?r.createElement(m,o(o({ref:e},f),{},{components:i})):r.createElement(m,o({ref:e},f))}));function p(t,e){var i=arguments,n=e&&e.mdxType;if("string"==typeof t||n){var a=i.length,o=new Array(a);o[0]=l;var s={};for(var c in e)hasOwnProperty.call(e,c)&&(s[c]=e[c]);s.originalType=t,s.mdxType="string"==typeof t?t:n,o[1]=s;for(var d=2;d=0||(n[i]=t[i]);return n}(t,e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,i)&&(n[i]=t[i])}return n}var c=r.createContext({}),d=function(t){var e=r.useContext(c),i=e;return t&&(i="function"==typeof t?t(e):o(o({},e),t)),i},f=function(t){var e=d(t.components);return r.createElement(c.Provider,{value:e},t.children)},h={inlineCode:"code",wrapper:function(t){var e=t.children;return r.createElement(r.Fragment,{},e)}},l=r.forwardRef((function(t,e){var i=t.components,n=t.mdxType,a=t.originalType,c=t.parentName,f=s(t,["components","mdxType","originalType","parentName"]),l=d(i),p=n,m=l["".concat(c,".").concat(p)]||l[p]||h[p]||a;return i?r.createElement(m,o(o({ref:e},f),{},{components:i})):r.createElement(m,o({ref:e},f))}));function p(t,e){var i=arguments,n=e&&e.mdxType;if("string"==typeof t||n){var a=i.length,o=new Array(a);o[0]=l;var s={};for(var c in e)hasOwnProperty.call(e,c)&&(s[c]=e[c]);s.originalType=t,s.mdxType="string"==typeof t?t:n,o[1]=s;for(var d=2;d=0||(r[i]=e[i]);return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(r[i]=e[i])}return r}var c=n.createContext({}),h=function(e){var t=n.useContext(c),i=t;return e&&(i="function"==typeof e?e(t):s(s({},t),e)),i},l=function(e){var t=h(e.components);return n.createElement(c.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},f=n.forwardRef((function(e,t){var i=e.components,r=e.mdxType,o=e.originalType,c=e.parentName,l=a(e,["components","mdxType","originalType","parentName"]),f=h(i),p=r,u=f["".concat(c,".").concat(p)]||f[p]||d[p]||o;return i?n.createElement(u,s(s({ref:t},l),{},{components:i})):n.createElement(u,s({ref:t},l))}));function p(e,t){var i=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=i.length,s=new Array(o);s[0]=f;var a={};for(var c in t)hasOwnProperty.call(t,c)&&(a[c]=t[c]);a.originalType=e,a.mdxType="string"==typeof e?e:r,s[1]=a;for(var h=2;h=0||(r[i]=e[i]);return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(r[i]=e[i])}return r}var c=n.createContext({}),h=function(e){var t=n.useContext(c),i=t;return e&&(i="function"==typeof e?e(t):s(s({},t),e)),i},l=function(e){var t=h(e.components);return n.createElement(c.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},f=n.forwardRef((function(e,t){var i=e.components,r=e.mdxType,o=e.originalType,c=e.parentName,l=a(e,["components","mdxType","originalType","parentName"]),f=h(i),p=r,u=f["".concat(c,".").concat(p)]||f[p]||d[p]||o;return i?n.createElement(u,s(s({ref:t},l),{},{components:i})):n.createElement(u,s({ref:t},l))}));function p(e,t){var i=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=i.length,s=new Array(o);s[0]=f;var a={};for(var c in t)hasOwnProperty.call(t,c)&&(a[c]=t[c]);a.originalType=e,a.mdxType="string"==typeof e?e:r,s[1]=a;for(var h=2;h=0||(o[r]=t[r]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}var c=n.createContext({}),u=function(t){var e=n.useContext(c),r=e;return t&&(r="function"==typeof t?t(e):a(a({},e),t)),r},l=function(t){var e=u(t.components);return n.createElement(c.Provider,{value:e},t.children)},d={inlineCode:"code",wrapper:function(t){var e=t.children;return n.createElement(n.Fragment,{},e)}},p=n.forwardRef((function(t,e){var r=t.components,o=t.mdxType,i=t.originalType,c=t.parentName,l=s(t,["components","mdxType","originalType","parentName"]),p=u(r),f=o,m=p["".concat(c,".").concat(f)]||p[f]||d[f]||i;return r?n.createElement(m,a(a({ref:e},l),{},{components:r})):n.createElement(m,a({ref:e},l))}));function f(t,e){var r=arguments,o=e&&e.mdxType;if("string"==typeof t||o){var i=r.length,a=new Array(i);a[0]=p;var s={};for(var c in e)hasOwnProperty.call(e,c)&&(s[c]=e[c]);s.originalType=t,s.mdxType="string"==typeof t?t:o,a[1]=s;for(var u=2;u=0||(o[r]=t[r]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}var c=n.createContext({}),u=function(t){var e=n.useContext(c),r=e;return t&&(r="function"==typeof t?t(e):a(a({},e),t)),r},l=function(t){var e=u(t.components);return n.createElement(c.Provider,{value:e},t.children)},d={inlineCode:"code",wrapper:function(t){var e=t.children;return n.createElement(n.Fragment,{},e)}},p=n.forwardRef((function(t,e){var r=t.components,o=t.mdxType,i=t.originalType,c=t.parentName,l=s(t,["components","mdxType","originalType","parentName"]),p=u(r),f=o,m=p["".concat(c,".").concat(f)]||p[f]||d[f]||i;return r?n.createElement(m,a(a({ref:e},l),{},{components:r})):n.createElement(m,a({ref:e},l))}));function f(t,e){var r=arguments,o=e&&e.mdxType;if("string"==typeof t||o){var i=r.length,a=new Array(i);a[0]=p;var s={};for(var c in e)hasOwnProperty.call(e,c)&&(s[c]=e[c]);s.originalType=t,s.mdxType="string"==typeof t?t:o,a[1]=s;for(var u=2;u=0||(n[a]=t[a]);return n}(t,e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(t,a)&&(n[a]=t[a])}return n}var l=i.createContext({}),c=function(t){var e=i.useContext(l),a=e;return t&&(a="function"==typeof t?t(e):o(o({},e),t)),a},d=function(t){var e=c(t.components);return i.createElement(l.Provider,{value:e},t.children)},m={inlineCode:"code",wrapper:function(t){var e=t.children;return i.createElement(i.Fragment,{},e)}},u=i.forwardRef((function(t,e){var a=t.components,n=t.mdxType,r=t.originalType,l=t.parentName,d=s(t,["components","mdxType","originalType","parentName"]),u=c(a),p=n,h=u["".concat(l,".").concat(p)]||u[p]||m[p]||r;return a?i.createElement(h,o(o({ref:e},d),{},{components:a})):i.createElement(h,o({ref:e},d))}));function p(t,e){var a=arguments,n=e&&e.mdxType;if("string"==typeof t||n){var r=a.length,o=new Array(r);o[0]=u;var s={};for(var l in e)hasOwnProperty.call(e,l)&&(s[l]=e[l]);s.originalType=t,s.mdxType="string"==typeof t?t:n,o[1]=s;for(var c=2;c child <"+("string"==typeof t.type?t.type:t.type.name)+'>: all children of the component should be , and every should have a unique "value" prop.')})))?void 0:a.filter(Boolean))?e:[]}(t).map((function(t){var e=t.props;return{value:e.value,label:e.label,attributes:e.attributes,default:e.default}}))}function u(t){var e=t.values,a=t.children;return(0,n.useMemo)((function(){var t=null!=e?e:m(a);return function(t){var e=(0,c.l)(t,(function(t,e){return t.value===e.value}));if(e.length>0)throw new Error('Docusaurus error: Duplicate values "'+e.map((function(t){return t.value})).join(", ")+'" found in . Every value needs to be unique.')}(t),t}),[e,a])}function p(t){var e=t.value;return t.tabValues.some((function(t){return t.value===e}))}function h(t){var e=t.queryString,a=void 0!==e&&e,i=t.groupId,r=(0,s.k6)(),o=function(t){var e=t.queryString,a=void 0!==e&&e,i=t.groupId;if("string"==typeof a)return a;if(!1===a)return null;if(!0===a&&!i)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return null!=i?i:null}({queryString:a,groupId:i});return[(0,l._X)(o),(0,n.useCallback)((function(t){if(o){var e=new URLSearchParams(r.location.search);e.set(o,t),r.replace(Object.assign({},r.location,{search:e.toString()}))}}),[o,r])]}function f(t){var e,a,i,r,o=t.defaultValue,s=t.queryString,l=void 0!==s&&s,c=t.groupId,m=u(t),f=(0,n.useState)((function(){return function(t){var e,a=t.defaultValue,i=t.tabValues;if(0===i.length)throw new Error("Docusaurus error: the component requires at least one children component");if(a){if(!p({value:a,tabValues:i}))throw new Error('Docusaurus error: The has a defaultValue "'+a+'" but none of its children has the corresponding value. Available values are: '+i.map((function(t){return t.value})).join(", ")+". If you intend to show no default tab, use defaultValue={null} instead.");return a}var n=null!=(e=i.find((function(t){return t.default})))?e:i[0];if(!n)throw new Error("Unexpected error: 0 tabValues");return n.value}({defaultValue:o,tabValues:m})})),g=f[0],y=f[1],b=h({queryString:l,groupId:c}),k=b[0],v=b[1],w=(e=function(t){return t?"docusaurus.tab."+t:null}({groupId:c}.groupId),a=(0,d.Nk)(e),i=a[0],r=a[1],[i,(0,n.useCallback)((function(t){e&&r.set(t)}),[e,r])]),T=w[0],N=w[1],G=function(){var t=null!=k?k:T;return p({value:t,tabValues:m})?t:null}();return(0,n.useLayoutEffect)((function(){G&&y(G)}),[G]),{selectedValue:g,selectValue:(0,n.useCallback)((function(t){if(!p({value:t,tabValues:m}))throw new Error("Can't select invalid tab value="+t);y(t),v(t),N(t)}),[v,N,m]),tabValues:m}}var g=a(2389),y="tabList__CuJ",b="tabItem_LNqP";function k(t){var e=t.className,a=t.block,s=t.selectedValue,l=t.selectValue,c=t.tabValues,d=[],m=(0,o.o5)().blockElementScrollPositionUntilNextRender,u=function(t){var e=t.currentTarget,a=d.indexOf(e),i=c[a].value;i!==s&&(m(e),l(i))},p=function(t){var e,a=null;switch(t.key){case"Enter":u(t);break;case"ArrowRight":var i,n=d.indexOf(t.currentTarget)+1;a=null!=(i=d[n])?i:d[0];break;case"ArrowLeft":var r,o=d.indexOf(t.currentTarget)-1;a=null!=(r=d[o])?r:d[d.length-1]}null==(e=a)||e.focus()};return n.createElement("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,r.Z)("tabs",{"tabs--block":a},e)},c.map((function(t){var e=t.value,a=t.label,o=t.attributes;return n.createElement("li",(0,i.Z)({role:"tab",tabIndex:s===e?0:-1,"aria-selected":s===e,key:e,ref:function(t){return d.push(t)},onKeyDown:p,onClick:u},o,{className:(0,r.Z)("tabs__item",b,null==o?void 0:o.className,{"tabs__item--active":s===e})}),null!=a?a:e)})))}function v(t){var e=t.lazy,a=t.children,i=t.selectedValue,r=(Array.isArray(a)?a:[a]).filter(Boolean);if(e){var o=r.find((function(t){return t.props.value===i}));return o?(0,n.cloneElement)(o,{className:"margin-top--md"}):null}return n.createElement("div",{className:"margin-top--md"},r.map((function(t,e){return(0,n.cloneElement)(t,{key:e,hidden:t.props.value!==i})})))}function w(t){var e=f(t);return n.createElement("div",{className:(0,r.Z)("tabs-container",y)},n.createElement(k,(0,i.Z)({},t,e)),n.createElement(v,(0,i.Z)({},t,e)))}function T(t){var e=(0,g.Z)();return n.createElement(w,(0,i.Z)({key:String(e)},t))}},1056:function(t,e,a){a.r(e),a.d(e,{assets:function(){return d},contentTitle:function(){return l},default:function(){return h},frontMatter:function(){return s},mark:function(){return u},metadata:function(){return c},toc:function(){return m}});var i=a(7462),n=a(3366),r=(a(7294),a(3905)),o=(a(4996),a(4866),a(5162),["components"]),s={id:"hrg-termselcrit",date:20230103},l="HRG Selection Criteria",c={unversionedId:"spec-syntax/hrg-termselcrit",id:"spec-syntax/hrg-termselcrit",title:"HRG Selection Criteria",description:"text to mark",source:"@site/docs/spec-syntax/31-hrg-termselcrit.md",sourceDirName:"spec-syntax",slug:"/spec-syntax/hrg-termselcrit",permalink:"/tev2-specifications/docs/spec-syntax/hrg-termselcrit",draft:!1,editUrl:"https://github.com/tno-terminology-design/tev2-specifications/blob/master/docs/spec-syntax/31-hrg-termselcrit.md",tags:[],version:"current",lastUpdatedBy:"Kees",lastUpdatedAt:1694174606,formattedLastUpdatedAt:"Sep 8, 2023",sidebarPosition:31,frontMatter:{id:"hrg-termselcrit",date:20230103},sidebar:"tev2SideBar",previous:{title:"Form Phrases",permalink:"/tev2-specifications/docs/spec-syntax/form-phrase-syntax"},next:{title:"Terminology Construction",permalink:"/tev2-specifications/docs/spec-tools/terminology-construction"}},d={},m=[{value:"Adding terms",id:"syntax-add",level:2},{value:"Removing terms",id:"syntax-remove",level:2}],u=function(t){var e=t.children;return(0,r.kt)("span",{style:{color:"black",backgroundColor:"yellow",padding:"0.2rem",borderRadius:"2px"}},e)},p={toc:m,mark:u};function h(t){var e=t.components,a=(0,n.Z)(t,o);return(0,r.kt)("wrapper",(0,i.Z)({},p,a,{components:e,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"hrg-selection-criteria"},"HRG Selection Criteria"),(0,r.kt)("admonition",{type:"caution"},(0,r.kt)("p",{parentName:"admonition"},"The entire section on Terminology Engine v 2 (TEv2) is still under construction.",(0,r.kt)("br",null),"\nAs TEv2 is not (yet) available, the texts that specify the tool are still 'raw', i.e. not yet processed.",(0,r.kt)("br",null),(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/reader",title:"Reader: a person that reads a text that is authored by another person (its Author]), and that tries to understand the meaning of this text in the way its Author intended."},"readers")," will need to see through some (currently unprocessed) notational conventions.")),(0,r.kt)("p",null,"When ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curator",title:"Curator: {(noRefs glossaryText)}"},"curators")," generate an ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/hrg",title:"Human Readable Glossary (HRG): a Glossary that is designed to be easily understandable and accessible to humans. HRGs present terms and their meanings in a format that prioritizes human comprehension and may include additional contextual information to aid understanding."},"HRG")," from a particular ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG"),", they may want to specify the ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Terms: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"terms")," to be included in the ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/hrg",title:"Human Readable Glossary (HRG): a Glossary that is designed to be easily understandable and accessible to humans. HRGs present terms and their meanings in a format that prioritizes human comprehension and may include additional contextual information to aid understanding."},"HRG")," (or preventing specific ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entries: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entries")," from being included)."),(0,r.kt)("p",null,"This can be done by using the same mechanism for ",(0,r.kt)("a",{parentName:"p",href:"/docs/spec-tools/terminology-construction"},"terminology construction")," as is used for generating ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRGs"),". The differences are that there is only one source, i.e. the particular ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," from which the ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/hrg",title:"Human Readable Glossary (HRG): a Glossary that is designed to be easily understandable and accessible to humans. HRGs present terms and their meanings in a format that prioritizes human comprehension and may include additional contextual information to aid understanding."},"HRG")," is generated. Thus, references to ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Terms: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"terms")," that have no corresponding ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," in that ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," are invalid. Also, there is no need for renaming syntax."),(0,r.kt)("p",null,"If generating an ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/hrg",title:"Human Readable Glossary (HRG): a Glossary that is designed to be easily understandable and accessible to humans. HRGs present terms and their meanings in a format that prioritizes human comprehension and may include additional contextual information to aid understanding."},"HRG")," requires the selection of terms, the instructions are to be specified in the ",(0,r.kt)("inlineCode",{parentName:"p"},"termselcrit")," field of the configuration file specified as an argument on the command-line when calling the ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/hrgt",title:"Human Readable Glossary Tool (HRGT): a software tool designed to create, manage, and process Human Readable Glossaries (HRGs), as Specified By TEv2. HRGTs offer features for selecting Terms that are Curated within the Scope it is run in, or from other Scopes."},"HRGT"),"."),(0,r.kt)("h2",{id:"syntax-add"},"Adding terms"),(0,r.kt)("p",null,"The following instructions can be used for adding ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Terms: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"terms")," (whitespace in the syntax is disregarded):"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:"left"},"Instruction"),(0,r.kt)("th",{parentName:"tr",align:"left"},"The instruction adds every ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," from the ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," to the ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology-under-construction",title:"Terminology Under Construction: a set of Terms (that is initially empty), to which Terms can be added or removed as specified by Term Selection Criteria, so as to ultimately result in a proper Terminology."},"terminology under construction")," ..."))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"left"},(0,r.kt)("inlineCode",{parentName:"td"},"terms [ ]")),(0,r.kt)("td",{parentName:"tr",align:"left"},"whose ",(0,r.kt)("inlineCode",{parentName:"td"},"term"),"-field is an element of ",(0,r.kt)("inlineCode",{parentName:"td"},""),".")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"left"},(0,r.kt)("inlineCode",{parentName:"td"},"tags [ ]")),(0,r.kt)("td",{parentName:"tr",align:"left"},"whose ",(0,r.kt)("inlineCode",{parentName:"td"},"grouptags")," field contains an element that is also an element of ",(0,r.kt)("inlineCode",{parentName:"td"},""),".")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"left"},(0,r.kt)("inlineCode",{parentName:"td"},"*")),(0,r.kt)("td",{parentName:"tr",align:"left"},"that exists within the ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," from which the ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/hrg",title:"Human Readable Glossary (HRG): a Glossary that is designed to be easily understandable and accessible to humans. HRGs present terms and their meanings in a format that prioritizes human comprehension and may include additional contextual information to aid understanding."},"HRG")," is generated.")))),(0,r.kt)("p",null,"Notes:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"")," and ",(0,r.kt)("inlineCode",{parentName:"li"},"")," are comma-separated lists of ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Terms: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"terms")," and ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/grouptag",title:"Grouptags: a Tag that is used to group Terms within a specific Scope."},"grouptags")," respectively."),(0,r.kt)("li",{parentName:"ul"},"An ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," will only be added to the ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology-under-construction",title:"Terminology Under Construction: a set of Terms (that is initially empty), to which Terms can be added or removed as specified by Term Selection Criteria, so as to ultimately result in a proper Terminology."},"terminology under construction")," if it does not already exist.")),(0,r.kt)("details",null,(0,r.kt)("summary",null,"Examples"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:"left"},"Instruction"),(0,r.kt)("th",{parentName:"tr",align:"left"},"What it does when processed"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"left"},(0,r.kt)("inlineCode",{parentName:"td"},"terms[party]")),(0,r.kt)("td",{parentName:"tr",align:"left"},"finds the ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," associated with the ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Term: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"term")," ",(0,r.kt)("inlineCode",{parentName:"td"},"party"),", and adds it to the selected set of ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Terms: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"terms"),".")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"left"},(0,r.kt)("inlineCode",{parentName:"td"},"tags[management,governance]")),(0,r.kt)("td",{parentName:"tr",align:"left"},"finds the ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entries: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entries")," associated with the ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Terms: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"terms")," ",(0,r.kt)("inlineCode",{parentName:"td"},"management")," and ",(0,r.kt)("inlineCode",{parentName:"td"},"governance"),", and adds them to the selected set of ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Terms: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"terms"),".")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"left"},(0,r.kt)("inlineCode",{parentName:"td"},"*")),(0,r.kt)("td",{parentName:"tr",align:"left"},"selects all ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Terms: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"terms")," from the ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG"),", and adds them to the selected set of ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Terms: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"terms"),"."))))),(0,r.kt)("h2",{id:"syntax-remove"},"Removing terms"),(0,r.kt)("p",null,"The following instructions can be used for removing ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Terms: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"terms")," from the set of selected ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Terms: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"terms")," (whitespace in the syntax is disregarded):"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:"left"},"Instruction"),(0,r.kt)("th",{parentName:"tr",align:"left"},"The instruction removes every ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," from the ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology-under-construction",title:"Terminology Under Construction: a set of Terms (that is initially empty), to which Terms can be added or removed as specified by Term Selection Criteria, so as to ultimately result in a proper Terminology."},"terminology under construction")," ..."))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"left"},(0,r.kt)("inlineCode",{parentName:"td"},"-terms [ ]")),(0,r.kt)("td",{parentName:"tr",align:"left"},"whose ",(0,r.kt)("inlineCode",{parentName:"td"},"term"),"-field is an element of ",(0,r.kt)("inlineCode",{parentName:"td"},""),".")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"left"},(0,r.kt)("inlineCode",{parentName:"td"},"-tags [ ]")),(0,r.kt)("td",{parentName:"tr",align:"left"},"whose ",(0,r.kt)("inlineCode",{parentName:"td"},"grouptags")," field contains an element that is also an element of ",(0,r.kt)("inlineCode",{parentName:"td"},""),".")))),(0,r.kt)("p",null,"Notes:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"")," and ",(0,r.kt)("inlineCode",{parentName:"li"},"")," are comma-separated lists of ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Terms: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"terms"),", and ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/grouptag",title:"Grouptags: a Tag that is used to group Terms within a specific Scope."},"grouptags")," respectively."),(0,r.kt)("li",{parentName:"ul"},"Elements of the ",(0,r.kt)("inlineCode",{parentName:"li"},"")," or ",(0,r.kt)("inlineCode",{parentName:"li"},"")," that do not lead to the removal of an ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," may be logged.")),(0,r.kt)("details",null,(0,r.kt)("summary",null,"Examples"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:"left"},"Instruction"),(0,r.kt)("th",{parentName:"tr",align:"left"},"What it does when processed"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"left"},(0,r.kt)("inlineCode",{parentName:"td"},"-terms[party, actor]")),(0,r.kt)("td",{parentName:"tr",align:"left"},"removes the ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entries: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entries")," that have either ",(0,r.kt)("inlineCode",{parentName:"td"},"party")," or ",(0,r.kt)("inlineCode",{parentName:"td"},"actor")," in its ",(0,r.kt)("inlineCode",{parentName:"td"},"term")," field.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"left"},(0,r.kt)("inlineCode",{parentName:"td"},"-tags[management]")),(0,r.kt)("td",{parentName:"tr",align:"left"},"removes all ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entries: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entries")," that have a ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/grouptag",title:"Grouptag: a Tag that is used to group Terms within a specific Scope."},"grouptag")," ",(0,r.kt)("inlineCode",{parentName:"td"},"management"),"."))))))}h.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunktev2_specifications=self.webpackChunktev2_specifications||[]).push([[9825],{3905:function(t,e,a){a.d(e,{Zo:function(){return d},kt:function(){return p}});var i=a(7294);function n(t,e,a){return e in t?Object.defineProperty(t,e,{value:a,enumerable:!0,configurable:!0,writable:!0}):t[e]=a,t}function r(t,e){var a=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),a.push.apply(a,i)}return a}function o(t){for(var e=1;e=0||(n[a]=t[a]);return n}(t,e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(t,a)&&(n[a]=t[a])}return n}var l=i.createContext({}),c=function(t){var e=i.useContext(l),a=e;return t&&(a="function"==typeof t?t(e):o(o({},e),t)),a},d=function(t){var e=c(t.components);return i.createElement(l.Provider,{value:e},t.children)},m={inlineCode:"code",wrapper:function(t){var e=t.children;return i.createElement(i.Fragment,{},e)}},u=i.forwardRef((function(t,e){var a=t.components,n=t.mdxType,r=t.originalType,l=t.parentName,d=s(t,["components","mdxType","originalType","parentName"]),u=c(a),p=n,h=u["".concat(l,".").concat(p)]||u[p]||m[p]||r;return a?i.createElement(h,o(o({ref:e},d),{},{components:a})):i.createElement(h,o({ref:e},d))}));function p(t,e){var a=arguments,n=e&&e.mdxType;if("string"==typeof t||n){var r=a.length,o=new Array(r);o[0]=u;var s={};for(var l in e)hasOwnProperty.call(e,l)&&(s[l]=e[l]);s.originalType=t,s.mdxType="string"==typeof t?t:n,o[1]=s;for(var c=2;c child <"+("string"==typeof t.type?t.type:t.type.name)+'>: all children of the component should be , and every should have a unique "value" prop.')})))?void 0:a.filter(Boolean))?e:[]}(t).map((function(t){var e=t.props;return{value:e.value,label:e.label,attributes:e.attributes,default:e.default}}))}function u(t){var e=t.values,a=t.children;return(0,n.useMemo)((function(){var t=null!=e?e:m(a);return function(t){var e=(0,c.l)(t,(function(t,e){return t.value===e.value}));if(e.length>0)throw new Error('Docusaurus error: Duplicate values "'+e.map((function(t){return t.value})).join(", ")+'" found in . Every value needs to be unique.')}(t),t}),[e,a])}function p(t){var e=t.value;return t.tabValues.some((function(t){return t.value===e}))}function h(t){var e=t.queryString,a=void 0!==e&&e,i=t.groupId,r=(0,s.k6)(),o=function(t){var e=t.queryString,a=void 0!==e&&e,i=t.groupId;if("string"==typeof a)return a;if(!1===a)return null;if(!0===a&&!i)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return null!=i?i:null}({queryString:a,groupId:i});return[(0,l._X)(o),(0,n.useCallback)((function(t){if(o){var e=new URLSearchParams(r.location.search);e.set(o,t),r.replace(Object.assign({},r.location,{search:e.toString()}))}}),[o,r])]}function f(t){var e,a,i,r,o=t.defaultValue,s=t.queryString,l=void 0!==s&&s,c=t.groupId,m=u(t),f=(0,n.useState)((function(){return function(t){var e,a=t.defaultValue,i=t.tabValues;if(0===i.length)throw new Error("Docusaurus error: the component requires at least one children component");if(a){if(!p({value:a,tabValues:i}))throw new Error('Docusaurus error: The has a defaultValue "'+a+'" but none of its children has the corresponding value. Available values are: '+i.map((function(t){return t.value})).join(", ")+". If you intend to show no default tab, use defaultValue={null} instead.");return a}var n=null!=(e=i.find((function(t){return t.default})))?e:i[0];if(!n)throw new Error("Unexpected error: 0 tabValues");return n.value}({defaultValue:o,tabValues:m})})),g=f[0],y=f[1],b=h({queryString:l,groupId:c}),k=b[0],v=b[1],w=(e=function(t){return t?"docusaurus.tab."+t:null}({groupId:c}.groupId),a=(0,d.Nk)(e),i=a[0],r=a[1],[i,(0,n.useCallback)((function(t){e&&r.set(t)}),[e,r])]),T=w[0],N=w[1],G=function(){var t=null!=k?k:T;return p({value:t,tabValues:m})?t:null}();return(0,n.useLayoutEffect)((function(){G&&y(G)}),[G]),{selectedValue:g,selectValue:(0,n.useCallback)((function(t){if(!p({value:t,tabValues:m}))throw new Error("Can't select invalid tab value="+t);y(t),v(t),N(t)}),[v,N,m]),tabValues:m}}var g=a(2389),y="tabList__CuJ",b="tabItem_LNqP";function k(t){var e=t.className,a=t.block,s=t.selectedValue,l=t.selectValue,c=t.tabValues,d=[],m=(0,o.o5)().blockElementScrollPositionUntilNextRender,u=function(t){var e=t.currentTarget,a=d.indexOf(e),i=c[a].value;i!==s&&(m(e),l(i))},p=function(t){var e,a=null;switch(t.key){case"Enter":u(t);break;case"ArrowRight":var i,n=d.indexOf(t.currentTarget)+1;a=null!=(i=d[n])?i:d[0];break;case"ArrowLeft":var r,o=d.indexOf(t.currentTarget)-1;a=null!=(r=d[o])?r:d[d.length-1]}null==(e=a)||e.focus()};return n.createElement("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,r.Z)("tabs",{"tabs--block":a},e)},c.map((function(t){var e=t.value,a=t.label,o=t.attributes;return n.createElement("li",(0,i.Z)({role:"tab",tabIndex:s===e?0:-1,"aria-selected":s===e,key:e,ref:function(t){return d.push(t)},onKeyDown:p,onClick:u},o,{className:(0,r.Z)("tabs__item",b,null==o?void 0:o.className,{"tabs__item--active":s===e})}),null!=a?a:e)})))}function v(t){var e=t.lazy,a=t.children,i=t.selectedValue,r=(Array.isArray(a)?a:[a]).filter(Boolean);if(e){var o=r.find((function(t){return t.props.value===i}));return o?(0,n.cloneElement)(o,{className:"margin-top--md"}):null}return n.createElement("div",{className:"margin-top--md"},r.map((function(t,e){return(0,n.cloneElement)(t,{key:e,hidden:t.props.value!==i})})))}function w(t){var e=f(t);return n.createElement("div",{className:(0,r.Z)("tabs-container",y)},n.createElement(k,(0,i.Z)({},t,e)),n.createElement(v,(0,i.Z)({},t,e)))}function T(t){var e=(0,g.Z)();return n.createElement(w,(0,i.Z)({key:String(e)},t))}},1056:function(t,e,a){a.r(e),a.d(e,{assets:function(){return d},contentTitle:function(){return l},default:function(){return h},frontMatter:function(){return s},mark:function(){return u},metadata:function(){return c},toc:function(){return m}});var i=a(7462),n=a(3366),r=(a(7294),a(3905)),o=(a(4996),a(4866),a(5162),["components"]),s={id:"hrg-termselcrit",date:20230103},l="HRG Selection Criteria",c={unversionedId:"spec-syntax/hrg-termselcrit",id:"spec-syntax/hrg-termselcrit",title:"HRG Selection Criteria",description:"text to mark",source:"@site/docs/spec-syntax/31-hrg-termselcrit.md",sourceDirName:"spec-syntax",slug:"/spec-syntax/hrg-termselcrit",permalink:"/tev2-specifications/docs/spec-syntax/hrg-termselcrit",draft:!1,editUrl:"https://github.com/tno-terminology-design/tev2-specifications/blob/master/docs/spec-syntax/31-hrg-termselcrit.md",tags:[],version:"current",lastUpdatedBy:"Ca5e",lastUpdatedAt:1694182104,formattedLastUpdatedAt:"Sep 8, 2023",sidebarPosition:31,frontMatter:{id:"hrg-termselcrit",date:20230103},sidebar:"tev2SideBar",previous:{title:"Form Phrases",permalink:"/tev2-specifications/docs/spec-syntax/form-phrase-syntax"},next:{title:"Terminology Construction",permalink:"/tev2-specifications/docs/spec-tools/terminology-construction"}},d={},m=[{value:"Adding terms",id:"syntax-add",level:2},{value:"Removing terms",id:"syntax-remove",level:2}],u=function(t){var e=t.children;return(0,r.kt)("span",{style:{color:"black",backgroundColor:"yellow",padding:"0.2rem",borderRadius:"2px"}},e)},p={toc:m,mark:u};function h(t){var e=t.components,a=(0,n.Z)(t,o);return(0,r.kt)("wrapper",(0,i.Z)({},p,a,{components:e,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"hrg-selection-criteria"},"HRG Selection Criteria"),(0,r.kt)("admonition",{type:"caution"},(0,r.kt)("p",{parentName:"admonition"},"The entire section on Terminology Engine v 2 (TEv2) is still under construction.",(0,r.kt)("br",null),"\nAs TEv2 is not (yet) available, the texts that specify the tool are still 'raw', i.e. not yet processed.",(0,r.kt)("br",null),(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/reader",title:"Reader: a person that reads a text that is authored by another person (its Author]), and that tries to understand the meaning of this text in the way its Author intended."},"readers")," will need to see through some (currently unprocessed) notational conventions.")),(0,r.kt)("p",null,"When ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/curator",title:"Curator: {(noRefs glossaryText)}"},"curators")," generate an ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/hrg",title:"Human Readable Glossary (HRG): a Glossary that is designed to be easily understandable and accessible to humans. HRGs present terms and their meanings in a format that prioritizes human comprehension and may include additional contextual information to aid understanding."},"HRG")," from a particular ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG"),", they may want to specify the ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Terms: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"terms")," to be included in the ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/hrg",title:"Human Readable Glossary (HRG): a Glossary that is designed to be easily understandable and accessible to humans. HRGs present terms and their meanings in a format that prioritizes human comprehension and may include additional contextual information to aid understanding."},"HRG")," (or preventing specific ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entries: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entries")," from being included)."),(0,r.kt)("p",null,"This can be done by using the same mechanism for ",(0,r.kt)("a",{parentName:"p",href:"/docs/spec-tools/terminology-construction"},"terminology construction")," as is used for generating ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRGs"),". The differences are that there is only one source, i.e. the particular ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," from which the ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/hrg",title:"Human Readable Glossary (HRG): a Glossary that is designed to be easily understandable and accessible to humans. HRGs present terms and their meanings in a format that prioritizes human comprehension and may include additional contextual information to aid understanding."},"HRG")," is generated. Thus, references to ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Terms: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"terms")," that have no corresponding ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," in that ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," are invalid. Also, there is no need for renaming syntax."),(0,r.kt)("p",null,"If generating an ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/hrg",title:"Human Readable Glossary (HRG): a Glossary that is designed to be easily understandable and accessible to humans. HRGs present terms and their meanings in a format that prioritizes human comprehension and may include additional contextual information to aid understanding."},"HRG")," requires the selection of terms, the instructions are to be specified in the ",(0,r.kt)("inlineCode",{parentName:"p"},"termselcrit")," field of the configuration file specified as an argument on the command-line when calling the ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/hrgt",title:"Human Readable Glossary Tool (HRGT): a software tool designed to create, manage, and process Human Readable Glossaries (HRGs), as Specified By TEv2. HRGTs offer features for selecting Terms that are Curated within the Scope it is run in, or from other Scopes."},"HRGT"),"."),(0,r.kt)("h2",{id:"syntax-add"},"Adding terms"),(0,r.kt)("p",null,"The following instructions can be used for adding ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Terms: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"terms")," (whitespace in the syntax is disregarded):"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:"left"},"Instruction"),(0,r.kt)("th",{parentName:"tr",align:"left"},"The instruction adds every ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," from the ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," to the ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology-under-construction",title:"Terminology Under Construction: a set of Terms (that is initially empty), to which Terms can be added or removed as specified by Term Selection Criteria, so as to ultimately result in a proper Terminology."},"terminology under construction")," ..."))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"left"},(0,r.kt)("inlineCode",{parentName:"td"},"terms [ ]")),(0,r.kt)("td",{parentName:"tr",align:"left"},"whose ",(0,r.kt)("inlineCode",{parentName:"td"},"term"),"-field is an element of ",(0,r.kt)("inlineCode",{parentName:"td"},""),".")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"left"},(0,r.kt)("inlineCode",{parentName:"td"},"tags [ ]")),(0,r.kt)("td",{parentName:"tr",align:"left"},"whose ",(0,r.kt)("inlineCode",{parentName:"td"},"grouptags")," field contains an element that is also an element of ",(0,r.kt)("inlineCode",{parentName:"td"},""),".")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"left"},(0,r.kt)("inlineCode",{parentName:"td"},"*")),(0,r.kt)("td",{parentName:"tr",align:"left"},"that exists within the ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG")," from which the ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/hrg",title:"Human Readable Glossary (HRG): a Glossary that is designed to be easily understandable and accessible to humans. HRGs present terms and their meanings in a format that prioritizes human comprehension and may include additional contextual information to aid understanding."},"HRG")," is generated.")))),(0,r.kt)("p",null,"Notes:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"")," and ",(0,r.kt)("inlineCode",{parentName:"li"},"")," are comma-separated lists of ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Terms: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"terms")," and ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/grouptag",title:"Grouptags: a Tag that is used to group Terms within a specific Scope."},"grouptags")," respectively."),(0,r.kt)("li",{parentName:"ul"},"An ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," will only be added to the ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology-under-construction",title:"Terminology Under Construction: a set of Terms (that is initially empty), to which Terms can be added or removed as specified by Term Selection Criteria, so as to ultimately result in a proper Terminology."},"terminology under construction")," if it does not already exist.")),(0,r.kt)("details",null,(0,r.kt)("summary",null,"Examples"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:"left"},"Instruction"),(0,r.kt)("th",{parentName:"tr",align:"left"},"What it does when processed"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"left"},(0,r.kt)("inlineCode",{parentName:"td"},"terms[party]")),(0,r.kt)("td",{parentName:"tr",align:"left"},"finds the ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," associated with the ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Term: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"term")," ",(0,r.kt)("inlineCode",{parentName:"td"},"party"),", and adds it to the selected set of ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Terms: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"terms"),".")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"left"},(0,r.kt)("inlineCode",{parentName:"td"},"tags[management,governance]")),(0,r.kt)("td",{parentName:"tr",align:"left"},"finds the ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entries: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entries")," associated with the ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Terms: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"terms")," ",(0,r.kt)("inlineCode",{parentName:"td"},"management")," and ",(0,r.kt)("inlineCode",{parentName:"td"},"governance"),", and adds them to the selected set of ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Terms: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"terms"),".")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"left"},(0,r.kt)("inlineCode",{parentName:"td"},"*")),(0,r.kt)("td",{parentName:"tr",align:"left"},"selects all ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Terms: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"terms")," from the ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg",title:"MRG: a Glossary for a particular (version of a) Terminology that is formatted in YAML, according to the [TEv2 MRG specifications](/docs/spec-files/mrg), to enable automated processing and integration with software systems."},"MRG"),", and adds them to the selected set of ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Terms: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"terms"),"."))))),(0,r.kt)("h2",{id:"syntax-remove"},"Removing terms"),(0,r.kt)("p",null,"The following instructions can be used for removing ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Terms: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"terms")," from the set of selected ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Terms: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"terms")," (whitespace in the syntax is disregarded):"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:"left"},"Instruction"),(0,r.kt)("th",{parentName:"tr",align:"left"},"The instruction removes every ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," from the ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/terminology-under-construction",title:"Terminology Under Construction: a set of Terms (that is initially empty), to which Terms can be added or removed as specified by Term Selection Criteria, so as to ultimately result in a proper Terminology."},"terminology under construction")," ..."))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"left"},(0,r.kt)("inlineCode",{parentName:"td"},"-terms [ ]")),(0,r.kt)("td",{parentName:"tr",align:"left"},"whose ",(0,r.kt)("inlineCode",{parentName:"td"},"term"),"-field is an element of ",(0,r.kt)("inlineCode",{parentName:"td"},""),".")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"left"},(0,r.kt)("inlineCode",{parentName:"td"},"-tags [ ]")),(0,r.kt)("td",{parentName:"tr",align:"left"},"whose ",(0,r.kt)("inlineCode",{parentName:"td"},"grouptags")," field contains an element that is also an element of ",(0,r.kt)("inlineCode",{parentName:"td"},""),".")))),(0,r.kt)("p",null,"Notes:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"")," and ",(0,r.kt)("inlineCode",{parentName:"li"},"")," are comma-separated lists of ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/term",title:"Terms: a word or phrase (i.e.: text) that is used to represent (Identify) a specific Knowledge Artifact (in some Scope)."},"terms"),", and ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/grouptag",title:"Grouptags: a Tag that is used to group Terms within a specific Scope."},"grouptags")," respectively."),(0,r.kt)("li",{parentName:"ul"},"Elements of the ",(0,r.kt)("inlineCode",{parentName:"li"},"")," or ",(0,r.kt)("inlineCode",{parentName:"li"},"")," that do not lead to the removal of an ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entry: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entry")," may be logged.")),(0,r.kt)("details",null,(0,r.kt)("summary",null,"Examples"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:"left"},"Instruction"),(0,r.kt)("th",{parentName:"tr",align:"left"},"What it does when processed"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"left"},(0,r.kt)("inlineCode",{parentName:"td"},"-terms[party, actor]")),(0,r.kt)("td",{parentName:"tr",align:"left"},"removes the ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entries: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entries")," that have either ",(0,r.kt)("inlineCode",{parentName:"td"},"party")," or ",(0,r.kt)("inlineCode",{parentName:"td"},"actor")," in its ",(0,r.kt)("inlineCode",{parentName:"td"},"term")," field.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"left"},(0,r.kt)("inlineCode",{parentName:"td"},"-tags[management]")),(0,r.kt)("td",{parentName:"tr",align:"left"},"removes all ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/mrg-entry",title:"Mrg-entries: A machine-readable (and interpretable) artifact that contains (pointers to) data and meta-data about a particular Knowledge Artifact, such as the associated Term(s), its Definition, etc., to make it easy for IT-tools to create, e.g. documentation, Glossaries, Dictionaries, whitepapers, etc. that uses such Terms (Definitions, etc.)."},"MRG entries")," that have a ",(0,r.kt)("a",{href:"https://tno-terminology-design.github.io/tev2-specifications/docs/terms/grouptag",title:"Grouptag: a Tag that is used to group Terms within a specific Scope."},"grouptag")," ",(0,r.kt)("inlineCode",{parentName:"td"},"management"),"."))))))}h.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/ee5834a7.ed37d9ba.js b/assets/js/ee5834a7.c9e91f41.js similarity index 99% rename from assets/js/ee5834a7.ed37d9ba.js rename to assets/js/ee5834a7.c9e91f41.js index fc20f29d55..1925f82636 100644 --- a/assets/js/ee5834a7.ed37d9ba.js +++ b/assets/js/ee5834a7.c9e91f41.js @@ -1 +1 @@ -"use strict";(self.webpackChunktev2_specifications=self.webpackChunktev2_specifications||[]).push([[4117],{3905:function(e,t,o){o.d(t,{Zo:function(){return l},kt:function(){return f}});var i=o(7294);function r(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function s(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,i)}return o}function n(e){for(var t=1;t=0||(r[o]=e[o]);return r}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(r[o]=e[o])}return r}var c=i.createContext({}),p=function(e){var t=i.useContext(c),o=t;return e&&(o="function"==typeof e?e(t):n(n({},t),e)),o},l=function(e){var t=p(e.components);return i.createElement(c.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},h=i.forwardRef((function(e,t){var o=e.components,r=e.mdxType,s=e.originalType,c=e.parentName,l=a(e,["components","mdxType","originalType","parentName"]),h=p(o),f=r,d=h["".concat(c,".").concat(f)]||h[f]||m[f]||s;return o?i.createElement(d,n(n({ref:t},l),{},{components:o})):i.createElement(d,n({ref:t},l))}));function f(e,t){var o=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var s=o.length,n=new Array(s);n[0]=h;var a={};for(var c in t)hasOwnProperty.call(t,c)&&(a[c]=t[c]);a.originalType=e,a.mdxType="string"==typeof e?e:r,n[1]=a;for(var p=2;p=0||(r[o]=e[o]);return r}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(r[o]=e[o])}return r}var c=i.createContext({}),p=function(e){var t=i.useContext(c),o=t;return e&&(o="function"==typeof e?e(t):n(n({},t),e)),o},l=function(e){var t=p(e.components);return i.createElement(c.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},h=i.forwardRef((function(e,t){var o=e.components,r=e.mdxType,s=e.originalType,c=e.parentName,l=a(e,["components","mdxType","originalType","parentName"]),h=p(o),f=r,d=h["".concat(c,".").concat(f)]||h[f]||m[f]||s;return o?i.createElement(d,n(n({ref:t},l),{},{components:o})):i.createElement(d,n({ref:t},l))}));function f(e,t){var o=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var s=o.length,n=new Array(s);n[0]=h;var a={};for(var c in t)hasOwnProperty.call(t,c)&&(a[c]=t[c]);a.originalType=e,a.mdxType="string"==typeof e?e:r,n[1]=a;for(var p=2;p=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var c=o.createContext({}),p=function(e){var t=o.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):s(s({},t),e)),r},u=function(e){var t=p(e.components);return o.createElement(c.Provider,{value:t},e.children)},f={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},d=o.forwardRef((function(e,t){var r=e.components,n=e.mdxType,a=e.originalType,c=e.parentName,u=i(e,["components","mdxType","originalType","parentName"]),d=p(r),l=n,h=d["".concat(c,".").concat(l)]||d[l]||f[l]||a;return r?o.createElement(h,s(s({ref:t},u),{},{components:r})):o.createElement(h,s({ref:t},u))}));function l(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var a=r.length,s=new Array(a);s[0]=d;var i={};for(var c in t)hasOwnProperty.call(t,c)&&(i[c]=t[c]);i.originalType=e,i.mdxType="string"==typeof e?e:n,s[1]=i;for(var p=2;p=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var c=o.createContext({}),p=function(e){var t=o.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):s(s({},t),e)),r},u=function(e){var t=p(e.components);return o.createElement(c.Provider,{value:t},e.children)},f={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},d=o.forwardRef((function(e,t){var r=e.components,n=e.mdxType,a=e.originalType,c=e.parentName,u=i(e,["components","mdxType","originalType","parentName"]),d=p(r),l=n,h=d["".concat(c,".").concat(l)]||d[l]||f[l]||a;return r?o.createElement(h,s(s({ref:t},u),{},{components:r})):o.createElement(h,s({ref:t},u))}));function l(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var a=r.length,s=new Array(a);s[0]=d;var i={};for(var c in t)hasOwnProperty.call(t,c)&&(i[c]=t[c]);i.originalType=e,i.mdxType="string"==typeof e?e:n,s[1]=i;for(var p=2;p=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}var c=n.createContext({}),p=function(e){var t=n.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):a(a({},t),e)),r},l=function(e){var t=p(e.components);return n.createElement(c.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},f=n.forwardRef((function(e,t){var r=e.components,i=e.mdxType,o=e.originalType,c=e.parentName,l=s(e,["components","mdxType","originalType","parentName"]),f=p(r),d=i,u=f["".concat(c,".").concat(d)]||f[d]||m[d]||o;return r?n.createElement(u,a(a({ref:t},l),{},{components:r})):n.createElement(u,a({ref:t},l))}));function d(e,t){var r=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var o=r.length,a=new Array(o);a[0]=f;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s.mdxType="string"==typeof e?e:i,a[1]=s;for(var p=2;p=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}var c=n.createContext({}),p=function(e){var t=n.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):a(a({},t),e)),r},l=function(e){var t=p(e.components);return n.createElement(c.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},f=n.forwardRef((function(e,t){var r=e.components,i=e.mdxType,o=e.originalType,c=e.parentName,l=s(e,["components","mdxType","originalType","parentName"]),f=p(r),d=i,u=f["".concat(c,".").concat(d)]||f[d]||m[d]||o;return r?n.createElement(u,a(a({ref:t},l),{},{components:r})):n.createElement(u,a({ref:t},l))}));function d(e,t){var r=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var o=r.length,a=new Array(o);a[0]=f;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s.mdxType="string"==typeof e?e:i,a[1]=s;for(var p=2;p=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var c=r.createContext({}),l=function(e){var t=r.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},d=function(e){var t=l(e.components);return r.createElement(c.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},p=r.forwardRef((function(e,t){var n=e.components,i=e.mdxType,a=e.originalType,c=e.parentName,d=s(e,["components","mdxType","originalType","parentName"]),p=l(n),f=i,m=p["".concat(c,".").concat(f)]||p[f]||u[f]||a;return n?r.createElement(m,o(o({ref:t},d),{},{components:n})):r.createElement(m,o({ref:t},d))}));function f(e,t){var n=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var a=n.length,o=new Array(a);o[0]=p;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s.mdxType="string"==typeof e?e:i,o[1]=s;for(var l=2;l=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var c=r.createContext({}),l=function(e){var t=r.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},d=function(e){var t=l(e.components);return r.createElement(c.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},p=r.forwardRef((function(e,t){var n=e.components,i=e.mdxType,a=e.originalType,c=e.parentName,d=s(e,["components","mdxType","originalType","parentName"]),p=l(n),f=i,m=p["".concat(c,".").concat(f)]||p[f]||u[f]||a;return n?r.createElement(m,o(o({ref:t},d),{},{components:n})):r.createElement(m,o({ref:t},d))}));function f(e,t){var n=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var a=n.length,o=new Array(a);o[0]=p;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s.mdxType="string"==typeof e?e:i,o[1]=s;for(var l=2;l=0||(r[i]=e[i]);return r}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(r[i]=e[i])}return r}var c=o.createContext({}),l=function(e){var t=o.useContext(c),i=t;return e&&(i="function"==typeof e?e(t):n(n({},t),e)),i},d=function(e){var t=l(e.components);return o.createElement(c.Provider,{value:t},e.children)},h={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},p=o.forwardRef((function(e,t){var i=e.components,r=e.mdxType,s=e.originalType,c=e.parentName,d=a(e,["components","mdxType","originalType","parentName"]),p=l(i),m=r,f=p["".concat(c,".").concat(m)]||p[m]||h[m]||s;return i?o.createElement(f,n(n({ref:t},d),{},{components:i})):o.createElement(f,n({ref:t},d))}));function m(e,t){var i=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var s=i.length,n=new Array(s);n[0]=p;var a={};for(var c in t)hasOwnProperty.call(t,c)&&(a[c]=t[c]);a.originalType=e,a.mdxType="string"==typeof e?e:r,n[1]=a;for(var l=2;l=0||(r[i]=e[i]);return r}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(r[i]=e[i])}return r}var c=o.createContext({}),l=function(e){var t=o.useContext(c),i=t;return e&&(i="function"==typeof e?e(t):n(n({},t),e)),i},d=function(e){var t=l(e.components);return o.createElement(c.Provider,{value:t},e.children)},h={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},p=o.forwardRef((function(e,t){var i=e.components,r=e.mdxType,s=e.originalType,c=e.parentName,d=a(e,["components","mdxType","originalType","parentName"]),p=l(i),m=r,f=p["".concat(c,".").concat(m)]||p[m]||h[m]||s;return i?o.createElement(f,n(n({ref:t},d),{},{components:i})):o.createElement(f,n({ref:t},d))}));function m(e,t){var i=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var s=i.length,n=new Array(s);n[0]=p;var a={};for(var c in t)hasOwnProperty.call(t,c)&&(a[c]=t[c]);a.originalType=e,a.mdxType="string"==typeof e?e:r,n[1]=a;for(var l=2;l=0||(o[i]=e[i]);return o}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(o[i]=e[i])}return o}var c=r.createContext({}),l=function(e){var t=r.useContext(c),i=t;return e&&(i="function"==typeof e?e(t):s(s({},t),e)),i},m=function(e){var t=l(e.components);return r.createElement(c.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},p=r.forwardRef((function(e,t){var i=e.components,o=e.mdxType,n=e.originalType,c=e.parentName,m=a(e,["components","mdxType","originalType","parentName"]),p=l(i),u=o,h=p["".concat(c,".").concat(u)]||p[u]||d[u]||n;return i?r.createElement(h,s(s({ref:t},m),{},{components:i})):r.createElement(h,s({ref:t},m))}));function u(e,t){var i=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var n=i.length,s=new Array(n);s[0]=p;var a={};for(var c in t)hasOwnProperty.call(t,c)&&(a[c]=t[c]);a.originalType=e,a.mdxType="string"==typeof e?e:o,s[1]=a;for(var l=2;l=0||(o[i]=e[i]);return o}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(o[i]=e[i])}return o}var c=r.createContext({}),l=function(e){var t=r.useContext(c),i=t;return e&&(i="function"==typeof e?e(t):s(s({},t),e)),i},m=function(e){var t=l(e.components);return r.createElement(c.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},p=r.forwardRef((function(e,t){var i=e.components,o=e.mdxType,n=e.originalType,c=e.parentName,m=a(e,["components","mdxType","originalType","parentName"]),p=l(i),u=o,h=p["".concat(c,".").concat(u)]||p[u]||d[u]||n;return i?r.createElement(h,s(s({ref:t},m),{},{components:i})):r.createElement(h,s({ref:t},m))}));function u(e,t){var i=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var n=i.length,s=new Array(n);s[0]=p;var a={};for(var c in t)hasOwnProperty.call(t,c)&&(a[c]=t[c]);a.originalType=e,a.mdxType="string"==typeof e?e:o,s[1]=a;for(var l=2;l=0||(s[o]=t[o]);return s}(t,e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(t,o)&&(s[o]=t[o])}return s}var c=i.createContext({}),l=function(t){var e=i.useContext(c),o=e;return t&&(o="function"==typeof t?t(e):n(n({},e),t)),o},d=function(t){var e=l(t.components);return i.createElement(c.Provider,{value:e},t.children)},m={inlineCode:"code",wrapper:function(t){var e=t.children;return i.createElement(i.Fragment,{},e)}},h=i.forwardRef((function(t,e){var o=t.components,s=t.mdxType,a=t.originalType,c=t.parentName,d=r(t,["components","mdxType","originalType","parentName"]),h=l(o),p=s,f=h["".concat(c,".").concat(p)]||h[p]||m[p]||a;return o?i.createElement(f,n(n({ref:e},d),{},{components:o})):i.createElement(f,n({ref:e},d))}));function p(t,e){var o=arguments,s=e&&e.mdxType;if("string"==typeof t||s){var a=o.length,n=new Array(a);n[0]=h;var r={};for(var c in e)hasOwnProperty.call(e,c)&&(r[c]=e[c]);r.originalType=t,r.mdxType="string"==typeof t?t:s,n[1]=r;for(var l=2;l=0||(s[o]=t[o]);return s}(t,e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(t,o)&&(s[o]=t[o])}return s}var c=i.createContext({}),l=function(t){var e=i.useContext(c),o=e;return t&&(o="function"==typeof t?t(e):n(n({},e),t)),o},d=function(t){var e=l(t.components);return i.createElement(c.Provider,{value:e},t.children)},m={inlineCode:"code",wrapper:function(t){var e=t.children;return i.createElement(i.Fragment,{},e)}},h=i.forwardRef((function(t,e){var o=t.components,s=t.mdxType,a=t.originalType,c=t.parentName,d=r(t,["components","mdxType","originalType","parentName"]),h=l(o),p=s,f=h["".concat(c,".").concat(p)]||h[p]||m[p]||a;return o?i.createElement(f,n(n({ref:e},d),{},{components:o})):i.createElement(f,n({ref:e},d))}));function p(t,e){var o=arguments,s=e&&e.mdxType;if("string"==typeof t||s){var a=o.length,n=new Array(a);n[0]=h;var r={};for(var c in e)hasOwnProperty.call(e,c)&&(r[c]=e[c]);r.originalType=t,r.mdxType="string"==typeof t?t:s,n[1]=r;for(var l=2;l=0||(o[r]=t[r]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}var c=n.createContext({}),u=function(t){var e=n.useContext(c),r=e;return t&&(r="function"==typeof t?t(e):a(a({},e),t)),r},l=function(t){var e=u(t.components);return n.createElement(c.Provider,{value:e},t.children)},p={inlineCode:"code",wrapper:function(t){var e=t.children;return n.createElement(n.Fragment,{},e)}},d=n.forwardRef((function(t,e){var r=t.components,o=t.mdxType,i=t.originalType,c=t.parentName,l=s(t,["components","mdxType","originalType","parentName"]),d=u(r),f=o,b=d["".concat(c,".").concat(f)]||d[f]||p[f]||i;return r?n.createElement(b,a(a({ref:e},l),{},{components:r})):n.createElement(b,a({ref:e},l))}));function f(t,e){var r=arguments,o=e&&e.mdxType;if("string"==typeof t||o){var i=r.length,a=new Array(i);a[0]=d;var s={};for(var c in e)hasOwnProperty.call(e,c)&&(s[c]=e[c]);s.originalType=t,s.mdxType="string"==typeof t?t:o,a[1]=s;for(var u=2;u=0||(o[r]=t[r]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}var c=n.createContext({}),u=function(t){var e=n.useContext(c),r=e;return t&&(r="function"==typeof t?t(e):a(a({},e),t)),r},l=function(t){var e=u(t.components);return n.createElement(c.Provider,{value:e},t.children)},p={inlineCode:"code",wrapper:function(t){var e=t.children;return n.createElement(n.Fragment,{},e)}},d=n.forwardRef((function(t,e){var r=t.components,o=t.mdxType,i=t.originalType,c=t.parentName,l=s(t,["components","mdxType","originalType","parentName"]),d=u(r),f=o,b=d["".concat(c,".").concat(f)]||d[f]||p[f]||i;return r?n.createElement(b,a(a({ref:e},l),{},{components:r})):n.createElement(b,a({ref:e},l))}));function f(t,e){var r=arguments,o=e&&e.mdxType;if("string"==typeof t||o){var i=r.length,a=new Array(i);a[0]=d;var s={};for(var c in e)hasOwnProperty.call(e,c)&&(s[c]=e[c]);s.originalType=t,s.mdxType="string"==typeof t?t:o,a[1]=s;for(var u=2;u=b)&&Object.keys(n.O).every((function(e){return n.O[e](f[r])}))?f.splice(r--,1):(t=!1,b0&&e[i-1][2]>b;i--)e[i]=e[i-1];e[i]=[f,a,b]},n.n=function(e){var c=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(c,{a:c}),c},f=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},n.t=function(e,a){if(1&a&&(e=this(e)),8&a)return e;if("object"==typeof e&&e){if(4&a&&e.__esModule)return e;if(16&a&&"function"==typeof e.then)return e}var b=Object.create(null);n.r(b);var d={};c=c||[null,f({}),f([]),f(f)];for(var t=2&a&&e;"object"==typeof t&&!~c.indexOf(t);t=f(t))Object.getOwnPropertyNames(t).forEach((function(c){d[c]=function(){return e[c]}}));return d.default=function(){return e},n.d(b,d),b},n.d=function(e,c){for(var f in c)n.o(c,f)&&!n.o(e,f)&&Object.defineProperty(e,f,{enumerable:!0,get:c[f]})},n.f={},n.e=function(e){return Promise.all(Object.keys(n.f).reduce((function(c,f){return n.f[f](e,c),c}),[]))},n.u=function(e){return"assets/js/"+({53:"935f2afb",328:"65f59a55",612:"a976b482",812:"0d70a313",879:"e0b00178",925:"b5976878",991:"67283e50",1062:"2f0ec223",1277:"0243614c",1351:"358bfd91",1374:"b9e2db8f",1408:"db749810",1437:"83d6452b",1480:"073edd59",1482:"f24909cd",1495:"feb0a068",1521:"6b1e0334",1536:"1437a887",1576:"41daa8b4",1789:"79248420",1895:"efbcea9d",1955:"9976dba8",2040:"c2c4426a",2120:"9f5dc2b0",2166:"ade96904",2174:"0b1184e8",2184:"c0bb789b",2214:"f8438414",2290:"f5824b3c",2352:"5395b836",2468:"73517f78",2595:"07990011",2766:"4cd795c8",2879:"8cadb544",2904:"37bf8d6e",2907:"c5a98701",2938:"68543202",2943:"c5f202a2",2999:"f27e77df",3107:"d061ed1e",3214:"6db347e8",3271:"e963bf71",3360:"b1f7a5f8",3379:"dca8ef5b",3504:"5ea46faf",3519:"49f969b0",3658:"85bdfa30",3743:"e129cf3c",3943:"33cdb9e8",3965:"cf9aab87",3991:"83bd4574",4054:"b139d961",4060:"3bc993c5",4069:"bcb93ad0",4117:"ee5834a7",4172:"5003321a",4193:"2ff88f8b",4195:"c4f5d8e4",4207:"5049cc12",4436:"8602ac2f",4510:"17aedecb",4658:"75cbb1e6",4988:"73053340",5107:"9956d717",5260:"a7c030b4",5316:"530622a1",5328:"03b39aaa",5418:"b09e837d",5446:"d58fc793",5505:"d71eb2ae",5516:"4e095fca",5587:"4cbfba96",6063:"2ea3555a",6098:"afb8980b",6122:"79495b8c",6135:"0cdee2ba",6202:"a11550d3",6211:"797e5329",6214:"6082c6f3",6551:"233866fe",6571:"b0474474",6752:"5f28d73f",6854:"042aab58",6903:"d9735dd1",7053:"e58d15ee",7082:"156e271d",7142:"de8bc3ad",7211:"e6a4b882",7247:"9136c9f6",7485:"cfcdc3ca",7513:"dd8f50c9",7523:"205d9948",7711:"8677fb48",7773:"5afb2393",7918:"17896441",8113:"bc9a9474",8136:"0b24ef70",8260:"fd7be43f",8366:"d791b17e",8421:"23374ca6",8488:"e8dcf8cf",8572:"bf59d308",8675:"9a3eaf08",8948:"7567abf2",8994:"e768272c",9286:"bb7c9df2",9359:"d8ee5cce",9381:"5a2bb67b",9446:"0fbf73e8",9514:"1be78505",9545:"1a4b7b7c",9603:"d1ce265f",9617:"9fed84d8",9825:"eaf68872",9901:"1ebbe01d",9975:"cc3066cf"}[e]||e)+"."+{53:"b2b58311",328:"cbcff516",612:"641a9787",812:"44de2d5e",879:"8874c99d",925:"2d4d2dec",991:"1d8209e2",1062:"1910b685",1277:"03945314",1351:"45077632",1374:"fdc8e2ca",1408:"ab942a25",1437:"e59eb517",1480:"7db32983",1482:"7d32b333",1495:"4d5a086a",1521:"90e7bd80",1536:"956edbf7",1576:"5dff5f51",1789:"6cb1da53",1895:"d68f21af",1955:"6da867e4",2040:"ddf24c51",2120:"737c14e1",2166:"c7258b8b",2174:"7fc099d6",2184:"08d6c501",2214:"448ae32d",2290:"d09e1af3",2352:"9cacc837",2468:"7b60a7b3",2595:"4d1fdfdc",2766:"ba756789",2879:"5fd23d52",2904:"e07494dd",2907:"abee4047",2938:"0c391aec",2943:"e119f5ce",2999:"d9915e2a",3107:"45f41d3c",3214:"4250651e",3271:"5f428065",3360:"3ea41a1c",3379:"49cceef2",3504:"7fd7b6f1",3519:"a527c72d",3658:"02bc3b4f",3743:"db09842d",3943:"17d97ae6",3965:"01ebc659",3991:"715e9a1d",4054:"57d412f3",4060:"c1dfa83b",4069:"c55b5bd0",4117:"ed37d9ba",4172:"aeecb66b",4193:"0e113c5a",4195:"6165fc87",4207:"b23d954d",4436:"030252d6",4510:"f025c094",4658:"a7181de6",4972:"867f29b5",4988:"59c0fb7c",5107:"724dd3a8",5260:"de449a9b",5316:"a4cc0eaf",5328:"7d5a8360",5418:"adf0a9a7",5446:"3e72fa42",5505:"80fbee7a",5516:"d3d68e90",5587:"8b845f31",6063:"ccfbc22e",6098:"2e6fddcb",6122:"7b403f0b",6135:"60d32893",6202:"e4e4e496",6211:"c42ebc07",6214:"7c82eebd",6551:"dfe1a860",6571:"e825b99e",6752:"47f8d601",6854:"8188c0df",6903:"d3d5fed5",7053:"96a436e5",7082:"4c4814a3",7142:"0ef68a3a",7211:"4ba32ce7",7247:"418ee0a9",7485:"50935e28",7513:"51d6fefd",7523:"b0452e40",7711:"2c852c28",7773:"8c6971c3",7918:"0a968261",8113:"30e896af",8136:"f760e3e8",8260:"7920d759",8366:"0444d61d",8421:"8f01ae36",8488:"9679b79c",8572:"fb4e69ce",8675:"598e6b63",8948:"b28dcc17",8994:"2e505671",9286:"cf4a0199",9359:"74a27094",9381:"ff64bea3",9446:"b1b3bfa2",9514:"a0285027",9545:"35ef18c3",9603:"e2a5663c",9617:"973ec8ba",9825:"618a38ed",9901:"a1f51957",9975:"3581c2a4"}[e]+".js"},n.miniCssF=function(e){},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.o=function(e,c){return Object.prototype.hasOwnProperty.call(e,c)},a={},b="tev2-specifications:",n.l=function(e,c,f,d){if(a[e])a[e].push(c);else{var t,r;if(void 0!==f)for(var o=document.getElementsByTagName("script"),i=0;i=b)&&Object.keys(n.O).every((function(e){return n.O[e](c[r])}))?c.splice(r--,1):(t=!1,b0&&e[i-1][2]>b;i--)e[i]=e[i-1];e[i]=[c,a,b]},n.n=function(e){var f=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(f,{a:f}),f},c=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},n.t=function(e,a){if(1&a&&(e=this(e)),8&a)return e;if("object"==typeof e&&e){if(4&a&&e.__esModule)return e;if(16&a&&"function"==typeof e.then)return e}var b=Object.create(null);n.r(b);var d={};f=f||[null,c({}),c([]),c(c)];for(var t=2&a&&e;"object"==typeof t&&!~f.indexOf(t);t=c(t))Object.getOwnPropertyNames(t).forEach((function(f){d[f]=function(){return e[f]}}));return d.default=function(){return e},n.d(b,d),b},n.d=function(e,f){for(var c in f)n.o(f,c)&&!n.o(e,c)&&Object.defineProperty(e,c,{enumerable:!0,get:f[c]})},n.f={},n.e=function(e){return Promise.all(Object.keys(n.f).reduce((function(f,c){return n.f[c](e,f),f}),[]))},n.u=function(e){return"assets/js/"+({53:"935f2afb",328:"65f59a55",612:"a976b482",812:"0d70a313",879:"e0b00178",925:"b5976878",991:"67283e50",1062:"2f0ec223",1277:"0243614c",1351:"358bfd91",1374:"b9e2db8f",1408:"db749810",1437:"83d6452b",1480:"073edd59",1482:"f24909cd",1495:"feb0a068",1521:"6b1e0334",1536:"1437a887",1576:"41daa8b4",1789:"79248420",1895:"efbcea9d",1955:"9976dba8",2040:"c2c4426a",2120:"9f5dc2b0",2166:"ade96904",2174:"0b1184e8",2184:"c0bb789b",2214:"f8438414",2290:"f5824b3c",2352:"5395b836",2468:"73517f78",2595:"07990011",2766:"4cd795c8",2879:"8cadb544",2904:"37bf8d6e",2907:"c5a98701",2938:"68543202",2943:"c5f202a2",2999:"f27e77df",3107:"d061ed1e",3214:"6db347e8",3271:"e963bf71",3360:"b1f7a5f8",3379:"dca8ef5b",3504:"5ea46faf",3519:"49f969b0",3658:"85bdfa30",3743:"e129cf3c",3943:"33cdb9e8",3965:"cf9aab87",3991:"83bd4574",4054:"b139d961",4060:"3bc993c5",4069:"bcb93ad0",4117:"ee5834a7",4172:"5003321a",4193:"2ff88f8b",4195:"c4f5d8e4",4207:"5049cc12",4436:"8602ac2f",4510:"17aedecb",4658:"75cbb1e6",4988:"73053340",5107:"9956d717",5260:"a7c030b4",5316:"530622a1",5328:"03b39aaa",5418:"b09e837d",5446:"d58fc793",5505:"d71eb2ae",5516:"4e095fca",5587:"4cbfba96",6063:"2ea3555a",6098:"afb8980b",6122:"79495b8c",6135:"0cdee2ba",6202:"a11550d3",6211:"797e5329",6214:"6082c6f3",6551:"233866fe",6571:"b0474474",6752:"5f28d73f",6854:"042aab58",6903:"d9735dd1",7053:"e58d15ee",7082:"156e271d",7142:"de8bc3ad",7211:"e6a4b882",7247:"9136c9f6",7485:"cfcdc3ca",7513:"dd8f50c9",7523:"205d9948",7711:"8677fb48",7773:"5afb2393",7918:"17896441",8113:"bc9a9474",8136:"0b24ef70",8260:"fd7be43f",8366:"d791b17e",8421:"23374ca6",8488:"e8dcf8cf",8572:"bf59d308",8675:"9a3eaf08",8948:"7567abf2",8994:"e768272c",9286:"bb7c9df2",9359:"d8ee5cce",9381:"5a2bb67b",9446:"0fbf73e8",9514:"1be78505",9545:"1a4b7b7c",9603:"d1ce265f",9617:"9fed84d8",9825:"eaf68872",9901:"1ebbe01d",9975:"cc3066cf"}[e]||e)+"."+{53:"b2b58311",328:"0b85edc5",612:"e7343da6",812:"927d0d8a",879:"76662bc8",925:"c1db299a",991:"97e73932",1062:"bc23a38e",1277:"b986d46a",1351:"d09687d3",1374:"5f6720bc",1408:"def56bf4",1437:"1f1f6f09",1480:"316cfc7f",1482:"1b28cfc6",1495:"32f3c41b",1521:"6b631907",1536:"c33ea8e8",1576:"3bd711b4",1789:"57770bc0",1895:"f91326a3",1955:"7e79accf",2040:"54516739",2120:"1baadf0f",2166:"7d1c31c7",2174:"29956f59",2184:"1276b3e2",2214:"50873d6c",2290:"b0968e51",2352:"6c16e1d7",2468:"5c8532e7",2595:"82b3a038",2766:"c3c03f5d",2879:"4d62c92a",2904:"4806c8f7",2907:"e45c52fa",2938:"6bcdc935",2943:"f35e6c2d",2999:"8bda797a",3107:"e37b17d0",3214:"d359ed75",3271:"7f855e20",3360:"e6daacc3",3379:"4903eb80",3504:"8311201a",3519:"4e7d585f",3658:"1c2abcf3",3743:"70977cd7",3943:"17d97ae6",3965:"7af84db4",3991:"89be69af",4054:"b2416eb5",4060:"0be8b7b8",4069:"3037b3bf",4117:"c9e91f41",4172:"c86a6ae5",4193:"2268b51f",4195:"6165fc87",4207:"b1385bdb",4436:"8af96e47",4510:"13656dbd",4658:"f3768004",4972:"867f29b5",4988:"9d65ffaa",5107:"cd7b8bc8",5260:"c82874a1",5316:"0953c061",5328:"9b50d0fe",5418:"56851b60",5446:"819ea2ba",5505:"448316a9",5516:"5a0ee3f6",5587:"8b845f31",6063:"b81f4e2e",6098:"30ae4db1",6122:"0936b735",6135:"1411e836",6202:"87d45ecc",6211:"9ebaa203",6214:"cde8cd92",6551:"2d963477",6571:"4eaed154",6752:"77b77edd",6854:"006b11d4",6903:"f649303c",7053:"8257dfac",7082:"495a9d99",7142:"9677baa7",7211:"04e409f4",7247:"13af3e79",7485:"06249cb5",7513:"8a72463f",7523:"f842ebb6",7711:"bb71783d",7773:"cecf86b3",7918:"0a968261",8113:"23a4310e",8136:"1a79e897",8260:"6e7afea3",8366:"80cdd871",8421:"7f75b21e",8488:"e3179d37",8572:"ccc03bbd",8675:"f6fcae0f",8948:"2beddb00",8994:"fd2d00f0",9286:"dbfc6cc6",9359:"1d2872fa",9381:"49375acb",9446:"7ec5a224",9514:"a0285027",9545:"2e2b4ec6",9603:"ec52d506",9617:"50dba6ed",9825:"a33d7f95",9901:"1de7aaaf",9975:"1e6a1c9d"}[e]+".js"},n.miniCssF=function(e){},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.o=function(e,f){return Object.prototype.hasOwnProperty.call(e,f)},a={},b="tev2-specifications:",n.l=function(e,f,c,d){if(a[e])a[e].push(f);else{var t,r;if(void 0!==c)for(var o=document.getElementsByTagName("script"),i=0;i Contributing to TEv2 Tools | TNO Terminology Design - +
-

Contributing to TEv2 Tools

Editor's note

This documentation is based on the ToIP TT-Tools Proposal memo, which we currently keep as a reference.

The 'Terminology Engine v2 (TEv2)' consists of two parts:

  1. The Terminology Toolbox is a set of (extendable) command-line tools that can be used for generic purposes, such as resolving TermReferences, and creating glossaries.
  2. The use of these, and other tools (in our case: Docusaurus, and github CI/CD), for facilitating the curation of terminologies by terms communities.

We are seeking parties that can contribute to the development of these (extendable) command-line tools, and do so in close collaboration with the eSSIF-Lab consortium. Please express your interest as an issue in the eSSIF-Lab repo.

- + \ No newline at end of file diff --git a/docs/manuals/contributor/contributor-overview/index.html b/docs/manuals/contributor/contributor-overview/index.html index fb101a496c..a435fca782 100644 --- a/docs/manuals/contributor/contributor-overview/index.html +++ b/docs/manuals/contributor/contributor-overview/index.html @@ -4,13 +4,13 @@ Contributors Manual - Overview | TNO Terminology Design - +

Contributors Manual - Overview

This page is under construction

caution

The entire section on Terminology Engine v 2 (TEv2) is still under construction.
-As TEv2 is not (yet) available, the texts that specify the tool are still 'raw', i.e. not yet processed.
readers will need to see through some (currently unprocessed) notational conventions.

One purpose of the Terminology Engine (v2) is to provide terminological support for people that author documentation, specifications, whitepapers, articles and the like. This document provides guidance for contributors to make use of that support.

- + \ No newline at end of file diff --git a/docs/manuals/contributor/contributors-LaTeX/index.html b/docs/manuals/contributor/contributors-LaTeX/index.html index 6693609ae0..435dbbb349 100644 --- a/docs/manuals/contributor/contributors-LaTeX/index.html +++ b/docs/manuals/contributor/contributors-LaTeX/index.html @@ -4,13 +4,13 @@ Using LaTeX source texts | TNO Terminology Design - +

Using LaTeX source texts

This page is under construction

caution

The entire section on Terminology Engine v 2 (TEv2) is still under construction.
-As TEv2 is not (yet) available, the texts that specify the tool are still 'raw', i.e. not yet processed.
readers will need to see through some (currently unprocessed) notational conventions.

Editor's note:

Text needs to be drafted to work out the idea that LaTeX is a raw text that can be highly configured. For starters, it would be helpful if LaTeX authors could

  • specify TermRefs in their documents, and
  • specify a location where a glossary could be inserted.

This hasn't been worked out. We may need to specify one or two LaTeX Macros, and some specific plugins for the TRRT and HRGT may need to be created.

- + \ No newline at end of file diff --git a/docs/manuals/contributor/contributors-repo/index.html b/docs/manuals/contributor/contributors-repo/index.html index ae7c6586c3..3cdf3a705c 100644 --- a/docs/manuals/contributor/contributors-repo/index.html +++ b/docs/manuals/contributor/contributors-repo/index.html @@ -4,13 +4,13 @@ Using Markdown files in a Git Repo | TNO Terminology Design - +

Using Markdown files in a Git Repo

This page is under construction

caution

The entire section on Terminology Engine v 2 (TEv2) is still under construction.
-As TEv2 is not (yet) available, the texts that specify the tool are still 'raw', i.e. not yet processed.
readers will need to see through some (currently unprocessed) notational conventions.

One way in which curators may decide that users can contribute, is by enabling them to create pull requests to the repository that contains the scope's corpus. The curators SHOULD specify the procedures, the code of conduct, etc. that support and enable the maturing of these texts, and how it is decided that such texts can become part of the scope's corpus. That's outside the scope of this document.

Users contributions

From the TEv2 perspective, users contribute by creating and changing the markdown pages that describe the various knowledge artifacts, such as concepts , use-cases, mental models, etc.

A user can use TermRefs to mark the terms that it wants to be linked to a specific meaning (knowledge artifact).

Curators tasks

Editor's note:

Text has to be provided here

- + \ No newline at end of file diff --git a/docs/manuals/contributor/contributors-wiki/index.html b/docs/manuals/contributor/contributors-wiki/index.html index 6be1043469..62a69de39a 100644 --- a/docs/manuals/contributor/contributors-wiki/index.html +++ b/docs/manuals/contributor/contributors-wiki/index.html @@ -4,14 +4,14 @@ Using Wikis | TNO Terminology Design - +

Using Wikis

This page is under construction

caution

The entire section on Terminology Engine v 2 (TEv2) is still under construction.
As TEv2 is not (yet) available, the texts that specify the tool are still 'raw', i.e. not yet processed.
readers will need to see through some (currently unprocessed) notational conventions.

One way in which curators may decide that users can contribute, is by providing a wiki that the users are encouraged to edit, discuss, and evolve to a level of maturity that warrants the text to be ingested into the scope's corpus. The curators SHOULD specify the procedures, the code of conduct, etc. that support and enable the maturing of these texts, and how it is decided that such texts can become part of the scope's corpus. That's outside the scope of this document.

Users contributions

From the TEv2 perspective, users may contribute by creating or editing wiki-pages for a specific knowledge artifact. The curators would typically already have various wiki-pages, each of which serves as a template for e.g. the definition of a concept or term, a use-case, a mental model, or any other kind of knowledge artifact that is relevant within the scope.

A user can take the template, and follow the associated instructions (e.g. provide content for the various sections). That's basically it.

A user can use TermRefs to mark the terms that it wants to be linked to a specific meaning (knowledge artifact).

Curators tasks

Curators that have decided to use a [wiki](https://en.wikipedia.org/wiki/Wiki) as a means for users to contribute to the development of it's scope's corpus, should do the following:
  1. If you do not already have one, create a git account.

  2. Create a (git) repository, either a brand new one, or from a template.

Editor's note:

Additional steps need to be written here. -The idea is

  1. (etc.)
- + \ No newline at end of file diff --git a/docs/manuals/curator/curator-overview/index.html b/docs/manuals/curator/curator-overview/index.html index 795a4a3649..6f9618d25e 100644 --- a/docs/manuals/curator/curator-overview/index.html +++ b/docs/manuals/curator/curator-overview/index.html @@ -4,13 +4,13 @@ Curators Manual - Overview | TNO Terminology Design - +

Curators Manual - Overview

This page is under construction

caution

The entire section on Terminology Engine v 2 (TEv2) is still under construction.
-As TEv2 is not (yet) available, the texts that specify the tool are still 'raw', i.e. not yet processed.
readers will need to see through some (currently unprocessed) notational conventions.

The Terminology Engine (v2) is a set of specifications and tools that caters for the creation and maintenance (i.e. curation) of terminologies, as well as for its subsequent use in publications of different types (e.g. websites, whitepapers) and formats (e.g. html, LaTeX), as appropriate for different, individual scopes.

The task of curators is to create/maintain the scope directory that they are tasked to curate. This Curators Manual is intended to help them do this.

Editor's note

This section needs to be revised from here onward

TEv2 assumes that the curated data resides in an existing scope directory, and that curated files are expected to be processable by other tools, including, but not limited to github pages or Docusaurus, which are static site generators for web sites that document all sorts of guidance, specifications, etc. Such a scope directory must be set up in advance.

Thus, whenever a terms-community decided that some contribution is to be included in the part of the corpus that is maintained by that community, the curators of that community are tasked to

  1. create/maintain/update any scope-related administration in the scope directory that is needed for curation, as specified by a Scope Administration File (SAF);
  2. convert that contribution to (a set of) curated files, that comply with the specifications for such files;
  3. store them at the location as designated in the SAF;
  4. generate/update any artifact that the community wants to automatically maintain, which in particular includes the MRG and associated HRG.

This document provides an overview of the knowledge that curators may need to perform this task, which can be broken up in the following parts:

  1. Setup/installation of a scope directory that is suitable for working with TEv2, and the creation of a SAF.

  2. Curation of terminological contributions. This requires knowledge about the [file structure](/docs/spec-files/ctext) of curated file.
  3. generation of curated texts. It is typical for a terms community to want to have a glossary of the terms they either have defined themselves, or are defined elsewhere but are to be used within that community. However, other artifacts may be generated as well (a dictionary, white papers, etc.) - this is all up to the community.

- + \ No newline at end of file diff --git a/docs/manuals/curator/tev2-installation/index.html b/docs/manuals/curator/tev2-installation/index.html index a5eb5ec727..e3aeb6e8eb 100644 --- a/docs/manuals/curator/tev2-installation/index.html +++ b/docs/manuals/curator/tev2-installation/index.html @@ -4,13 +4,13 @@ Installation | TNO Terminology Design - +

Installation

This page is under construction

caution

The entire section on Terminology Engine v 2 (TEv2) is still under construction.
-As TEv2 is not (yet) available, the texts that specify the tool are still 'raw', i.e. not yet processed.
readers will need to see through some (currently unprocessed) notational conventions.

caution

This section on 'Installation' can really be written only after the rest is complete. The contents of this page is just a set of ideas that may well have been deprecated already.

Editor's note

This page should only document the generic stuff. Any installation details that are specific to a tool SHOULD be documented in the page(s) that document the particular tool. Obviously, this page could mention the tools for which that is the case, and link to the associated sections.

TEv2 is a tool for curating terminology-related data from the perspective of a single scope. Installation comprises

Structure of Scope Directories

Depending on the other tooling that is going to be used, a scope directory has to be specified that is part of the (online) directory in which the terminology has to be used. The scope's scope administration file (SAF) specifies whatever needs to be administered for that scope; this file is maintained by the curators of the scope (using a regular text editor).

Curators must also specify a location (directory) within the scope directory where glossaries will be located. This directory, which is called the glossary directory or glossarydir is located within the scopedir, and contains all glossaries that are generated by and/or needed within the scope - as well as perhaps some other stuff.

Integrating Scope Directories and the ToIP Terminology Toolbox

Editor's Note

Content to be produced

Integrating Scope Directories and Third Party Rendering Tools

Knowledge artifacts are intended to also be used by/within third party rendering tools, such as [github pages](https://pages.github.com/), [Docusaurus](https://docusaurus.io/docs/docs-introduction), or LaTeX
Editor's Note

Content to be produced

caution

This section on 'Installation' can really be written only after the rest is complete. The contents of this page is just a set of ideas that may well have been deprecated already.

Editor's note

This page should only document the generic stuff. Any installation details that are specific to a tool SHOULD be documented in the page(s) that document the particular tool. Obviously, this page could mention the tools for which that is the case, and link to the associated sections.

TEv2 is a tool for curating terminology-related data from the perspective of a single scope. Installation comprises

Structure of Scope Directories

Depending on the other tooling that is going to be used, a scope directory has to be specified that is part of the (online) directory in which the terminology has to be used. The scope's scope administration file (SAF) specifies whatever needs to be administered for that scope; this file is maintained by the curators of the scope (using a regular text editor).

Curators must also specify a location (directory) within the scope directory where glossaries will be located. This directory, which is called the glossary directory or glossarydir is located within the scopedir, and contains all glossaries that are generated by and/or needed within the scope - as well as perhaps some other stuff.

Integrating Scope Directories and the ToIP Terminology Toolbox

Editor's Note

Content to be produced

Integrating Scope Directories and Third Party Rendering Tools

Knowledge artifacts are intended to also be used by/within third party rendering tools, such as [github pages](https://pages.github.com/), [Docusaurus](https://docusaurus.io/docs/docs-introduction), or LaTeX
Editor's Note

Content to be produced

- + \ No newline at end of file diff --git a/docs/manuals/man-overview/index.html b/docs/manuals/man-overview/index.html index fe0683c99a..358736ea50 100644 --- a/docs/manuals/man-overview/index.html +++ b/docs/manuals/man-overview/index.html @@ -4,13 +4,13 @@ Manuals | TNO Terminology Design - +

Manuals

caution

The entire section on Terminology Engine v 2 (TEv2) is still under construction.
-As TEv2 is not (yet) available, the texts that specify the tool are still 'raw', i.e. not yet processed.
readers will need to see through some (currently unprocessed) notational conventions.

Individual people may participate in any of the following roles:

Each role requires specific capabilities. They are summarized in the following sections:

Contributors

Contributors provide inputs that are relevant for the construction, further development and maintenance of a terminology. They participate in discussions and other ways in which a collaborative and common understanding within the community (e.g. a Work Group, Task Force, Project Team) is fostered. How such contributions are to be provided, and how the collaborative and common understanding is fostered, is up to the community leadership.

Contributors can also be tasked to check/proofread authored documents to ensure that references to terms and/or other knowledge artifacts are correct, i.e.: as intended by the author, and understandable by readers.

Finally, contributors may identify any specific needs or mechanisms that help them do the aforementioned tasks, and communicate these needs to their curators, or otherwise contribute to the further development of TEv2 so that such needs and mechanisms may be supported.

The Manual for Contributors documents how the TEv2 supports this role.

Curators

Curators (i.e. the members of a so-called terms community) manage the (contents of the) scope(s) on behalf of the community (whose knowledge artifacts are being documented within that scope). Curators may serve (i.e.: curate the scopes) of multiple communities.

A curator is tasked with describing the scope particulars, curating its curated texts, generating the various glossaries (MRGs and HRGs), dictionaries (if and when necessary and possible), and other tangible, 'rendered artifacts' (e.g. static websites, PDFs, whitepapers) as agreed with the community.

Also, curators are expected to specify the processes that enable contributors and authors to contribute to the contents of the scope (e.g. by providing suggestions for texts, discussing them, etc.), specifically any conditions/requriements that they have to be aware of and take into account, and that are needed to enable the curators to do their job.

The Manual for Curators documents how the TEv2 supports this role.

Authors

Authors create and maintain documents (e.g. articles, specifications, curated texts and other documentation). Their primary task/responsibility with a community is to provide actual content for these documents, without having to bother about the 'details' like layout, how it is all rendered (processed to produce human readable artifacts such as static websites, PDFs, whitepapers etc. Authors are provided the means to mark-up terms in their texts with a easy to type reference to its meaning/definition, the effect of which becomes apparent in the rendered artifacts created from that text. These effects, such as popups (in a static website) that show the definition of the term used, or an automatically generated glossary that can be used as an appendix in a paper, makes it easier for readers to understand what the author means to convey with the texts (s)he has written.Authors may also identify any specific needs or mechanisms that help them do the aforementioned tasks, and communicate these needs to their curators, or otherwise contribute to the further development of TEv2 so that such needs and mechanisms may be supported.

The Manual for Authors documents how the TEv2 supports this role.

Individual people may participate in any of the following roles:

Each role requires specific capabilities. They are summarized in the following sections:

Contributors

Contributors provide inputs that are relevant for the construction, further development and maintenance of a terminology. They participate in discussions and other ways in which a collaborative and common understanding within the community (e.g. a Work Group, Task Force, Project Team) is fostered. How such contributions are to be provided, and how the collaborative and common understanding is fostered, is up to the community leadership.

Contributors can also be tasked to check/proofread authored documents to ensure that references to terms and/or other knowledge artifacts are correct, i.e.: as intended by the author, and understandable by readers.

Finally, contributors may identify any specific needs or mechanisms that help them do the aforementioned tasks, and communicate these needs to their curators, or otherwise contribute to the further development of TEv2 so that such needs and mechanisms may be supported.

The Manual for Contributors documents how the TEv2 supports this role.

Curators

Curators (i.e. the members of a so-called terms community) manage the (contents of the) scope(s) on behalf of the community (whose knowledge artifacts are being documented within that scope). Curators may serve (i.e.: curate the scopes) of multiple communities.

A curator is tasked with describing the scope particulars, curating its curated texts, generating the various glossaries (MRGs and HRGs), dictionaries (if and when necessary and possible), and other tangible, 'rendered artifacts' (e.g. static websites, PDFs, whitepapers) as agreed with the community.

Also, curators are expected to specify the processes that enable contributors and authors to contribute to the contents of the scope (e.g. by providing suggestions for texts, discussing them, etc.), specifically any conditions/requriements that they have to be aware of and take into account, and that are needed to enable the curators to do their job.

The Manual for Curators documents how the TEv2 supports this role.

Authors

Authors create and maintain documents (e.g. articles, specifications, curated texts and other documentation). Their primary task/responsibility with a community is to provide actual content for these documents, without having to bother about the 'details' like layout, how it is all rendered (processed to produce human readable artifacts such as static websites, PDFs, whitepapers etc. Authors are provided the means to mark-up terms in their texts with a easy to type reference to its meaning/definition, the effect of which becomes apparent in the rendered artifacts created from that text. These effects, such as popups (in a static website) that show the definition of the term used, or an automatically generated glossary that can be used as an appendix in a paper, makes it easier for readers to understand what the author means to convey with the texts (s)he has written.Authors may also identify any specific needs or mechanisms that help them do the aforementioned tasks, and communicate these needs to their curators, or otherwise contribute to the further development of TEv2 so that such needs and mechanisms may be supported.

The Manual for Authors documents how the TEv2 supports this role.

- + \ No newline at end of file diff --git a/docs/miscellaneous/tool-development/index.html b/docs/miscellaneous/tool-development/index.html index 183c24e5e8..4aaf86dd56 100644 --- a/docs/miscellaneous/tool-development/index.html +++ b/docs/miscellaneous/tool-development/index.html @@ -4,12 +4,12 @@ Tool Development | TNO Terminology Design - +
-

Tool Development

This page intends to provide (lots of pointers to) information that people may need in order to decide whether or not to contribute to the construction of the Terminology Engine v2 (TEv2) toolbox, and if so, determine where to help out.

What it is about

At the core of TEv2 is text conversion: every tool in the toolbox takes one or more input files, does some textual processing, and produces outputs. The basic conversion pattern that individual tools are expected to follow ensures that they can be easily extended, e.g., to operate on different input formats, or to produce alternative output formats.

There are various things that make the further development of TEv2 challenging:

  1. the interop between individual tools: outputs of one tool must be fit for processing by another tool (which may include existing third party tools, such as static website generators), as described in the TEv2 Architecture.

  2. designing actual tools such that they can be easily extended (also by others) to accept different input formats, and/or produce different output formats, as described in the text conversion steps pattern

  3. designing tools such that they can be easily used in different contexts (e.g. whether or not to dockerize a tool)

  4. collaborating with other people that work on the tools such that the coherence and consistent working of tools that different people develop is guaranteed. We may need to better organize this.

  5. making the tools automatically testable, e.g. by running test suites as part of the CI/CD street we envisage that tools would have.

  6. making the tools easy to integrate in CI/CD streets or other strategies that projects or working groups use to publish their documentation and whitepapers.

  7. for certain tools: making them easy to use in authoring processes, e.g. by enabling them to be used in real-time authoring processes (authors that type texts can immediately see, e.g. in a browser, what the effects are of what they have typed).

  8. Specifications may not exist, or need modification, which may impact other tools as well.

  9. Tools should not use unnecessary resources (processing time, memory).

  10. ... (there are likely to be other challenges)

Pointers to what you need to know

In order to appreciate and come to grips with these challenges, it will definitely help if you read up on some more backgrounds of what we try to do. Here are some pointers:

Tooling status as of ...

For the date of the tooling status, see the "last updated on" text at the bottom right on this page

Under development

High priority

  • ingress tools that convert wiki-files (and perhaps some other formats) into curated texts;
  • HRGT, so that we can actually generate human-readable glossaries. For this tool, specifications need to be further drafted (and agreed on).

Medium priority:

  • ICT, which allows for integrity checking. The current specifications are outdated and first need to be revised.

Lower priority:

  • extensions for the TRRT, and perhaps other tools, so that they can be used in ReSpec environments, such as often used for W3C standards.
  • MRDT and HRDT

Starting to contribute

If you are eager to contribute, then ping rieks . joosten <at> tno . nl, or attend a ToIP CTWG meeting, where you express your interest and/or questions, and we'll take it from there.