Download (direct link):
We will close this section on a positive note, because we believe that RDF adoption will pick up. Like the proverbial Chinese bamboo tree, RDF is a technology that has a long lead time. The Chinese bamboo tree must be cultivated and nourished for four years with no visible signs of growth; however, in the first three months of the fifth year, the Chinese bamboo tree will grow 90 feet. The authors believe that RDF's watering and fertilizing has been in the form of mainstream adoption of XML and namespaces and that we are now entering
Understanding the Resource Description Framework
that growth phase of RDF. Here are the five primary reasons that RDF's adoption will grow:
■■ Improved tutorials ■■ Improved tool support ■■ Improved XML Schema integration ■■ Ontologies
■■ Noncontextual modeling
Improved tutorials like this book, the W3C's RDF Primer, and resources on the Web fix the complexity issue. Improved tool support for RDF editing, visualizing, translation, and storage (like Jena and IsaViz, which we have seen, and Protégé, which we will see in the next section) fix the syntax problem by abstracting your applications away from the syntax. This not only isolates the awkward parts of the syntax but also future-proofs your applications via a tool to mediate the changes.
Most RDF authors write their RDF assertions in N3 format and then convert the N3 to RDF/XML syntax via a conversion tool (like Jena's n3 program).
Improved integration with XML documents is being pushed both inside and outside of the W3C, and many bridges are being built between these technology families. The RDF Core Working Group recently added the ability for RDF literals to be typed via XML Schema data types. Another example of RDF/XML document integration is an RDF schema available to validate the RDF in simple Dublin Core documents. This schema is available at http:// www.dublincore.org/documents/dcmes-xml/. Another way to solve the validation problem is to have the namespace URI point to a document, which describes it as proposed by the Resource Directory Description Language (RDDL), available at http://www.rddl.org/. There is work under way to allow RDF assertions in RDDL. So, the momentum and benefits to combining XML and RDF are increasing, as highlighted in the article "Make Your XML RDF-Friendly" by Bob DuCharme and John Cowan, available at http://www .xml.com/pub/a/2002/10/30/rdf-friendly.html. Ontologies and ontology languages like the Web Ontology Language (OWL), discussed in Chapter 8, are layered on top of RDF.
Many see ontologies as the killer application for the Semantic Web and thus believe they will drive the adoption of RDF. In the next section, we examine RDF Schema, which is a lightweight ontology vocabulary layered on RDF. Lastly, ontologies are not the only killer application for RDF; noncontextual modeling makes RDF the perfect glue between systems and fixed data models. Noncontextual modeling is discussed in detail later in this chapter.
What Is RDF Schema?
RDF Schema is language layered on top of RDF. This layered approach to creating the Semantic Web has been presented by the W3C and Tim Berners-Lee as the "Semantic Web Stack," as displayed in Figure 5.8. The base of the stack is the concepts of universal identification (URI) and a universal character set (Unicode). Above those concepts, we layer the XML Syntax (elements, attributes, and angle brackets) and namespaces to avoid vocabulary conflicts. On top of XML are the triple-based assertions of the RDF model and syntax we discussed in the previous section. If we use the triple to denote a class, class property, and value, we can create class hierarchies for the classification and description of objects. This is the goal of RDF Schema, as discussed in this section.
Above RDF Schema we have ontologies (a taxonomy is a lightweight ontology, as described in Chapter 7, and robust ontology languages like OWL, described in Chapter 8). Above ontologies, we can add logic rules about the things in our ontologies. A rule language allows us to infer new knowledge and make decisions. Additionally, the rules layer provides a standard way to query and filter RDF. The rules layer is sort of an "introductory logic" capability, while the logic framework will be "advanced logic." The logic framework allows formal logic proofs to be shared. Lastly, with such robust proofs, a trust layer can be established for levels of application-to-application trust. This "web of trust" forms the third and final web in Tim Berners-Lee's three-part vision (collaborative web, Semantic Web, web of trust). Supporting this web of trust across the layers are XML Signature and XML Encryption, which are discussed in Chapter 6.
In this section, we focus on examining the RDF Schema layer in the Semantic Web stack. RDF Schema is a simple set of standard RDF resources and properties to enable people to create their own RDF vocabularies. The data model expressed by RDF Schema is the same data model used by object-oriented programming languages like Java. The data model for RDF Schema allows you to create classes of data. A class is defined as a group of things with common characteristics. In object-oriented programming (OOP), a class is defined as a template or blueprint for an object composed of characteristics (also called data members) and behaviors (also called methods). An object is one instance of a class. OO languages also allow classes to inherit characteristics and behaviors from a parent class (also called a super class). The software industry has recently standardized a single notation called the Unified Modeling Language (UML) to model class hierarchies. Figure 5.9 displays a UML diagram modeling two types of employees and their associations to the artifacts they write and the topics they know.