Cette page est en cours d'écriture (et de traduction !) Vous pourriez attendre qu'elle soit plus simple avant de la lire. Voir la page originale SetBasedNamespace.
Nous avons besoin de RéglageBaseEspaceNom à cause des LimitesDeHiérarchies? (LimitsOfHierarchies).
Quand vous avancez, "page AB est une SousPage (SubPage) de page A", vous dites que page AB est dans l'EspaceNom qui est défini par la page A. Intuitivement, vous pensez page A comme "propriétaire" de page AB.
Dans un RéglageBaseEspaceNom, pensez simplement que chaque page associée à un jeu d'autres pages qui le "possèdent". Ce qui veut dire, que si page AB était une SousPage de page A, alors le jeu de page "possédé" par A comprend AB.
Maintenant si vous voulez que Ab soit une SousPage de A et aussi une SousPage de B, placez simplement AB dans les deux jeux ; les jeux de pages possédés par A, et le jeu des pages possédés par B.
Vous pourriez vouloir construire une page imaginaire appelée "racine", qui "possède" toutes les pages au niveau le plus haut.
Un espace nom plat A peut être pensé comme un cas extrêmement spécifique d'un RéglageBaseEspaceNom, dans lequel toutes les pages sont possédées par la "racine".
Un espace-nom PlanetMath:tree basé peut être pensé comme un cas spécial de RéglageBaseEspaceNom, dans lequel chaque page peut seulement avoir un "propriétaire".
Si les pages A et B et C et D sont au top niveau, et que AB et C sont à la fois dans l'espace nom de A, et AB est aussi dans l'espace-nom de B et D aussi dans l'espace-nom de C, alors on peut dire
A's namespace = {AB, C}
B's namespace = {AB}
C's namespace = {C}
"root" namespace = {A,B,C}
L'idée de RéglageBaseEspaceNom devient plus amusante si nous sortons de l'idée de pages. Ce qui veut dire, qu'au lieu de dire, "page A possède page AB", nous disons, "EspaceNom A possède page B". Et que devient page A ? Nous disons, la racine "EspaceNom possède page A".
Maintenant, nous pouvons écrire la structure de la chose entière en utilisant des jeux à l'intérieur des jeux :
{A, B, C,
{AB, C, {D}},
{AB},
{C, {D}}
}
En mots, je dirais que "l'espace-nom racine contient les pages A, B, et C, et trois espaces-noms. Le premier espace-nom contient les pages AB et C, et un espace-nom tertiaire qui contient la page D. Le second espace-nom à l'intérieur de la "racine" contient la page AB. Le troisième espace-nom au lieu de "racine" contient la page C, et un espace-nom qui contient la page D."
Si vous ne savez pas ce qu'est une "relation", c'est quelque chose qui peut ou peut être vrai entre des objects ; par exemple, DarthVader? est le père de BayleShanks (pas vrai; "père(DarthVader?,BayleShanks) = faux"), les ÉtatsUnis sont le pays de résidence de BayleShanks (vrai; "home(ÉtatsUnis,BayleShanks) = vrai"). <= ("moins que ou égal à") est un autre exemple d'une relation.
A PlanetMath:poset is a "partially ordered set". That means that every poset consists of two things: a PlanetMath:set of objects, and a relation on those objects which acts like <= (less than or equal to). For something to be a poset basically means that the relation is of a certain type (a "partial order").
The idea of "page AB being under page A in the hierarchy" is a relation between page AB and page A; even better, it's a relation that "acts like" <= in the way that we want. We could even write <= as a shortcut for "being under"; we could write AB <= A. (technical note: because we want the relation to act like "less than or equal", we would also say that "A <= A").
In the case of a wiki with SubPages, you can think of it as a poset with the relation being the one in the last paragraph. In a SetBasedNamespace, you can think of "ownership" as being the relation.
So, saying something is a poset is just saying that it is a hierarchy of some sort, although it may be a hierarchy where some nodes have "multiple parents".
Note that in both the cases we have talked about, there is only one relation. It is conceivable that a single wiki could have multiple relations at once. For example, I may be my grandfather's descendent, but I could also be his boss. The same elements may be related in multiple hierarchial ways.
A PlanetMath:semilattice is a poset in which you can take any two elements and say, "what do you get if you combine these two?". For example, if you had a wiki page "Rdf" for talking about RDF, and you had a wiki called "Wikis" for talking about wikis, you might ask, "is there a page for talking about RDF in the context of wikis?". If the wiki EspaceNom were a semilattice, then by definition the answer to any such question would have to be, "yes, there is such a page!". Because, the definition of a semilattice is that, if pages A and B exist, then the combination page AB must exist.
Maybe it would be clearer to think about this in terms of the concept "AND". If a wiki's EspaceNom is a semilattice with respect to "AND", and there is a page "Rdf", and a page "Wiki", then by definition, that wiki is forced to contain a page "RdfANDWiki?".
I don't think lattices are needed for this discussion, but you might be wondering what they are since you saw the word "semilattice". To understand this, you really should learn about posets and semilattices formally, in terms of symbols like <=. The upshot for specific example in the last section, though, is that in a 'lattice' you would also be guaranteed to have pages like "RdfORWiki?".
Contributors: BayleShanks
PeriPeri implémente une forme de RéglageBaseEspaceNom en conjonction avec le LienContextuel?. Voir PeriPeri, FacetWiki.
Chris, penses-tu que j'ai choisi une formalisation pertinente de l'idée ? C'est ce que j'avais en tête par "RéglageBaseEspaceNom" ?
Discussion ouverte sur SetBasedNamespace
PageTranslation SetBasedNamespace CategoryNameSpace DossierEspaceNom