This document is the catalog of the namespace roots currently in use at INRIA, and the FAQ for registering new namespaces.
- Catalog of namespace roots
- What are INRIA's namespaces ?
- What are the naming convention ?
- Who can register a namespace ?
- How to register a namespace ?
- Which resources should I place on this server ?
- What is the timelessness of registered namespaces ?
- How to put a resource on this server ?
- How to manage accounts inside a root namespace ?
- Why some namespaces are rewritten to another (alias) URL ?
- Is it possible to process this catalog automatically ?
- What is...
...and date-paths roots
Namespaces are computer science practices used for naming and identifying various objects (in the large sense of the term) ; they occur in several shapes, they are used to achieve different goals, and various naming conventions are applied on them. For example :
- to specify an object class: org.w3c.dom.Element
- to identify a document: urn:oasis:names:tc:entity:xmlns:xml:catalog
- to stand for a parameter or a feature: http://xml.org/sax/features/validation
- to point to a generic transformation process: http://www-sop.inria.fr/acacia/soft/RDFa2RDFXML_v_0_6.xsl
By taking into account the amount of software, the number of specifications and projects lead by INRIA that are using such a mechanism, INRIA supplies this server as a place holder for namespaces defined by projects, services, or individual working at INRIA. People are encouraged to define their own namespaces based on the current URL http://ns.inria.fr/ or http://ns.inria.org/ ("ns" stands for "namespace", and has been choosen to have the shortest base URL).
INRIA namespaces are available in the 2 following formats :
(where /path is optional or can have several steps, nsroot denotes a namespace root, and YYYY-MM-DD is a date-path)
Although URLs are case sensitive, in order to avoid confusion, 2 namespace roots can't only differ on the case.
Some namespace roots that are not preceded by a date-path are reserved :
- Projects names are reserved. Only permanent members of the ACACIA project can create a namespace under http://ns.inria.fr/acacia/.
- Software names are reserved to the project, service, or individual that owns it.
Other namespace roots are delivered as one goes along. The date-path part of a namespace -if any- is shared by all and offers facilities for version management. If a new project is created but the namespace root is already registered, the format where the date-path is involved can be used as an alternative.
Note : http://ns.inria.fr/ and http://ns.inria.org/ can be used indifferently for naming (this choice is left to the designer), but they MUST NOT be used to distinguish 2 namespaces.
INRIA's namespace registration is granted to any permanent agent working at INRIA. If you are a visitor, student, invited professor or any other, please ask your project manager or one of his collaborators to register himself.
The registrer of a namespace root becomes the administrator of the dependant resources, and can delegate the server updates to other people.
Simply send a mail to [dsi.ns [at] inria · fr], and specify :
- the base URL (optional date-path + namespace root) you want to register,
- the project or service that you belong,
- your login
The purpose of this server is to deliver a resource for each namespace (called the main resource), that explains the what and why of the namespace, and eventually that supplies links to additional resources (documents, softwares, etc...).
The main resource could include:
- the namespace itself (that should be repeated in the description as aliases can be used)
- the description of the namespace
- the owner (project, service, individual)
- its nature (specification, implementation, schema, etc)
- its status (approved, deprecated, replaced, etc)
- qualified links to additional resources ("qualified" means that a role is specified for the link, for example if the link point to an implementation)
- any other relevant information
Notice that additional resources can also be placed on this server (you are also allowed to create subdirectories). This server should supply a main resource for any namespace, but all URLs that are referring existing resources on this server are not necessary namespaces.
To make the main resource readable by human and processable by programs, the better way is to make it in XML, as suggested below :
- XHTML with pieces of XML extensions such as RDDL or GRDDL that could be processed by programs, or with microformats.
- a pure XML format such as RDF with a stylesheet association to make it human readable.
By definition, a namespace -once defined- lives forever, even if it is deprecated. A root namespace is allocated for ever, and the dependant namespaces should always refer to a main resource. The main resource is a living document that can evolve during time.
Exceptions can be made if a namespace has been wrongly reserved for any reason (name mismatch, cancel, etc) ; usually, once announced, a namespace becomes permanent and should never be deleted.
The base URL and subdirectories are accessible by WebDAV under SSL through the port 8443 (that is to say : https://ns.inria.fr:8443/path/to/somewhere). WebDAV is also known as "web folder" under Microsoft, and lots of clients are available in many platforms and languages. Under Konqueror, the webdavs URL scheme can be used in place of the https scheme (that is to say : webdavs://ns.inria.fr:8443/path/to/somewhere).
If there is a path after the namespace root, you can put a file in the relevant directory with the relevant name ; if there isn't a path after the namespace root, you must name the main resource either index.xml or index.html or index.xhtml and place it under the relevant directory. In any case, the last part of the path can be a directory and the main resource named with one of the default names above ; it is recommended to do so if the last step of the path of the namespace doesn't end with an extension (.html, .pdf, etc).
For example, if the namespace is http://ns.inria.fr/acacia/corese, it is preferable to create a directory named corese under the namespace root acacia and to put index.html within rather than naming the file corese directly under the namespace root acacia.
Previous steps of the paths can be leaved empty, but if you are the owner you can also put files within. If a directory doesn't contain one of the index.xxx files, a default page will be displayed for navigation.
Once the base URL (optional date-path + root namespace) created, you will find a single file on the server that grants you write access. This is an access control list that follows the rules specified by the Apache httpd server, and that you can update. Please refer to the relevant documentation for this purpose. You can add and remove users which identifier is known in the INRIA LDAP directory.
As this server stands for a catalog of the INRIA namespaces, the important point is to supply the main resource bound to a given namespace. The physical place where it is located on the server is not so important, but may differ slightly from the namespace, this is why the main resource should specify which namespace it is describing. For example, web servers are usually making some arrangements with URLs that are not ending with a slash "/" and that are mapped to a directory, and URLs that are referring to a directory may be mapped to the file index.html in this directory.
Additionally, date-paths YYYY-MM-DD are mapped to an implicit alias YYYY/MM/DD for server-side management facilities.
The thing to notice is that although the physical path may differ from the namespace one, the namespace doesn't change at all and is still used to retrieve the main resource. Just consider that the real path is an implicit alias to your namespace. If you're not convinced, copy and paste your INRIA namespace into your browser's address area, you will get the relevant resource.
At this time it is not trivial for a program to browse the catalog as relevant links are mixed with others ; this page and the intermediate page will be enhanced with meta informations encoded in GRDDL.
An XSLT stylesheet will be proposed soon for transforming these pages and your own pages to extract RDF descriptions from the main resource of your own namespaces.
- an additional resource of a namespace ?
- an alias ?
- a date-path ?
- the main resource of a namespace ?
- a namespace ?
- a namespace root ?
Notice that the scope of the above terms is limited to this document.
Author: DSI/SEISM [web-support [at] inria · fr]