# TEF is ‹TOGoS's Entry File›, documented here: https://github.com/TOGoS/TEF =namespace http://ns.nuke24.net/ContentCouch/ project-homepage-url: https://github.com/TOGoS/ContentCouch/ Also uses: - http://purl.org/dc/terms/created - creation date, probably ISO-8601 formatted - http://purl.org/dc/terms/creator - name of creator - http://bitzi.com/xmlns/2002/01/bz-core#fileLength - length, in bytes, of a blob - if applied to a DirectoryEntry or similar, can be assumed to mean the length of the content =type http://ns.nuke24.net/ContentCouch/Blob =type http://ns.nuke24.net/ContentCouch/Commit =type http://ns.nuke24.net/ContentCouch/Directory =type http://ns.nuke24.net/ContentCouch/DirectoryEntry File name, content, and other metadata. =attribute http://ns.nuke24.net/ContentCouch/description For commits, this serves as the commit message. =attribute http://ns.nuke24.net/ContentCouch/name =attribute http://ns.nuke24.net/ContentCouch/target =attribute http://ns.nuke24.net/ContentCouch/entries List of DirectoryEntry objects of a Directory. =attribute http://ns.nuke24.net/ContentCouch/parent A parent of a Commit. There may be multiple. =namespace http://ns.nuke24.net/SynthGen2100/ project-homepage-url: https://gitlab.com/TOGoS/SynthGen2100/ =namespace http://ns.nuke24.net/TBB/ short-description: TOGoS Binary Blocks schema project-homepage-url: http://togos.nfshost.com/docs/2012/TOGoSBinaryBlocks.html - http://ns.nuke24.net/TBB/Schema :: a TBB encoding scheme - http://ns.nuke24.net/TBB/format :: the format of blocks encoded by this schema - may be an opaque URI, a text description, or a machine-readable declaration of the format - http://www.nuke24.net/docs/2014/CoolCereal.rdf is a an example of a schema whose 'format' is simply a text description - http://ns.nuke24.net/TBB/prototype :: the prototype object, i.e. the object from which objects defined by blocks using this schema inherit a base set of properties =namespace http://ns.nuke24.net/TEF/ short-description: Syntactic-level attributes of TEF entries project-homepage-url: https://github.com/TOGoS/TEF/ =namespace http://ns.nuke24.net/Datatypes/ short-description: Non-project-specific lexical-to-value mappings =datatype http://ns.nuke24.net/Datatypes/Subject short-description: lexical-to-value mapping meaning 'subject of the document' doc-ref: http://www.nuke24.net/docs/2023/SubjectDatatype.html Lexical scope: Any string or byte sequence in one of several formats that can be unambiguously gleaned from the data stream and that have well-defined lexical-to-value mappings according to http://www.nuke24.net/docs/2023/SubjectDatatype.html, including RDF+XML and TOGoS Binary/Text Blocks. Value scope: Anything that can be described by documents in those formats. =datatype http://ns.nuke24.net/Datatypes/URIResource short-description: Encodes values by referencing them by URI Lexical space: URIs. Value space: Any resource that can be named by a URI. The lexical-to-value mapping of a given URI is the resource identified by that URI. For HTTP and hash URIs, the resource is always a byte sequence, possibly with some metadata attached (e.g. `Content-Type` hints at the content's `http://purl.org/dc/terms/format`), but other URI schemes may allow references to more abstract resources. Note that ~http://www.w3.org/2001/XMLSchema#anyURI~ (as documented [[https://www.w3.org/TR/xmlschema-2/#anyURI][here]]) does *not* specify the value as being the target of the URI. Deocding a string by `anyURI` results the URI itself; i.e. basically a string with a flat on it saying "I am a URI". =namespace http://ns.nuke24.net/TOGVM/ project-homepage-url: https://github.com/TOGoS/TOGVM-Spec/ =namespace http://ns.nuke24.net/TOGVM/Expression/ short-description: Functional expression types project-homepage-url: https://github.com/TOGoS/TOGVM-Spec/ =namespace http://ns.nuke24.net/TOGVM/Datatypes/ short-description: Lexical-to-value mappings doc-ref: https://github.com/TOGoS/TOGVM-Spec/blob/master/DATATYPES.org 'datatype' in the XML datatype sense: https://www.w3.org/TR/xmlschema-2/ =datatype http://ns.nuke24.net/TOGVM/Datatypes/TS34Encoded short-description: A particularly useful encoding Format is: data URI + [whitespace + datatype URI]*, i.e. a list of URIs separated by whitespace, where the first one references data to be decoded, and the rest represent datatypes whose lexical-to-value mapping should be applied, in order, to resolve the intended value. Representations of values using this encoding are trivially mappable to `http://ns.nuke24.net/TOGVM/Expression/DataInterpretation` expressions and to active URIs by applying the `http://ns.nuke24.net/TOGVM/Functions/InterpretData` function. Intended as a simple, relatively compact, universal interchange format when arbitrarily-encoded values need to be unambiguously referenced. =namespace http://ns.nuke24.net/TTSGCG/ short-description: Cuts and shapes used by TOGoS's TypeScript G-Code Generator project-homepage-url: https://github.com/TOGoS/TTSGCG/ =namespace http://ns.nuke24.net/Game21/ short-description: Game21 world objects project-homepage-url: https://gitlab.com/TOGoS/Game21/ =namespace http://ns.nuke24.net/RDF/ short-description: Pseudo-properties for talking about objects described by RDF project-homepage-url: https://github.com/TOGoS/PHPXMLRDFParser/blob/master/lib/TOGoS/XMLRDFParser/RDF/Namespaces.php - http://ns.nuke24.net/RDF/hasItem :: attribute of Collections, object is an element of the list - http://ns.nuke24.net/RDF/Collection :: A class for list objects - http://ns.nuke24.net/RDF/Data :: A class for objects that are just a simple value =namespace http://ns.nuke24.net/Schema/ project-homepage-url: https://github.com/TOGoS/SchemaSchema/ Types and predicates to describe metadata about application classes and their associated database tables, access rules, etc. - http://ns.nuke24.net/Schema/ :: core predicates - 'name', 'long name', 'has field', etc. - http://ns.nuke24.net/Schema/RDB/ :: relational database stuff - http://ns.nuke24.net/Schema/Types/ :: data types; integer, number, string, list, etc. - http://ns.nuke24.net/Schema/DataTypeTranslation/ :: predicates to indicate context-specific types, e.g. how a value should be represented in postgres, in PHP, in JSON, etc. TODO: SchemaSchema can dump out its own schema, so have it do that, save it somewhere, and reference it here. =namespace http://ns.nuke24.net/ShapeSheet/ project-homepage-url: https://gitlab.com/TOGoS/ShapeSheet/ Types to represent 2.5D objects using per-pixel depth and material information. =namespace http://ns.nuke24.net/SynthGen2100/ short-description: SynthGen2100 device descriptions project-homepage-url: https://gitlab.com/TOGoS/SynthGen2100/ SynthGen2100 also uses the TOGVM schema. =namespace http://ns.nuke24.net/Synx/ short-description: Reserved symbols for disambiguating meaning, especially in JavaScript/TypeScript objects tef:content-type: text/org - http://ns.nuke24.net/Synx/schema :: Indicates how a data structure E encodes a concept V, which may be useful in contexts where that cannot be provided out-of-band. e.g. in a JSON-encoded object. Does a string represent a sequence of characters, or does it actually encode something else? Does '{ "@id": "xyz" }' represent an object with a single property named "@id", or is it telling us that the value in question is "xyz"? - http://ns.nuke24.net/Synx/unit :: Names the unit of a numeric quantity that would otherwise be unitless. e.g. in TypeScript, ~type Inches = number & { [Symbol.for("http://ns.nuke24.net/Synx/unit")]: "inch" }~ - http://ns.nuke24.net/Synx/referenceeType :: For a reference type (e.g. a string with schema = 'http://ns.nuke24.net/Synx/Schema/URI' or 'http://ns.nuke24.net/Synx/Schema/Name'), indicates the type of the refereced object. Schemas: - http://ns.nuke24.net/Synx/Schema/Literal :: E and V are the same thing. Generally this should be the default assumption. - http://ns.nuke24.net/Synx/Schema/URI :: E is the URI of V. - http://ns.nuke24.net/Synx/Schema/Name :: E is a short name for V. - http://ns.nuke24.net/Synx/Schema/JSON-LD :: E is the JSON-LD representation of V. e.g. ~{ "@id": "http://example.com/XYZ" }~ represents the resource with URI "http://example.com/XYZ", and ~"A string"~ represents the 8-character text "A string". - http://ns.nuke24.net/Synx/Schema/Expression :: E represents an algorithm that can be used to produce V. - http://ns.nuke24.net/Synx/Schema/RDFObject1 :: E is an RDF representation of V, and said RDF representation is itself represented in this form: #+BEGIN_SOURCE typescript interface RDFObject1 { uri?: string, simpleValue?: string, attributes?: [{attributeName:string}: RDFObject1 } #+END_SOURCE =namespace http://ns.nuke24.net/X-2024/ Placeholder namespace for in-progress definitions or concepts that haven't yet been fully fleshed-out or proven to be useful. Process for promotion to a 'nicer name', should I feel that is important, is to, once the name is otherwise settled, simply remove the "X-2024/" part. This way interpreters can automatically infer aliases. 'Settled' means that a name and its meaning have remained constant for some time under use. =format http://ns.nuke24.net/X-2024/Formats/HashFormat The format of files whose content starts with "#format " + a URI identifying the specific format. Documented, for now, in Scratch38/S0001. =format http://ns.nuke24.net/X-2024/Formats/JSONLFileManifest =format http://ns.nuke24.net/X-2024/Formats/TSVFileManifest =format http://ns.nuke24.net/X-2024/Formats/JSONLRDF