Skip to content

Legacy OSW/OSL keyword inventory

Generated by scripts/extract-legacy-keywords.mjs from every world.opensemantic.* page-package repo in the OpenSemanticWorld-Packages org.

  • Repos scanned: 16
  • Schema files (Category *.slot_jsonschema.json + JsonSchema-namespace *.slot_main.json): 1271 (parsed 1271, fetch errors 0, parse errors 0)
  • Distinct keywords: 83 (+ 25 distinct format values)
  • @context multi-mapping notation on terms: * 172, ** 24

Standard JSON Schema 2020-12 keywords (type, properties, allOf, required, ...) pass through unchanged and are intentionally not listed; this inventory covers only the custom / legacy keywords that need a migration decision.

Two distinct uses of the * suffix: a <base>* sibling of a schema annotation (for example title*, description*) is a multilang language map -> x-oold-multilang-*; a term* / term** inside @context is the JSON-LD multi-mapping notation for alternate @id mappings (counted above, resolved by the existing @context rules).

Classification buckets: oold-semantic (-> x-oold-*), oold-multilang (-> x-oold-multilang-*), oold-ui (-> x-oold-ui-*), canonical-reuse (standard / $anchor / $data / x-enum-*), jedison-vendor (-> x-jedison-*), osl-vendor (-> x-osl-*), smw-vendor, deferred, typo / commented-out, drop, standard/jsonld, unclassified (needs review).

Semantic keywords -> x-oold-*

