**A container for text string meanings, providing context and preventing ambiguity.** “Namespace” is a concept popular in coding that refers to a boundary in which text strings are contextualized. A well-defined Namespace removes ambiguity from string literals, making the entities to which they refer clear. Namespacing is a key concept in both coding and [[MBSE]]. They are explicitly called out as a good idea in [[The Zen of Python]]. [[URI]]s are a mechanism that don't depend on namespaces, or perhaps you could say they provided namespaces in a global setting. In short, namespaces are what separates “modeling”: ![https://images.unsplash.com/photo-1422246358533-95dcd3d48961?ixlib=rb-1.2.1&q=80&cs=tinysrgb&fm=jpg&crop=entropy](https://images.unsplash.com/photo-1422246358533-95dcd3d48961?ixlib=rb-1.2.1&q=80&cs=tinysrgb&fm=jpg&crop=entropy) From “modeling”: ![https://images.unsplash.com/photo-1501196354995-cbb51c65aaea?ixlib=rb-1.2.1&q=80&cs=tinysrgb&fm=jpg&crop=entropy](https://images.unsplash.com/photo-1501196354995-cbb51c65aaea?ixlib=rb-1.2.1&q=80&cs=tinysrgb&fm=jpg&crop=entropy) From “modeling”: ```mermaid graph car --has--> tires car --has--> occupants occupants --type--> human regulation --appliesTo--> car regulation --appliesTo-->tires regulation --appliesTo-->human ``` It’s a very abstract concept, so here are some other examples. # General example ``` text: "Carl" reference: ambiguous at this point. text: "Carl" Namespace: "Jim Carrey characters" reference: The character Jim Carrey plays in the movie "Yes Man" text: "Carl" Namespace: "Famous Scientists" reference: Carl Sagan ``` # Coding example ```jsx let x = 'hello'; class myClass{ private x; constructor(xIn){ this.x = xIn; } } let classInstance = new myClass('goodbye'); console.log(x); // prints 'hello', refers to x the script's global namespace console.log(classInstance.x); // prints 'goodbye', refers to x in the myClass namespace ``` **** # More ## Source ## Related - [[URI]] - [[JSON-LD]] - the links utilize a given namespace - [[The Zen of Python]]