Download (direct link):
Parts of RDF are complex. Several factors combined make RDF significantly more complex than XML documents. The three chief culprits in this equation are mixing metaphors, the serialization syntax, and reification. First, the model mixes metaphors by using terms from different data representation communities to include linguistic, object-oriented, and relational data, as shown in Table 5.1. This type of flexibility is a double-edged sword: Good because it unifies modeling concepts from different domains, yet bad in that it causes confusion. This attempt to meld viewpoints is stated in the RDF Recommendation: "As a result of many communities coming together and agreeing on basic principles of meta data representation and transport, RDF has drawn influence from several different
sources. The main influences have come from the Web standardization community itself in the form of HTML meta data and PICS, the library community, the structured document community in the form of SGML and more importantly XML, and also the knowledge representation (KR) community."1 One other potential problem with such metaphor unification is frustration by inexact or poor mapping to the original concepts specified by each community.
Second, RDF syntax allows the RDF graph to be serialized via attributes or elements. In other words, you can express one RDF model in two different ways. This can be yet another problem for validation due to too much flexibility.
/ X— P V /
Figure 5.7 RDF adoption.
Vendor Site Hits
Table 5.1 RDF Metaphors for Its Modeling Primitives
METAPHOR PART1 PART2 PART3
Language Subject Predicate Object
Object-oriented Class Property Value
Graph Node Edge Node
Web link Source Link Destination
Database Entity Relation Entity
1 Resource Description Framework (RDF) Model and Syntax Specification, W3C Recommendation, February 22, 1999.
Understanding the Resource Description Framework
Third, the hierarchical RDF/XML syntax (called the "striped" syntax) is difficult to author by hand and is better left to tools. In general, it is confusing to represent lists of statements as a hierarchical tree. The current method used in the RDF/XML syntax makes differentiating between objects and properties very difficult. Lastly, reification has not yet proven itself and adds another level of abstraction to the RDF model. For XML developers first trying to move from the simple name/value pairs of XML to the triple, statements about statements are too complex. While reification matches natural language, it is a foreign concept to all of the other data communities. In other words, if you deem a triple to be a fact, you don't want assertions saying it is not a fact. Most applications treat data as facts and implement data integrity procedures to ensure that axiom holds true. With reification, nothing is bedrock; everything is just an assertion, and you must follow a potentially infinite chain of assertions about assertions where one may contradict another at any time. Several RDF implementations and knowledge bases disallow the use of reification. Reification is a feature of RDF that is not for every application and can be safely avoided. The authors believe that the complexity of RDF will be resolved by the emerging set of tools, training and familiarity with the concepts, and the willingness to accept some additional complexity for the additional benefits of higher-fidelity meta data.
Early RDF examples are weak. RDF applications like Dublin Core (DC) and RDF Site Summary (RSS) are weak in that they do not highlight the unique characteristics of RDF. It is important to note that both of these examples are highlighted in the RDF Primer (available at http://www .w3.org/RDF). While the Dublin Core elements are useful standard definitions for resource description, they are not exclusive to RDF and can be used in HTML or XML documents. Table 5.2 demonstrates a Dublin Core description in RDF and HTML.
In Table 5.2, it is evident that the Dublin Core elements are a vocabulary that means the same thing in either representation format. In RDF, they are represented as an element (like dc:title), and in HTML, they are represented as attributes of the meta element. Therefore, the Dublin Core elements are not strictly an RDF application but a small vocabulary that can be used in RDF as well as in other markup languages. The RDF Site Summary (RSS) is an XML syntax that has flip-flopped between an RDF syntax and an XML Schema syntax. The acronym RSS originally stood for Rich Site Summary as an XML document, then changed to RDF Site Summary with the 1.0 version and recently has been reintroduced by Dave Winer of UserLand Software as the Real Simple Syndication format as RSS 2.0. The purpose of RSS is to provide syndication of a set of story headlines called channels. The developers in favor of an XML Schema version of RSS point