Overview History MatML Schema Examples News Links


<p>
1350<br>
metal<br>
aluminum alloy<br>
H18<br>
From “Properties of Aluminum Alloys - Tensile,
Creep, and Fatigue Data at High and Low
Temperatures.”<br>
Axial-Stress Fatigue Strength (ksi)<br>
<table>
<tr><td>23</td></tr>
<tr><td>17</td></tr>
<tr><td>15</td></tr>
</table>

Figure 1: Aluminum Alloy Data in HTML
MatML is an extensible markup language (XML) developed especially for the interchange of materials information. Perhaps the best way to describe MatML is by example and in contrast to HTML. Materials property data distributed on the World Wide Web in documents using hypertext markup language (HTML) present two problems for computer applications intending to use the data: interpretation and interoperability.

Figure 1 contains an HTML code fragment for aluminum alloy data. Since the data are not self-describing, one would need a complete data dictionary and glossary of terms as well as exact detailed knowledge of the document structure in order to write a computer application that uses these data without human intervention. In Figure 1, for example, it would be necessary to distinguish the descriptors of the material (1350, metal, aluminum alloy, ASTM B230, H18) from the property data (table of axial-stress fatigue strengths in ksi units). Assuming a consistent structure within and across documents from the data source, it would then be possible to parse and interpret those data programmatically for subsequent use in another computer application. In the absence of tightly and consistently structured documents, a data dictionary, and a glossary of terms, however, interpretation arises as a key stumbling block for automated use of the materials property data contained in HTML documents.

<MatML_Doc>
   <Material>
      <BulkDetails>
         <Name>1350</Name>
         <Class>metal</Class>
         <Subclass>aluminum alloy</Subclass>
         <Specification>ASTM B230</Specification>
         <ProcessingDetails>
            <Name>H18</Name>
         </ProcessingDetails>
         <PropertyData property=”p1” source=”s1”>
            <Data format=”integer”>23,17,15</Data>
         </PropertyData>
      </BulkDetails>
      <Metadata>
         <DataSourceDetails id=”s1”>
            <Name>
            “Properties of Aluminum Alloys - Tensile,
            Creep, and Fatigue Data at High and Low
            Temperatures.”
            </Name>
         </DataSourceDetails>
         <PropertyDetails id=”p1”>
            <Name> Axial-Stress Fatigue Strength</Name>
            <Units name=”ksi” Description=”kip per square inch”>
               <Unit>kip</Unit>
               <Unit power=”-2”>inch</Unit>
            </Units>
         </PropertyDetails>
      </Metadata>
   </Material>
</MatML_Doc>

Figure 2: Aluminum Alloy Data in MatML
If interpretation of data were not an issue, the computer application developed to parse and use the data would likely encounter serious difficulties were it to try using data from other structurally dissimilar sources. Interoperability, then, would be a limiting condition for the use of the computer application across structurally dissimilar data sources even if data dictionaries and glossaries of terms were available.

MatML addresses the problems of interpretation and interoperability for materials property data exchanged via the World Wide Web. The example given in Figure 1 might be coded as in Figure 2 and would allow an application to interpret and use materials data regardless of their sources.

HTML tags specify only how the data are to be formatted for display and convey no description of the data themselves. While this aspect of HTML has enabled the publication of billions of web documents, it, nonetheless, represents a serious drawback to those who wish to automate the processing of the data contained in those documents. To address this problem, the Extensible Markup Language was developed and released by the World Wide Web Consortium (W3C), an international group of approximately 500 member organizations dedicated to developing common protocols that promote the evolution of the Web and ensure its interoperability.

XML enables communities, such as materials scientists and engineers in the case of MatML, to define their own domain-specific tags and document structure, i.e., they can create their own languages for data management and exchange that, in turn, permit efficient parsing and interpretation of those data via software.

The descriptive nature of the MatML tags, such as <Name>, <Class>, and <Subclass> is plainly evident, permitting the language to be far more intelligible than non-descriptive fixed tagsets such as HTML. At the same time, MatML defines a coherent and consistent document structure for its tags, which ensures that any programming language can be used to parse and process the data in whatever manner required.


Overview  •  History  •  MatML Schema  •  Examples  •  News  •  Links