ENTS 0.5 Specification
Default Tag -
The Normal Tag is denoted by simple dash. Nesting for a normal tag and all other tag types is four spaces.
Dud Tag +
The dud tag is used to contain tags but not to label files.
+ Reading Level
- Not Read
- Skimmed
- Partially Read
- Read
- Re-read
+ Format
- Journal
- Book
- Webpage
Much cleaner!
Now you can query files tagged with any reading level, or any material format, or any union of the two, without being able to explicily tag a file with “reading level” or “format” literally.
Exception Tag *
For an exclusive tag, an object can be tagged with this tag, but if
it is, than it can’t be tagged by any of it’s children. It is denoted by
an asterix *. It gets its name “exclusive” from it can
either label a file itself, or its children can label
a file, but not both. This is advantageous where, if you have a category
where you have some tags in it that label many files, and then you have
some other files that could be labeled by the parent tag but there are
not enough of them to warrant making another child tag, and then it
becomes enough of them where it does warrant making a new child
tag, than trying to tag with the new child tag will raise the exclusive
error. This keeps the labeling space clean.
Example:
* instruction sets
- arm
- x86
- risc-v
If I had 10 documents each for ARM, x86, and Risc-V and one document for AVR, it might not warrant creating a new child tag for AVR. So I can tag the AVR documents with the “instruction sets” exclusive tag. The documents tagged with the other instruction sets cannot be tagged with the “instruction sets” exclusive tag, for the sake of keeping a clean tagspace. But if I got more documents for AVR where it does warrant making a new tag “AVR”. Now, if I go to tag my documents with the AVR tag, it will not let it unless the exclusive tag “instruction sets” has been removed, for the sake of a clean tagspace.
Aliases ()
When tagging a file or running a query, it might be faster to have an
alias for frequently used tags or tags with longer names.
Aliases are denoted inside parenthases () after a tag’s
regular name. Aliases can be used on regular tags or dud tags.
Example:
+ Reading Level (rl)
- Not Read
- Skimmed
- Partially Read
- Read
- Re-read
Now running lents filter rl will return any file tagged
with any reading level.
Potential Future Implementations
Scalars[1-N]
- assigns a numeric value for the tag to the object
> Enums[1-N]
- Option 1
- Option N
- a scalar with lablers
** Matrix
- makes a matrix between two or more scalars
/ pick-few tag
- you can tag an object with only
one of this tag’s children’s tags. used in conjunction with regular tag
-, dud tag+, exclusive tag+-, or scalars>
& Backreferences
- Makes a link between two tags. If you reference one tag with the other on the same line than whenever you tag an object with that tag the engine automatically tags it with the other tag.
~ Not
- Will probably be used with Matrixes