170 Personal Content Experience: Managing Digital Life in the Mobile Age ontology is extensible. Software installed on a mobile device can extend the ontology as needed. We created the default ontology, discussed in this section, to always be available in the framework. The default ontology models all basic data that a modern mobile device handles. This includes photos and images, audio and video clips, and different kinds of collections. More specifi c types of the known types can be introduced by inheritance. The new metadata defi nition inherits all properties of the parent meta- data defi nition. Multiple inheritance is allowed, but the names of the property defi nitions must not collide; if two classes contain the same property defi nition, only one of them can be inherited in a subgraph in the ontology. For example, if a developer needs to create a new image type, a stereoscopic image, they create a new object schema for it. Since a stereoscopic image shares all image-related attributes, such as width and height, the developer will inherit the stereoscopic image schema from the image schema. As a result, all image properties are also now available for the stereoscopic image. Next, all properties that are unique to the special image class can be added. Once the new defi nition is ready, it can be a parent for even more specifi c objects. This way, any developer can extend the existing ontology and does not need to create everything from the scratch. One consequence of the “pick and choose” design is that the ontol- ogy is not a hierarchical tree structure, but an acyclic network of schema defi nitions. This allows more fl exibility in dividing content to different groups. For example, if your application uses a timeline, you may model all content that have time-related properties (instances of such schemas that have chosen time-based schema as their parent). These objects include both videos and music, whereas in a traditional ontology hierarchy, they would be completely separate. The ontologies are separated with namespaces. Thus, the same class and property names can be used in different ontology extensions without collisions. The default namespace cannot be modifi ed by the developers, but anyone can defi ne an ontology extension and inherit from the default namespace. An ontology extension can be created, and later new schema defi nitions can be added to the extended schemas, but existing defi nitions cannot be deleted nor modifi ed. Figure 5-5 shows an example of where a new metadata schema object uses pre-existing defi nitions. The system does not only offer basic metadata management ser- vices, but also complex event, relational, and context metadata based queries. The applications can subscribe to receive notifi cations when a specifi ed item changes, an item of a certain type is inserted, or an event occurs. This allows, for instance, an application to maintain its
Personal Content Experience Page 193 Page 195