Supporting Inference over Geometric Objects

Robert Woodbury, David Botta, Wilson Chang

Web pages are primarily designed to provide content in a form that can be viewed and understood by humans. With respect to this goal, a bitmap of text can have the same effect as the text characters in unicode, since they are visually rendered in the essentially the same manner. However, the text characters are much easier to recognize and process by machine; for example, by search engines indexing HTML documents.

The dream of the Semantic Web is to augment Web pages with metadata expressing relationships that trigger useful machine processes. This requires more than just making Web content machine-accessible. It also requires the formal encoding of relationships between elements of Web content, such as with Resource Description Framework (RDF), and it requires the use of standard ontologies shared by many processing agents, such as is the objective of the Web Ontology Language (OWL) initiative.

By contrast to HTML, SVG takes the notion of machine-accessible Web content well beyond the realm of text, and gives rise to new opportunities for expressing semantics over the Web. Every curve, shape, transformation, pattern reference, filter effect or animation can be easily recognized as such by an SVG processing agent. Meaningful groups of these elements can be the subject or predicate of RDF statements about the objects they represent. The same cannot be said of a raster image, as it retains no reference to the fundamental geometric structures that gave rise to its matrix of pixel values. Whereas a raster image is typically treated as a single noun in a grammar for Web resources, an SVG image can contain many nouns between which many relationships can be expressed.

For example, a diagram of a fan might have its parts individually identified: blades, shaft, motor, wires, magnets, etc. A metadata relationship useful in a factory setting might be that of inclusion. A fan includes a motor, which includes its induction coils, so when induction coil inventory is depleted fans cannot be built. If this is properly encoded as part of a Semantic Web, a software agent ordering fans might trigger an automatic check of inventory and a subsequent order of missing parts. Alternatively, this fan might be part of a blueprint showing a household appliance network, and appropriate semantic relationships can be helpful in programming the fan to turn on when the temperature is above a certain threshold and at least one person is in the same room.

Although semantics about appliances or other objects can be encoded in the absence of vector graphic diagrams, these diagrams are very useful accompaniments for human understanding. Any data or process can be effectively bound to a diagram of that data or process. Specific SVG features allow us to take this correspondence further: animations can effectively display certain processes, user events can trigger Web agent requests through scripting, and multiple views highlighting different semantic aspects can be achieved with stylesheets.

We will discuss the implications of a graphical Semantic Web, provide methods of encoding relevant semantics within SVG files, and present illustrative examples. SVG is useful not only as a container for metadata, but also as a means of displaying metadata. As a demonstration, our examples of RDF-infused SVG will be accompanied by SVG diagrams of the relationships encoded in the RDF.