Research:WikiPrime specification (RD): Difference between revisions
name / linking |
concept entities |
||
| Line 2: | Line 2: | ||
"WikiPrime" is in reference to "Wikibase". The pun is that while Wikibase is the "base" metal, WikiPrime would be something refined out of it, like alchemists' quest to produce the prima materia ("first matter" or "prime matter"). | "WikiPrime" is in reference to "Wikibase". The pun is that while Wikibase is the "base" metal, WikiPrime would be something refined out of it, like alchemists' quest to produce the prima materia ("first matter" or "prime matter"). | ||
== Concept entities == | |||
These are similar to Wikibase Items but not exactly the same. Each concept entity has an integer number which is used as its canonical URL within wiki pages, and one or more natural-language names. They are basically similar to tokens or vectors within large language models but each one is meant to represent a specific {{em|thought}} in the sense of the definition that sits below a sense of a word in a dictionary or the brief sentence explanation a scientist might give to what a highly specific jargon term means. The natural-language alias of each concept entity does not have to be unique, but it should at least be unique only when combined with a particular field or context such as "daemon (Linux)" or "daimon (ancient Greece)". | |||
Concept entities should contain:<br/> | |||
{{strong|QID}} - integer identifier. {{em|this is allowed to change}}, although entities should only be moved between numbers once or twice early on in their development.<br/> | |||
{{strong|label}} - default natural-language alias to display when displaying concept entity.<br/> | |||
{{strong|philosophy or category}} (<code>trad</code>) - color code to display concept entity in within Hue lists.<br/> | |||
{{strong|local field}} (<code>trad-field</code>) - color code to apply to other entities displayed on the same page. for instance, a page about "Sans (Undertale)" would apply the field code <code>UTDR</code> when listing all motifs relevant to the character.<br/> | |||
arbitrary Characteristics/Properties - a concept entity can have any number of user-defined Characteristics just like it can on Wikibase. | |||
WikiPrime should treat integer identifiers containing commas or periods as capable of linking to the same number with the commas or periods removed regardless of where they were placed, so that "{{TTS|tts=Q1-comma-000-comma-000|Q1,000,000}}" or "{{TTS|tts=Q1-period-000-period-000|Q1.000.000}}" is the same as "{{TTS|tts=Q1-million|Q1,000,000}}". | |||
== Lexemes / Terms == | |||
These should not be used within WikiPrime. For the purposes WikiPrime is designed for, concept entities should usually be sufficient for studying the meanings of terms. However, this allows for greater flexibility on what is allowed to be analyzed as a field-specific term. | |||
== Prototype entities == | == Prototype entities == | ||
Revision as of 21:24, 15 September 2026
Name
"WikiPrime" is in reference to "Wikibase". The pun is that while Wikibase is the "base" metal, WikiPrime would be something refined out of it, like alchemists' quest to produce the prima materia ("first matter" or "prime matter").
Concept entities
These are similar to Wikibase Items but not exactly the same. Each concept entity has an integer number which is used as its canonical URL within wiki pages, and one or more natural-language names. They are basically similar to tokens or vectors within large language models but each one is meant to represent a specific thought in the sense of the definition that sits below a sense of a word in a dictionary or the brief sentence explanation a scientist might give to what a highly specific jargon term means. The natural-language alias of each concept entity does not have to be unique, but it should at least be unique only when combined with a particular field or context such as "daemon (Linux)" or "daimon (ancient Greece)".
Concept entities should contain:
QID - integer identifier. this is allowed to change, although entities should only be moved between numbers once or twice early on in their development.
label - default natural-language alias to display when displaying concept entity.
philosophy or category (trad) - color code to display concept entity in within Hue lists.
local field (trad-field) - color code to apply to other entities displayed on the same page. for instance, a page about "Sans (Undertale)" would apply the field code UTDR when listing all motifs relevant to the character.
arbitrary Characteristics/Properties - a concept entity can have any number of user-defined Characteristics just like it can on Wikibase.
WikiPrime should treat integer identifiers containing commas or periods as capable of linking to the same number with the commas or periods removed regardless of where they were placed, so that "" or "" is the same as "".
Lexemes / Terms
These should not be used within WikiPrime. For the purposes WikiPrime is designed for, concept entities should usually be sufficient for studying the meanings of terms. However, this allows for greater flexibility on what is allowed to be analyzed as a field-specific term.
Prototype entities
While developing LithoGraphica, RD created a great number of prototype pages to record surface impressions about various concepts. These were not necessarily intended to serve as "high-quality information" to go on encyclopedia entries, and were instead intended to serve as guidelines for separating the definition of one concept from the definition of another concept. Each concept could have multiple "prototype blocks", perhaps reflecting changing understandings of a particular concept, perhaps written by different people.
Prototyping is considered a legitimate part of the research process. Although the information in any given prototype block could be out of date, it can be vital for tracking down reliable sources which offer insight into whatever statements the prototype block claims or references.
Prototype blocks should contain:
alias - one or more names believed to apply to concept at the time the prototype block was written
body - freeform description of concept. the first version must be kept immutably but afterward it is allowed to change or be kept in multiple versions.
unique identifier - unique ID string which is permanent and immutable within a given instance database but namespaced within a particular domain name or understood name of a particular instance of WikiPrime. this identifier should not be a natural language string, and it should not be a public-facing integer. it can feasibly be a random alphanumeric string of the kind used on archive.is, or on YouTube. alternatively it could be a hash of the kind created with git commits.
date - date the prototype block was first recorded or archived, in UTC. this is allowed to change if someone realizes that a prototype block was actually recorded earlier than first thought.
submitter - user that submitted the concept within the prototype block. if the concept was submitted by an external source, some kind of user ID should be made on the instance to represent this, such as "YouTubeCommenters", etc.
submitter string - manually written name of submitter. if this matches an existing username, this should be stored as blank. otherwise, allow it to contain a more specific description of an external submitter.
prototyper - user that wrote the prototype block.
philosophy or category (trad) - color code to show the prototype block in. there is also a second color code which will apply to the list that prints the prototype block, but this would be inferred from which concept entity it was most strongly associated with, and hence stored on that.
After each prototype block has been assigned an identifier and the first version of its text has been archived immutably, users can
- assign it to one or more concept entities that it is meant to provide guidance on using its permanent identifier (this would be recorded in the database)
- link the prototype block to sources using wikitext or entry identifiers (this would be within the editable prototype block itself)
New prototype blocks may be created at any time, in order to split long prototype blocks into smaller ones that are more easily used, etc. If this happens, the new and old versions should be linked to each other in the database in order to trace versions of the same concept.
Each individual prototype block with its own unique identifier made at creation loosely corresponds to a MediaWiki page while the concept of linking from one prototype block to another loosely corresponds to linking to MediaWiki revisions. Basically, the simplest way to do it would be that the most recent version of each separate prototype block sits beneath that block's unique identifier, other blocks link to that identifier, and then that brings up the most recent edit of the block.