Comparing revisions for page Namespace
Back to history list
== Headline ==
The namespace for namespaces used on this wiki
== Description ==
The entities on 101wiki are organized in namespaces. Namespaces are helpful in avoiding name clashes (disambiguation), overall classification, and provision of metamodels (documentation models) for wiki pages. Technically, the namespace is used as a prefix for page names, except for the namespace of software concepts which maps to the empty prefix. The most important namespaces are summarized as follows:
* [[Namespace:Namespace|Namespace]]: all namespaces including those listed below.
* [[Namespace:Language|Language]]: software languages such as [[Language:Haskell|Haskell]], [[Language:XML|XML]], or [[Language:UML|UML]].
* [[Namespace:Technology|Technology]]: software technologies such as [[Technology:JUnit|JUnit]], [[Technology:GitHub|GitHub]], or [[Technology:Ruby on Rails|Ruby on Rails]].
* [[Namespace:Concept|Concept]]: software concepts such as [[parsing]], [[abstraction]], or [[visitor pattern]].
* [[Namespace:Feature|Feature]]: features (requirements) of the [[101system]] such as [[Feature:Cut|Cut]] or [[Feature:Total|Total]].
* [[Namespace:Contribution|Contribution]]: implementations, models, etc. of the [[101system]].
* [[Namespace:Contributor|Contributor]]: open-source developers and wiki authors contributing to the [[101project]].
* [[Namespace:Theme|Theme]]: themes (collections) of contributions addressing stakeholder perspectives.
* [[Namespace:Vocabulary|Vocabulary]]: vocabularies of software concepts, e.g., for [[Vocabulary:Software engineering|Software engineering]].
* [[Namespace:Course|Course]]: open online courses leveraging resources of the [[101project]].
* [[Namespace:Script|Script]]: scripts for individual lectures, labs, etc. in courses.
* [[Namespace:Module|Module]]: modules of the [[101worker]] deriving resources and dumps.
* [[Namespace:Document|Resource]]: other external resources with a 101wiki reification.
(This is not a complete list.)
== Illustration ==
This page itself is an illustration of an instance of [[Namespace:Namespace]].
See [[Namespace:Feature]] for another recommended illustration.
== Relationships ==
This namespace is essentially a container for all other namespaces.
== Metamodel ==
* '''Headline''' (required): the headline introducing the namespace.
* '''Description ==
101wiki uses namespaces for pages so that some form of name qualification is achieved, thereby avoiding name clashes and facilitating searching. Further, namespaces are ''' (required): the description of the namespace.
* '''Illustration''' (optional): an illustration of thectively' on the 101wiki described in terms of section structure ([[Property:hamespace (or a pointer therefore).
* '''Guidelines''' (optional): further guidelines regarding the instances of the namespace.
* '''Relationships''' (optional): explanations regarding related namespaces.
* '''Metamodel''' (required): the listing of sections for instances of the page. Each section should be marked as being either "required" or "optional". A short description of each section should be provided.
* '''Metadata''' (required):
** The namespace must be declared to be, indeed, an instance of [[Namespace:Namespace]].
** The namespace may be linked to relevant online resources.
** The namespace may also be related to any relevant [[software concept]]s.
== Metadata ==
* [[instanceOptional]] and [[Property:hasMandatory]]) as well as metadata items ([[Property:hasDomain]] and [[Property:hasRange]]), thereby guiding authors and potentially permitting lax validation. Generally, the namespace shows up, as is, in the URLs for the pages with the exception of [[Namespace:Concept]] where 'Concept' is simply omitted in the URLs.
== Metadata ==
* [[hasMandatory::Section:Headline]]
* [[hasMandatory::Section:Description]]
* [[hasMandatory::Section:Metadata]]
* [[exemplifiedBy::Namespace:Namespace]]
* [[exemplifiedBy::Namespace:Language]]
* [[exemplifiedBy::Namespace:Technology]]
* [[exemplifiedBy::Namespace:Concept]]
* [[exemplifiedBy::Namespace:Perspective]]