Download (direct link):
<example_chp5:SourceCode rdf:about="&example_chp5;example-chp5_00015" example_chp5:name="stuff.java" rdfs:label="example-chp5_00015"/>
example_chp5:name="Jane Jones" rdfs:label="example-chp5_00016">
<example_chp5:writes rdf:resource="&example_chp5;example-chp5_00017"/> </example_chp5:System-Analyst>
example_chp5:name="John Doe" rdfs:label="example-chp5_00018">
<example_chp5:writes rdf:resource="&example_chp5;example-chp5_00015"/> </example_chp5:Software-Engineer>
Listing 5.7 RDF instance document.
In Listing 5.7, notice that the classes of the RDF schema in Listing 5.6 are not defined using rdf:type or rdf:about; instead, they use an abbreviation called using a "typed node element." For example, instead of <rdf:Description>, Listing 5.7 has <example_chp5:System-Analyst, which is an rdfs:Class in Listing 5.6. In terms of knowledge capture, Listing 5.7 captures the fact that the SystemAnalyst, Jane Jones wrote the DesignDocument named "system.sdd," and that the Software-Engineer, John Doe, wrote SourceCode called "stuff.java."
Understanding the Resource Description Framework
In this section, we saw how RDF is the foundation layer for RDF Schema that enables you to create new RDF classes and properties. Another key benefit of RDF is that it allows you to do noncontextual modeling, described in the following section.
What Is Noncontextual Modeling?
Over the years, businesses have used standard document types to easily convey the context of a specific business transaction. For example, a purchase order is a common document shared between companies with little difficulty even if there is some variation in specific fields or the order of fields. The shared understanding is facilitated because the context is conveyed or fixed by the document type. In that same vein, XML documents have a fixed context provided by their root element and governing schema (formerly called the Document Type Definition, or DTD). For example, in the XML.org schema registry, there are many specific document types for each vertical industry. If we examine the Human Resources-XML Consortium Schema for a Resume (http://www.hr-xml.org), we could probably guess most of the fields even without looking at the sample in Listing 5.8.
<?xml version="1.0" encoding="UTF-8"?>
<Resume xmlns="http://ns.hr-xml.org/RecruitingAndStaffing/SEP-2_0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
Listing 5.8 Example of contextual modeling (a resume). (continued)
<Objective> To obtain a leadership position in the field of Electronic Commerce</Objective>
<Title> E-Business Program Manager - Business to Business integration (B2Bi) Program</Title>
<OrganizationName>Aircraft Engines (GEAE)</OrganizationName> </OrgName>
<Description>Key Player in the GE growth initiative bringing IT leadership into our acquisition/ JV strategy.
Ensured fundamental IT capabilities were present in acquisition targets in order to maintain a competitive advantage and ensure future growth.
Led cross-functional team on due diligence, and negotiations activity for $100M+ acquisitions.
Led several new market opportunity assessments and Instrumental in acquisition strategy development including negotiation of partnership structures and negotiating potential new market opportunities.
<!-- remainder omitted for brevity. -->
Listing 5.8 (continued)
Before continuing our discussion, it is very important to understand that this section is not making a value judgment on contextual versus noncontextual modeling, as both are useful. It is not a question of better or worse, but a question of whether your specific application is better served by fixing the context or not fixing the context. In some ways this is the classic trade-off between flexibility in the face of change versus reliable execution via static processes. For many applications, fixing the context at the document level is the best method. One example of this would be high-volume static transactions between well-known trading partners. When the environment is stable and the volume is high, it is both easier and more efficient to strictly fix the context of documents and messages to reduce errors and increase throughput. Of course, the opposite situation, where neither the environment is stable nor the volume is high, is the classic example where flexibility and noncontextual modeling are the best choice. We will examine more situations where noncontextual modeling is applicable in the following paragraphs.