Difference between Namespaces and Application Profiles
Namespaces
The W3C XML community defines a mechanism called XML namespaces, which can be used as a single XML document containing elements and attributes that are defined for and used by multiple software components. This use by multiple software promotes re-use and restricts re-invention.
Their Definition: An XML namespace is a collection of names, identified by a URI reference which are used in XML documents as element types and attribute names. XML namespaces differ from the "namespaces" conventionally used in computing disciplines in that the XML version has internal structure and is not, mathematically speaking, a set.
In the context of AOS Initiative, the elements defined in Agricultural Metadata Element Set (AgMES) constitute a namespace. The AgMES element set defines newly coined elements needed for accurately describing information resources in the domain of agriculture. This element set will be maintained at a stable location and will identify a reference point where elements are defined and are maintained to be used by different applications.
For example, the AgMES namespace provides the following information:
- it identifies the management authority for all the elements and schemes, which in this case is WAICENT, FAO;
- it provides unique identifiers for elements; and
- it uniquely defines schemes and controlled lists.
The creation of the AgMES will be an on-going process. Proposed new elements and schemes might be appended to the current list after proper procedures are followed.
Application Profiles
The concept of an application profile is not new and therefore several definitions have been provided by different communities. An article published in the Journal of Digital Information, recounts several such definitions from communities such as Z39.50, IEEE standardization, FGDC etc.
With their experience in the European DESIRE project, Heery and Patel introduce 'application profile' as a type of metadata schema.
Their Definition: An application profile is a type of metadata schema which consist of data elements drawn from one or more namespaces, combined together by implementors, and optimized for a particular local application.
In the context of AgStandards Initiative, an application profile has the above definition. The elements in every AgStandards application profile will consist of elements, refinements and schemes drawn from the DCMES, AgMES or any other namespace from which a term might be reused to meet the needs of the FAO applications.
For example, the AGRIS application profile does the following:
- It draws elements from existing namespaces, namely DCMES and AgMES;
- It introduces no new data elements;
- It specifies the cardinality and data-typing information;
- It specifies the application specific schemes and controlled list values; and
- It slightly refines standard definitions of some of the elements.
The benefits of differentiation in the context of the Coherence initiative
The accurate differentiation of these two terms is required to emphasize the different purpose they serve.
A namespace schema allows new terms to be coined, allowing them to have unique URIs. Additionally, the use of namespaces allows other implementers in the same or different domains to see if a term has already been coined, therefore reducing reinvention of similar terms having different meanings or different terms having similar meanings.
The use of application profiles allows implementers to share information about the data-model of their applications. This will allow interweaving between a wider group of audiences, and within communities, and promote common terminology and good practices in sharing information.