Protip: if you cannot make local cache from the GitHub repository or install the Python Pypy package hdp-toolchain the https://hdp.etica.ai/ontologia/ is an public end point.
When feasible, even if it make harder to do initial implementation or be a bit less efficient than use dedicated "advanced" strategies with state of the art tools, the internal parts of hxlm.core that deal with ontology will be stored in this folder.
This strategy is likely to make it easier for non-developers to update internals, like individuals interested in adding new languages or proposing corrections.
- Knowledge Graph and JSON Schemas
- Exchange Codes and terms
- URN resolver
- Platform dependent ontologies
- To Do's
Note: contents of ontologia/json/ are generated
from ontologia/ *.yml files with exception of
ontologia/hdp.json-schema.json
that is not yet automated
# Generate ontologia/json/core.vkg.json
yq < ontologia/core.vkg.yml > ontologia/json/core.vkg.json
# Generate ontologia/json/core.lkg.json
yq < ontologia/core.lkg.yml > ontologia/json/core.lkg.json
- JSON Schema Specification
- Using JSON Schemas to validate/help create HDP files
- VSCode YAML extension
- Note: other code editors are likely to have equivalent alternatives
TODO: explain more about it (Emerson Rocha, 2021-03 09:46 UTC)
- https://hdp.etica.ai/#HXLTM
- Ontologia:
- YAML: cor.hxltm.yml
- JSON: json/cor.hxltm.json
TODO: add also the macrolanguages mapping https://iso639-3.sil.org/sites/iso639-3/files/downloads/iso-639-3-macrolanguages.tab
TODO: we should both explain how to obtain these without use HDPLisp (Emerson Rocha, 2021-04-13 22:28 UTC)
The files on ontologia/iso
contain symlinks to generated resources that are
based on then already HXLated.
- Cached local file: iso/iso.639-3.hxl.csv
- Official/Recommended source from ISO organization:
- Search site: https://iso639-3.sil.org/
- Download tables: https://iso639-3.sil.org/code_tables/download_tables
TODO: work around how to get at least some subdivisions (Emerson Rocha, 2021-04-13 23:55 UTC)
- Cached local file: iso/iso.3166.hxl.csv
- Official/Recommended source from ISO organization:
¯\_(ツ)_/¯
- Alternatives to official/recommended source:
- Cached local file: iso/iso.15924.hxl.csv
- Live Updated version from HXL-Proxy
- Official/Recommended source from ISO organization:
- Home page: https://unicode.org/iso15924/
- Search online: https://unicode.org/iso15924/iso15924-codes.html
- Changes: https://unicode.org/iso15924/codechanges.html
- Download: https://unicode.org/iso15924/iso15924.txt
- Download: https://www.unicode.org/Public/UCD/latest/ucd/PropertyValueAliases.txt
- Alternatives to official/recommended source:
- Wikipedia: https://en.wikipedia.org/wiki/ISO_15924
When the command line util urnresolver
does not have a user customized
specified file, this is the loaded file.
Protip: even if you are not a python programmer, but is debugging some HXLm implementation (or want to undestand more how the objects are related) this folder can help you. This also means that feedback from advanced users that know other programming languages but do not know python could still be done focusing on this folder
While not as portable, the contents of this uses an specialized Python type of class called dataclasses. The non-buzzword meaning of this is the code on this folder is (or should be) more an representation on how data objects are manipulated, instead of being classes that actually change behavior. In theory they should more simple to port to other programming languages.
Note: at the moment (2021-04-01) there is no interest to implement non-portable underlining classes (at least form HXLm.core.HPD) on other languages like the HXL Standard (see https://github.com/HXLStandard and https://hxlstandard.org/developer-documentation/).
Recommendation: if over the years do exist interest in porting some features, one good approach would be use the part of the ontologies that are platform independent. Also different implementations would have different approaches and minimal viable products could work faster without need to implement a more object oriented approach.
While the idea behind the hxlm.core project is output production-ready toolchains (and, to make easier for localization, the number of core keywords and how they are used is keep as as minimalist as possible) do already exist other works, like the Perl Lingua::Romana::Perligata, that can at least help with usages for internal terms in Latin.
- https://en.wikipedia.org/wiki/Non-English-based_programming_languages
- This page have a lot of reference on non-english keyworkd based programming languages
- This one from Latin is very, very complex.