Chapter 5: Realizing a Metadata Framework 157 15 16 some initiatives, for example, using Dublin Core in XML or Didl Lite 17 used in UPnP. There is one more issue worth discussing. Since we emphasize the importance of capturing as much context and usage history as possible, it also means that there are huge amounts of personal and private information stored. Some of that metadata is never intended to be seen by others. For instance, it can be questionable to list of people who were present while a photo was taken. Our framework contains a fi eld for each tag for every object, describing if the tag can be exported or not along with the content binary. This implies that the user can specify that the location for one image is public and fi ne to export, while exactly the same metadata used in another content object is not exportable. Yes, it is meta-metadata we are talking about. 5.6 Our Metadata Ontology Although there are various defi nitions to describe metadata of different content types, none of them fulfi ls the needs posed by the mobile using environment. Since there is no metadata standard that describes all the metadata types that we need, we have defi ned our own ontology to describe the metadata and to give a semantic meaning to the meta- data. Reasoning and inference tools can then be used to create new metadata that is not self-evident from the metadata properties. The sections from this point onwards are occasionally technical in nature, and targeted at those readers more profi cient in software devel- opment. Feel free to skip them if you are not interested in all these technical details, since they will not affect your understanding of the remainder of the book. The simplest way to store metadata is to store just attribute-value pairs into the database, perhaps using the fi lename as a key. It does not matter what data is stored or how it is stored; it is just dumped into database. This could eventually lead to many problems, especially since we aim at interoperability between applications. There would be no consistency checks whatsoever. As a result, the length of an audio track, for instance, could be a negative number or even a non-numeric value, since it would be up to the application developer to decide how 15 http://dublincore.org/ 16 Didl Lite schema: http://www.upnp.org/schemas/av/didl-lite-v2-20060531.xsd 17 http://www.upnp.org
Personal Content Experience Page 180 Page 182