This page is English Version of the Japanese article of this blog.
There are use cases of storing the metadata (or semantics) excluding drawing in the SVG Map data, and doing processing that uses it. These processing corresponds to the processing done with GIS in general. Needless to say, the conspicuous processing of GIS is mapping of geospatial information.
Here, the object of the metadata might have the case of the entire document and the case of an individual graphics primitive in the document.
There is a geographic coordinates reference system description of SVG as an example of the former. The method of putting information described by RDF/XML in the metadata element right under the svg element is used as the notation.
And, the method similar to the former can be adopted for latter metadata. (However, it will use xlink to specify an individual graphics primitive. ) (Reference information) In addition, there is a method of storing the metadata of RDF/XML by setting up the metadata element as a child element of each graphics primitive, too. However, these methods are disadvantageous in the storage efficiency of data and processing efficiency of the viewer.
On the other hand, it seems that the microformats-like method of setting up metadata in each graphics primitives as attributes is effective in this viewpoint. (Reference information) This method doesn't violate the recommended specification of SVG, though this method doesn't conform to the notation of RDF/XML.
Especially, the following advantages are pointed out for processing efficiency.
- Connection processing of separating information is unnecessary in the processing stage, because neither the graphics primitive nor metadata are separate in the document.
- The optimization of the processing performance is easy, because the assumption of the insertion of an unspecified data structure (There are metadata structure below < metadata > elements. ) in individual graphics primitives is unnecessary.
- It is easy to set the style to an individual figure based on metadata, by a simple tool such as text editors. (Of course, it is also possible to use XSLT. )
- # Please refer to this article about the advantage of a storage efficiency side.
Moreover, the utilities of simple techniques such as microformats and GRDDL are acknowledged.
The SVG Map consortium will support metadata by this simple method by occasion of above.
Specification for embedment of metadata in individual graphics primitives
- Metadata can be set up in each graphics primitive as attributes.
- The data structure by corresponding RDF is as follows.
<graphicsPrimitiveName id="ID" attributeName="attributeValue" .../>
[ID]:(subject) -- attributeName:(predicate) --> [attributeValue]:(object)
It is likely to be declared at the same time as follows.
[ID]:(subject) -- rdf:type:(predicate) --> [graphicsPrimitiveName]:(object)
- It is necessary to declare the namespace to the metadata's attribute respectively.
- The attribute based on two or more vocabularies can be set by declaring two or more namespaces.
- Literal (character string and numerical value, etc.) and resources (URL,URI) can be used as a property value. The limitation of the value is assumed to be dependence on the schema (RDF Schema is assumed as it. ) specified for a namespace declaration.
- Two or more property values can be given to one attribute by using the comma separated value.
- In the graphics primitive to which metadata is set, it is desirable that the id attribute is set. (When it is not set, it might be considered an anonymous node in the data structure of RDF. )
dc:title="OOX company building"
stroke="green" d="....." />