keyword position count future equivalent note example
uuid schema 1218 x-oold-uuid schema identity "0551abcd-6f73-4047-825e-3ded4c8a0ffe"
range schema 216 x-oold-range IRI / array of IRIs / OO-LD subschema @orderer_default: "Category:OSW3cb8cef2225e403092f098f99bc4c472"
subclassof_range schema 29 x-oold-subclassof-range range constraint on subclass targets @typical_processes: "Category:OSWe5aa96bffb1c4d95be7fbd46142ad203"
x-oold-version schema 5 x-oold-version already migrated @generated: "0.1.0"
x-oold-reverse-defaultProperties schema 1 x-oold-reverse-defaultProperties already migrated ["employees"]
x-oold-reverse-properties schema 1 x-oold-reverse-properties already migrated {"employees":{"type":"array","title":"Employees","items":{"type":"string","format":"autocomplete","title":"Person","$comment":"range is Person","range":"Category:OSW44deaa5b806d41a2a88594f562b110e9...
rdf_type schema 1 x-oold-instance-rdf-type instance rdf:type(s) {"title":"RDF type","title*":{"de":"RDF-Typ"},"type":"string","default":"schema:EventSeries","options":{"hidden":true}}

Multilang annotations -> x-oold-multilang-*

keyword position count future equivalent note example
title* schema 2152 x-oold-multilang-title schema-level language map; NOT the @context multi-mapping notation {"en":"Country","de":"Land"}
description* schema 1583 x-oold-multilang-description schema-level language map; NOT the @context multi-mapping notation {"en":"A distinct part of the world, such as a state, nation, or other political entity","de":"Ein bestimmter Teil der Welt, z. B. ein Staat, eine Nation oder eine andere politische Einheit"}
default* schema 2 x-oold-multilang-default schema-level multilang annotation (language map) @lang: {"en":"en","de":"de"}

UI keywords -> x-oold-ui-*

keyword position count future equivalent note example
defaultProperties schema 1099 x-oold-ui-default-property root array is extend-only under composition (can add, cannot switch off); per-property boolean is overridable (most-derived-wins) []
enum_titles options 442 x-oold-ui-enum-titles jedison x-enumTitles; i18n via enum_titles* @event_classifier: ["Internal","External"]
hidden options 185 x-oold-ui-form-hidden jedison x-hidden @creator: true
autocomplete options 175 x-oold-ui-widget=autocomplete + $data source value source is an SMW query -> x-osl-query @contact_default: {"query":"[[Category:OSW44deaa5b806d41a2a88594f562b110e9]][[HasOu::$(orderer_w)]] OR [[Category:OSW44deaa5b806d41a2a88594f562b110e9]][[HasOrganization::$(orderer_w)]]"}
propertyOrder schema 87 x-oold-ui-property-order jedison x-categoryOrder/order @label: 1
enum_titles* options 12 x-oold-ui-enum-titles + * multilang language-tagged display titles @event_classifier: {"de":["Intern","Extern"]}
category schema 4 x-oold-ui-property-group jedison x-category/x-propGroup @funding: "Category:OSW25bc4daf97644737a76434b88e1d5b21"
infoText options 4 x-oold-ui-hint jedison x-info @subclass_of: "A car is a vehicle"

Canonical reuse (standard / $anchor / $data / x-enum-*)

keyword position count future equivalent note example
x-enum-varnames schema 430 x-enum-varnames kept: established code-gen names (identifier-safe) @unit: ["bel","decibel"]
id schema 51 $anchor OR x-jedison-id (decision) json-editor watch ref. $anchor gives real reference semantics (unique per resource, name-pattern, referenceable via $ref) - couples UI to validation; vendor x-jedison-id avoids that. Prefer vendor unless watch-by-anchor is intended. "shipment_root"
readonly schema 7 readOnly standard JSON Schema readOnly (camelCase) @text: true
enumSource schema 1 $data (non-standard) / data-2023 (value source only) \(data is a draft-future proposal (json-schema-spec#51), valid only in whole-array form enum:{\)data}; per-item title/value templating stays x-jedison-* @subchannels: [{"source":"_channels","title":"{{item.node_id}}","value":"{{item.osw_id}}"}]

Vendor: jedison UI rendering -> x-jedison-*

keyword position count future equivalent note example
watch schema 72 x-jedison-watch json-editor watch/dependency @contact_default: {"orderer_w":"orderer_default"}
grid_columns options 56 x-jedison-options.grid_columns layout width @item_type: 12
headerTemplate schema 19 x-jedison-headerTemplate dynamic header (mustache) @constituents: "{{i1}} - {{self.name}}"
compact options 13 x-jedison-options.compact layout @yearly_budget_sum: true
links schema 12 x-jedison-links form hyperlinks @proposal: [{"href":"{{#if self}}/w/index.php?title=Special:Redirect/file/{{self}}&width=200&height=200{{/if}}","mediaType":"image"},{"href":"{{#if self}}/w/index.php?title=Special:Redirect/file/{{self}}{{/if...
labelTemplate schema 10 x-jedison-labelTemplate dynamic label (mustache) @member_of: "{{result.printouts.label.[0]}}"
upload options 10 x-jedison-options.upload file upload widget config @proposal: {}
enable_array_copy options 7 x-jedison-options.enable_array_copy behavior @included_items: true
collapsed options 7 x-jedison-options.collapsed layout @procedure_files: true
array_copy_ignore options 6 x-jedison-options.array_copy_ignore behavior @included_items: ["uuid","attachments"]
input_width options 4 x-jedison-options.input_width layout width @text: "800px"
flatpickr options 2 x-jedison-flatpickr flatpickr date-picker config @duration: {"enableTime":true,"noCalendar":true,"dateFormat":"H:i","time_24hr":true}
disable_collapse options 2 x-jedison-options.disable_collapse behavior @yearly_budget_sum: true
disable_properties options 2 x-jedison-options.disable_properties behavior @yearly_budget_sum: true
disable_array_reorder options 1 x-jedison-options.disable_array_reorder behavior @yearly_budget: false
dependencies options 1 x-jedison-options.dependencies json-editor visibility dependency @additional_units: {"subproperty_of":""}
inputAttributes options 1 x-jedison-options.inputAttributes HTML input attributes @text: {"placeholder":"Title of the entry"}
inputAttributes* options 1 x-jedison-options.inputAttributes multilang variant of inputAttributes*: HTML input attributes @text: {"de":{"placeholder":"Titel dieses Eintrags"}}
display_required_only options 1 x-jedison-options.display_required_only behavior true

Vendor: OSL server-side (mustache / SMW) -> x-osl-*

keyword position count future equivalent note example
eval_template schema 131 x-osl-eval-template mustache eval template @creator: [{"type":"mustache","mode":"render","value":"[[{{{creator}}}]]"}]
dynamic_template schema 32 x-osl-dynamic-template mustache template @text: "{{{sender_}}}-{{{recipient_}}}-{{dateformat 'Ymd_His' dispatch_}}{{#if descriptive_text_}}-{{{descriptive_text_}}}{{/if}}"
dynamic_template options 25 x-osl-dynamic-template mustache template @text: {"override":"empty"}
template schema 12 x-osl-template mustache template @value: "{{{numerical_value}}} {{{unit_symbol}}}"
query schema 10 x-osl-query SMW query (data source) @member_of: "[[HasType::Category:OSW1969007d5acf40539642877659a02c23]] \|?Display_title_of=label"
previewWikiTextTemplate schema 10 x-osl-preview-template wikitext preview template @member_of: "[[:{{result.fulltext}}]]"
data_source_maps schema 4 x-osl-data-map data source mapping [{"id":"pub.orcid.org","source":"https://pub.orcid.org/v3.0/{{#split '/' -1}}{{orcid}}{{/split}}","format":"jsonld","label":"ORCID","required":["orcid"],"object_map":{"first_name":"$.givenName","su...
render options 3 x-osl-render render directive @descriptive_text: "never"

Vendor: Semantic MediaWiki -> x-smw-*

keyword position count future equivalent note example
x-smw-quantity-property schema 935 x-smw-* Semantic MediaWiki property binding @generated: "Property:HasSoundPressureLevelValue"

Deferred (query-form, no current practical use)

keyword position count future equivalent note example
conditional_visible options 9 (deferred: query-form) OSL query-mode visibility @start_date_min: {"modes":"query"}
role options 3 (deferred: query-form) recorded, not minted @start_date_min: {"query":{"filter":"min"}}

Dropped on import (security)

keyword position count future equivalent note example
name schema 9 (drop; use title / $id) non-standard schema-level 'name' annotation, not a JSON Schema keyword "BattmoModel"

Typos / noise / commented-out (normalize or drop)

keyword position count future equivalent note example
flatpicker options 6 x-jedison-flatpickr misspelling of flatpickr @start_date: {}
titel* schema 6 title* normalize spelling @exact_ontology_match: {"de":"Ontologieübereinstimmung (exakt)"}
example schema 5 examples singular -> standard 'examples' @imported_from: "schema:Person"
desciption schema 2 description normalize spelling @din277_label: "Label according to DIN 277"
$example schema 2 examples stray '$' -> standard 'examples' @characteristics: ""
#range schema 2 x-oold-range stray leading '#' @characteristic: "Category:Category"
#subclassof_range schema 2 x-oold-subclassof-range stray leading '#' @characteristic: "Category:Item"
Title* schema 2 title* normalize spelling @conversion_factor_from_si: {"de":"Umrechnungsfaktor"}
optiones schema 1 options normalize spelling {"copy_ignore":["uuid","label"]}
defaultPropertis schema 1 defaultProperties normalize spelling ["type_no","manufacturer","data_sheet","safety_data_sheet","supply","specifications"]
eval_template_ schema 1 eval_template normalize spelling @additional_units: {"type":"mustache-wikitext","mode":"render","value":"{{#units}} {{conversion_factor_to_main_unit}} {{#unit_symbols}} {{.}}, {{/unit_symbols}} {{=<% %>=}} {{#set: <%={{ }}=%> \|Corresponds to={{conve...
defaultPropertiers schema 1 defaultProperties normalize spelling @tester: ["tester_instance","tester_name","tester_channel"]
$coment schema 1 $comment normalize spelling @weight: "to be reworked with characteristics in place"
_format schema 22 format disabled / commented-out in source; not an active keyword @uuid: "uuid"
_template schema 11 template disabled / commented-out in source; not an active keyword @uuid: "dynamic_template"
_$ref schema 2 $ref disabled / commented-out in source; not an active keyword "/wiki/Category:OSWb79812225c7849b78e98f2b3b10498b3?action=raw&slot=jsonschema"
_headerTemplate schema 2 headerTemplate disabled / commented-out in source; not an active keyword "{{self.value}}"
_description schema 1 description disabled / commented-out in source; not an active keyword @yearly_budget_sum_weighted: "weighted with probability of successful funding"
_description* schema 1 description* disabled / commented-out in source; not an active keyword @yearly_budget_sum_weighted: {"de":"gewichtet mit Erfolgswahrscheinlichkeit"}
_watch schema 1 watch disabled / commented-out in source; not an active keyword @value: {"probability_of_successful_funding":"probability_of_successful_funding.numerical_value","yearly_budget_sum_value":"yearly_budget.yearly_budget_sum.numerical_value","yearly_budget_sum_unit_symbol":...
_autocomplete options 1 autocomplete disabled / commented-out in source; not an active keyword @status: {"category":"Category:OSW9725d7a91bab4f1aa68f423e4e9bfcf4"}
Xeval_template schema 1 eval_template disabled / commented-out in source; not an active keyword @properties: [{"type":"mustache-wikitext","mode":"render","value":"{{=<% %>=}} <%#properties%>* <%name%> {{#if: <%rdf_property%> \|({{Viewer/Link \|page=<%rdf_property%>}}) }}: {{#if: <%characteristic%> \|{{Viewer...
data_source_maps_DISABLED schema 1 data_source_maps disabled / commented-out in source; not an active keyword [{"id":"api.battmo.open-semantic-lab.org","source":"https://api.battmo.open-semantic-lab.org/api/run/performance-spec","source_":"https://demo.open-semantic-lab.org/api/run/performance-spec","forma...

Standard / JSON-LD keywords (unchanged passthrough)

keyword position count future equivalent note example
@id context 618 @id JSON-LD @ keyword @approver_default: {"@id":"Property:HasApprover","@type":"@id"}
@type context 543 @type JSON-LD @ keyword @approver_default: {"@id":"Property:HasApprover","@type":"@id"}
@context context 36 @context JSON-LD @ keyword @included_items: {"@id":"Property:HasStatement","@type":"@id","@context":{"item_instance_property":"Property:HasProperty","item_instance":"Property:HasObject"}}
@prefix context 4 @prefix JSON-LD @ keyword @Category: {"@id":"wiki:Category-3A","@prefix":true}
@container context 3 @container JSON-LD @ keyword @unionOf: {"@id":"owl:unionOf","@container":"@list","@type":"@id"}
@reverse context 2 @reverse JSON-LD @ keyword @employees**: {"@reverse":"Property:HasOrganization","@type":"@id"}
$comment options 4 $comment standard JSON Schema comment (also seen misplaced inside options); ignored @subclass_of: "should be an $example"

format widget values

value count classification future
autocomplete 339 ui-widget x-oold-ui-widget="autocomplete" (jedison x-format)
table 172 ui-widget x-oold-ui-widget="table" (jedison x-format)
uuid 67 standard-format format (unchanged)
url 29 normalize format="uri"
tabs 20 ui-widget x-oold-ui-widget="tabs" (jedison x-format)
checkbox 17 ui-widget x-oold-ui-widget="checkbox" (jedison x-format)
date 12 standard-format format (unchanged)
grid-strict 9 ui-widget x-oold-ui-widget="grid-strict" (jedison x-format)
number 9 drop (drop: not a valid format - looks like a type)
date-time 8 standard-format format (unchanged)
grid 8 ui-widget x-oold-ui-widget="grid" (jedison x-format)
textarea 7 ui-widget x-oold-ui-widget="textarea" (jedison x-format)
uri 5 standard-format format (unchanged)
datetime-local 4 ui-widget x-oold-ui-widget="datetime-local" (jedison x-format)
dynamic_template 3 osl-vendor x-osl-template
text 3 ui-widget x-oold-ui-widget="text" (jedison x-format)
email 3 standard-format format (unchanged)
duration 2 standard-format format (unchanged)
json 1 ui-widget x-oold-ui-widget="json" (jedison x-format)
time 1 standard-format format (unchanged)
string 1 drop (drop: not a valid format - looks like a type)
array 1 drop (drop: not a valid format - looks like a type)
`` 1 drop (drop: not a valid format - looks like a type)
choices 1 ui-widget x-oold-ui-widget="choices" (jedison x-format)
iri 1 standard-format format (unchanged)

Per-repo schema file counts

repo schema files
world.opensemantic.characteristics.quantitative 938
world.opensemantic.base 117
world.opensemantic.batteries 94
world.opensemantic.core 49
world.opensemantic.lab 20
world.opensemantic.lab.nts 20
world.opensemantic.lab.experimental_work 14
world.opensemantic.ontology 6
world.opensemantic.quantities 5
world.opensemantic.characteristics.basic 4
world.opensemantic.demo.lab.virtual 2
world.opensemantic.lab.virtual 2
world.opensemantic.meta.legal 0
world.opensemantic.demo 0
world.opensemantic.meta.docs 0
world.opensemantic.ontology.schema 0