Forgot your password?
typodupeerror
The Internet Books Media Book Reviews

Practical RDF 120

Posted by timothy
from the tools-applied dept.
briandonovan writes "World Wide Web Consortium (W3C) Director Tim Berners-Lee and his compatriots would like to transform the current Web into a 'Semantic Web' where 'software agents roaming from page to page can readily carry out sophisticated tasks for users' using 'structured collections of information and sets of inference rules.' The Resource Description Framework (RDF), designed as a language for expressing information about resources on the Web, and allied technologies are the result to date of ongoing efforts at the W3C to furnish Semantic Web proponents with the requisite tools. While it's far too early to predict whether TimBL's grand vision will be realized, RDF/XML (the XML serialization of RDF) is already in widespread use, having been incorporated into a surprising array of applications." Read on below for briandonovan's link-stuffed review of O'Reilly's Practical RDF.
Practical RDF: Solving Problems with the Resource Description Framework
author Shelley Powers
pages 331
publisher O'Reilly & Associates
rating 9/10
reviewer Brian Donovan
ISBN 0596002637
summary Great introduction to RDF, an assortment of tools and utilities for working with RDF, and some real-world applications.

RDF first hit my radar screen a couple of years ago while I was working on a barebones tool to manage my personal website. I was writing the code to generate RSS feeds ("What is RSS?") for my site and had to choose whether to support RSS 0.9x (non-RDF) or RSS 1.0 (RDF-based) or both. Long story short: I went with RSS 1.0 and was able to implement the feeds, but never got any further into RDF afterwards. I couldn't make headway through the RDF-related working drafts rapidly enough to justify the time that I was spending, there weren't any worthwhile-looking books available at the time, and the few online tutorials that I found were sorely lacking -- possibly because the specs themselves were still evolving as the RDF Core Working Group hashed out some remaining issues.

Fast forward a few years: the dust in RDF-land seems to be settling a bit (although new working drafts of all of the current RDF specs were released on September 5th, most of the changes from previous versions appear to be relatively minor) and, with the publication of Shelley Powers' Practical RDF: Solving Problems with the Resource Description Framework, there's finally a good book available on the subject.

Overview

After an introductory chapter that touches on the history of RDF and some applications of RDF/XML (the preferred, W3C-blessed serialization of RDF), the book is divided into three broad sections. In the first, the reader is guided through the raft of documentation produced by the RDF Core WG, including : Resource Description Framework (RDF): Concepts and Abstract Data Model, RDF/XML Syntax Specification, RDF Model Theory (formerly Semantics), and RDF Vocabulary Description Language 1.0: RDF Schema. Before moving on to Part II, where she surveys programming language support and tools available for working with RDF (with code snippets where appropriate), Powers spends a chapter developing an RDF vocabulary, "PostCon," that's used throughout the remainder of the book for demo purposes.

Chapter 7, the first in the tools-focused portion of Practical RDF is dedicated to (mostly Java-based) editors, parsers, validators, browsers, etc. for desktop use. Next, she dives into Jena, the Java RDF toolkit that began life as the labor of love of HP Labs researcher Brian McBride before being elevated to the status of a formal HP Labs project under their Semantic Web Research umbrella. Another HP Labs Semantic Web project, Damian Steer's BrownSauce, a slick little Java-based RDF browser, was introduced back in Chapter7. Means for manipulating RDF/XML in Perl (RDF::Core, part of Ginger Alliance's PerlRDF project), PHP (RAP, the RDF API for PHP), and Python (RDFLib) are addressed in Chapter 9. RDF query engines/languages are taken up next -- rdfDB QL, the query language of R.V. Guha's rdfDB (written in C); SquishQL, implemented in the Java-based Inkling query engine (built atop PostgreSQL); RDQL, used within Jena; and Sesame, a JSP/Servlet querying engine that supports both RDQL and its own query language, RQL, and can be deployed atop MySQL or PostgreSQL. Powers rounds out this part of her book with a chapter that deals briefly with the leftovers. Drive, an RDF API for C#, is briefly discussed along with RDF APIs for less fashionable programming languages : Nokia's Wilbur for CLOS, XOTcl for Tcl, and RubyRDF for Ruby. Redland, an RDF toolkit written in C with Java, Perl, PHP, Python, Ruby, and Tcl wrappers, is covered at some length (about half a dozen pages) and a couple more are given over to Redfoot, a Python RDF framework consisting of RDFLib (mentioned earlier in the Perl/PHP/Python chapter), a small-footprint HTTP server (according to the changelog at redfoot.net, they're using Medusa), and a native scripting language called Hypercode that lives within CDATA blocks in RDF/XML (example).

The last third of Practical RDF is devoted to uses of RDF and begins with a chapter on the OWL Web Ontology Language, an extension to RDF that's designed to supply more constraints for RDF vocabularies than can be provided by RDF Schema alone. This chapter would have been better situated after Chapter 5, which addresses RDF Schema, and feels a bit out of place here. RSS 1.0, the RDF-based syndication format, gets a chapter all of its own, beginning with a short synopsis of the evolution of RSS and the rift between the RSS 0.9x/2.0 and RSS 1.0 camps, progressing through descriptions of the RSS elements, some discussion of the use of modules, RSS autodiscovery, and aggregators (Amphetadesk, Meerkat, and NetNewsWire are mentioned), and finishing with an example RSS file (a syndicated list of book recommendations), producing RSS 1.0 using the Informa RSS Library (a set of Java classes), and merging two RSS 1.0 files using the XML::RSS Perl module. Two "Applications Based on RDF" (commercial and noncommercial) chapters top off the book. Noncommercial applications of RDF are visited first : Mozilla, where history and bookmarks, among other classes of information, are stored in RDF; the Creative Commons licensing scheme, whose proponents encourage content creators to embed RDF snippets into their documents and applications to provide information about the work itself and the restrictions placed on its reuse under the particular CC license that they've chosen; a Java and PostgreSQL based digital library system jointly developed by MIT and HP that uses RDF; and FOAF (Friend-of-a-Friend), an RDF vocabulary designed to express personal information and interpersonal relationships. Among the list of commercial applications utilizing RDF that comprises the final chapter in the book is Chandler, the same as yet very-alpha personal information manager that's managed to garner multiple mentions on this site.

The Verdict

The real meat of Practical RDF, for me, was in Chapters 1 through 6 (plus the OWL chapter, Chapter 12). This is not to say that the material in the last 2/3 of the book isn't useful or interesting. The section on RDF software tools is a great annotated survey of what's out there right now ... and I would imagine that installing and testdriving each of the software applications featured in those chapters must have been an extremely time-consuming process. The chapters describing real-world applications of RDF could be useful to someone trying to convince a manager that RDF is a viable, widely-used technology. Given a choice, though, I would rather have seen those pages spent on additional coverage of RDF, RDFS, and OWL with more example RDF vocabularies developed (like PostCon, which the author formulated, then refined through RDFS and OWL). The displaced material could have been made available online at the author's site for the book. A lot of that information will become less accurate over time as the software evolves and people come up with more applications for RDF anyway.

All nitpicking aside, though, if you're looking for a book on RDF, then you can't go wrong with Shelley Powers' Practical RDF.


You can purchase Practical RDF from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.

This discussion has been archived. No new comments can be posted.

Practical RDF

Comments Filter:
  • by Sir Haxalot (693401) on Tuesday September 23, 2003 @12:01PM (#7034561)
    here [amazon.co.uk]
  • by Anonymous Coward on Tuesday September 23, 2003 @12:02PM (#7034567)
    Amazon has this book for $8 more than bn. [amazon.com]
    Free shipping doesn't make up the difference...
    There are some cheap used copies, however...
  • by IWantMoreSpamPlease (571972) on Tuesday September 23, 2003 @12:02PM (#7034571) Homepage Journal
    A guide to Practical Reality Distortion Fields?

    Sign me up!
  • by egg troll (515396) on Tuesday September 23, 2003 @12:06PM (#7034600) Homepage Journal
    I thought it was the Robotech Defence Force. Now I feel cheated. :(
  • by stonebeat.org (562495) on Tuesday September 23, 2003 @12:11PM (#7034629) Homepage
    RDF is quite pratical - with or without the book. There are several hundred websites explaning how to use RDF in your application. There are classes for JAVA/PHP etc for this purpose. A interesting use of RSS is to integrate it with the IMAP, and get the latest email show up on your portal page.
  • by Gortbusters.org (637314) on Tuesday September 23, 2003 @12:13PM (#7034637) Homepage Journal
    Can be found using Dashboard [nat.org]!
  • by Hieronymus Howard (215725) * on Tuesday September 23, 2003 @12:15PM (#7034663)
    RDF first hit my radar screen a couple of years ago

    Was this meant to be a joke, since RDF also stands for Radio Direction Finding [directionfinder.com]?

    HH
  • by Googol (63685) on Tuesday September 23, 2003 @12:16PM (#7034664)

    RDF is a great idea. But it needs to loose the java and the XML. People who are attracted to those have no use for RDF--they want messages they can read without documentation. I know XML is more than that, but in the corporate world its attraction is "configuration files I can read after the author was outsourced".

    There are two XML movements--one creating a kludgy layer of application bureaucracy and the other visionary. RDF presently combines the worst of both. Neither "side" really wants it. AI is happy with ontologies and the corporate world is happy with messages 100 times larger than the underlying network protocol. (Could be worse: ASN.1 anyone?)

    *BUT* the underlying idea to RDF (ontologies for your metadata). RDF schema is really more important than RDF syntax. The idea is a simple model for describing metamodels. This fits in the same space as UML metamodels, and the Common Warehouse metamodels, only it is much more light weight and you can implement it with existing tools (you do have to use XML--eeeewww).

    XML serves one good perpose--it makes s-expressions socially respectable in corporate world and for that I am greatful. They almost got Scheme in too (DSSSL), but the angle-bracket police got them. Too bad.

    RDF can sneak in metaprogramming if you let it.

    =googol=
    • by XBL (305578) on Tuesday September 23, 2003 @12:41PM (#7034837)
      Angle brackets? I was just looking up DSSSL and it all looks like Scheme to me. What has become of DSSSL? it looks very cool.
    • by ihatesco (682485) on Tuesday September 23, 2003 @12:51PM (#7034936)
      RDF is a great idea. But it needs to loose the java and the XML. People who are attracted to those have no use for RDF--they want messages they can read without documentation.

      Ahem. Could you please elaborate more on this? If I am not mistaken RDF is good for creating links to physical resources with a certain kind of criteria that can be shared between different kind of applications.

      Like, for example, someone telling you about a new WiFI exploit on an IRC security channel, and making the program to find all the e-mails relevant to the subject on bugtraq, or something like that.

      I know XML is more than that, but in the corporate world its attraction is "configuration files I can read after the author was outsourced".

      Well, XML is a syntax. RDF is content.

      • by Googol (63685) on Tuesday September 23, 2003 @01:00PM (#7035034)
        Ahem. Could you please elaborate more on this? If I am not mistaken RDF is good for creating links to physical resources with a certain kind of criteria that can be shared between different kind of applications.

        What you are describing is the most common and original application of RDF--streaming content. RDF itself is also an XML-compatible syntax and a schema (box and arrow diagram) for that syntax. The intended interpretation of the syntax is the description of "models". That is, the RDF is a metamodel and its schema is a meta-metamodel.

        Think of it like a for layer model. You have your message (data), the structure of your message (metadata), the structure of your metadata (RDF), and the structure of RDF (RDF schema). Why 4 layers? Because everyone gets tired after 3--you don't need more than pointer to pointer to void in C: **mydata. Data plus two levels of abstraction is enough--you reach closure since a pointer to a pointer is still a pointer.

        Of course data describing data is also data, so you could stop at three levels. But everyone likes to think about models, not data, so you get three levels of models. RDF Schema is just a model for describing metamodels. Nothing to do with content at all, except as an application.

        =googol=
        • by ihatesco (682485) on Tuesday September 23, 2003 @04:13PM (#7037021)
          Think of it like a for layer model. You have your message (data), the structure of your message (metadata), the structure of your metadata (RDF), and the structure of RDF (RDF schema).

          Following your example we begin having something concrete... like a pic, let's say a nice artistic nude of a fiery redhead.
          Then the metadata is telling me that what I am displaying is a 16.000.000 colours jpg.
          Now, following your example is confusing, because you say that RDF is the structure of the structure of my message. RDF instead, as I understood it (see http://www.w3.org/TR/1999/REC-rdf-syntax-19990222/ [w3.org]) serves to tell a machine that the pic is a jpg having a very nice, nude, redhaired woman depicted artistically. So RDF jumps from layer 3, to layer directly 1.
          Am I wrong?

          Why 4 layers? Because everyone gets tired after 3--you don't need more than pointer to pointer to void in C: **mydata. Data plus two levels of abstraction is enough--you reach closure since a pointer to a pointer is still a pointer.

          I fail to see the problem in having the RDF Schema around. The RDF Schema is here only to say "RDF must have this syntax". If RDF was going to have a looser structure, then it would have been impossible to fix it down and oblige the writers of RDF-compliant software to stick to a single specification. So interoperability was going away.

          Also, why should we loose java? :)

    • by Knight2K (102749) on Tuesday September 23, 2003 @12:56PM (#7034992) Homepage
      Actually, you don't have to use XML with RDF; that's a fairly common misconception. RDF/XML is the 'blessed' serialization, but there are others and most of the RDF tools understand them. One example would be N3. Jena understands that and can actually spit out RDF/XML from N3 if you really need it.

      Personally, I would agree that RDF/XML is a losing mapping of RDF... too complicated to read and just seems like a poor fit for XML. It seems to me that RDF is definitely more graph-like, but you are trying to describe the graph in a language that is more tree-like. It works, it doesn't leave a nice taste. From the lurking I've done in other RDF forums and reading the articles, it seems like this opinion is not uncommon.
      • by Googol (63685) on Tuesday September 23, 2003 @01:17PM (#7035188)
        Protege Ontology Editor [slashdot.org]. If you think of the "four levels" I was talking about in database terms, metamodels are crucial for managing database schemas (models). Frame languages solve this problem by being lightweight, yet having enough expressiveness to build either objects or relational schemas without being fatally committed to either.

        The real secret of RDF is that RDF Schema is one *example* of how frame languages, onotologies, and knowledge bases (logic programming) might be used in environments where message formats, business rules, and resource descriptions are constantly changing.

        =googol=
    • by Trejkaz (615352) on Tuesday September 23, 2003 @08:31PM (#7039320) Homepage

      Java? Since when did Java have anything to do with RDF, any more than Java has anything to do with XML?

      (and 'lose' is spelled 'lose', not 'loose'.)

  • by Anonymous Coward on Tuesday September 23, 2003 @12:16PM (#7034671)
    the OWL Web Ontology Language, an extension to RDF that's designed to supply more constraints for RDF vocabularies than can be provided by RDF Schema alone
    Er...no. OWL allows you to define relationships between different RDF vocabularies. It has nothing to do with RDF Schema and sounds like it is in the correct place in the book. Please read this chapter again more carefully.
  • by 192939495969798999 (58312) <info.devinmoore@com> on Tuesday September 23, 2003 @12:22PM (#7034715) Homepage Journal
    Are we talking, "all the pr0n since yesterday", or "all the pr0n with red-haired women"?
    j/k :p
  • by deltagreen (522610) on Tuesday September 23, 2003 @12:23PM (#7034720) Homepage

    Perhaps it's just me, but the graphics on the homepage of The Friend of a Friend (FOAF) project [foaf-project.org](linked to from the review), actually makes me wonder if these so called friends have other reasons for describing us and our webpages. ;)

  • by antic (29198) on Tuesday September 23, 2003 @12:23PM (#7034724)

    $50 says Dave Winer is pissed off that he didn't get mentioned in this write-up...

    Double that if I do a gleeful dance when it turns out that he is. Weeee!
  • Spoilers. (Score:3, Funny)

    by Captain Large Face (559804) on Tuesday September 23, 2003 @12:25PM (#7034735) Homepage
    Damn it.. I hate it when reviewers give away the ending.. :(
  • by Anonymous Coward on Tuesday September 23, 2003 @12:26PM (#7034747)
    Welcome to the new programming "flavor-of-the-month".
  • by Erisian Pope (636878) on Tuesday September 23, 2003 @12:28PM (#7034751) Homepage

    I just finished skimming the whole book and reading about half. My biggest complaint is there isn't much guidance as to where you should go and define your own vocabulary and where you should use an existing one. The only vocabulary discussed besides the RDF core is Dublin Core. To make things worse, most of the examples shows using a custom vocabulary that unnecessarily defines 'Author' and 'Title' instead of using Dublin Core's 'creator' and 'title'.

    I like RDF alot, its really a great tool, but without some serious guidance and discipline when defining vocabularies its going to descend into babble and become pretty useless.

    Does anyone know of a good resource for finding emerging standards for RDF vocabularies so we don't all go out and reinvent the wheel?

    • by Anonymous Coward on Tuesday September 23, 2003 @12:37PM (#7034813)
      To make things worse, most of the examples shows using a custom vocabulary that unnecessarily defines 'Author' and 'Title' instead of using Dublin Core's 'creator' and 'title'.

      I like RDF alot, its really a great tool, but without some serious guidance and discipline when defining vocabularies its going to descend into babble and become pretty useless.
      No. This is what OWL is for. Just say that an 'Author' is a 'creator' and a 'title' is a 'Title' and you're set.

      RDF is deliberately designed to allow everyone to "reinvent the wheel" -- or, to put it another way, to invent a vocabulary that makes sense for their business -- without stopping them from communicating with each other.
  • by Anonymous Coward on Tuesday September 23, 2003 @12:30PM (#7034771)
    The rest of this comment is fluff. The subject line says it all.

    I'm sure RDF has plenty to offer to the world of online porn. Porn afficianados will more efficiently scour their favorite sites to find the material pertaining to their specific fetishes. Porn merchants will more easily attract the customers who seek them by exactly specifying what they have to offer instead of spamming the search engines with likely keywords.

    I can't wait!
    • by ihatesco (682485) on Tuesday September 23, 2003 @12:42PM (#7034849)
      I'm sure RDF has plenty to offer to the world of online porn. Porn afficianados will more efficiently scour their favorite sites to find the material pertaining to their specific fetishes. Porn merchants will more easily attract the customers who seek them by exactly specifying what they have to offer instead of spamming the search engines with likely keywords.

      I think that sites like Autopr0n could start this :)... the only problem is that they would need to have.

      What about other kind of sites like fark.com or bash.org? Hey! We could also convince taco, malda, roblimo to turn slashdot to rdf. :D

      Instant slashdot in your haystack
      http://haystack.lcs.mit.edu/

      The only problem is: think about the trolls trying to link all the Slashdot book reviews to the goatse pic... you open amazon, try to find the new Harry Potter for your child, look at the description (cached by slashdot) and see... Darl Mc Bride's picture where he is pouring hot grits on his pants :D

  • by Anonymous Coward on Tuesday September 23, 2003 @12:32PM (#7034781)
    I've been working in this area. First off the reviewer is wrong. There are very few production systems using RDF. In fact most of it right now is pure academic research. The commercial implementations of RDF graft on a whole bunch of things to make it useful. One critical flaw of the current thinking is URI is authorative and persistent. In other words, a URI uniquely identifies a domain and does not change. That is a falicy which does not exist in commercial sites. URI/URL's are rarely persistent or authorative. RuleML in my opinion is a much better approach to building a semantic web. As far as OWL goes. It is horribly broken and the commercial industry is moving towards other models of onotology. Most are actually going with a webservices model, rather than a strict ontology. There are numerous issues and problems which the current semantic doesn't address. For example the whole concept of binding is poorly addressed and is not flexibly. Many of the researchers believe RDF should be the object model, but companies are using schema, relaxNG and XMI. Semantic web holds a lot of promise if only they work out these critical issues.
    • by Anonymous Coward on Tuesday September 23, 2003 @12:41PM (#7034838)
      One critical flaw of the current thinking is URI is authorative and persistent. In other words, a URI uniquely identifies a domain and does not change. That is a falicy which does not exist in commercial sites.
      ....which is why you use tag URIs which are authorative and persistent: if I tag something with "www.mydomain.com:23.09.2003", I know that I owned mydomain.com on 23/9/2003 and that noone else can say that, so that URI will be mine for all time.
      • by Anonymous Coward on Tuesday September 23, 2003 @01:00PM (#7035045)
        www.mydomain.com:23.09.2003", I know that I owned mydomain.com on 23/9/2003 and that noone else can say that, so that URI will be mine for all time

        right and wrong. What happens when that domain no longer exists, but some rules or onotology refer to it. That fact is no longer valid and there's no way to resolve it. If something is authorative, it must resolve and be persistent. Obviously this is only true if you believe in the strictest definition. That isn't to say it couldn't work, but what if you have "www.mydomain.com:4/08/2005". And it is suppose to override the previous one. Now image this happening a couple of times. This means you would have to maintain all those truths. It's simply not practical on a large scale. One of the complaints from the semantic web group is the current model is not scalable. Well neither is forcing URI to be authorative in the strictest sense.

    • by Knight2K (102749) on Tuesday September 23, 2003 @01:01PM (#7035053) Homepage
      URI's don't have to point to a domain necessarily. URN's seem useful here; or globally unique identifiers that are quasi-independent of domains.

      I think one issue might be that anybody can make a statement about any URI and have it merged into a model... how do you know what is authoritative?

      I'm curious to know what is broken with OWL that makes it unsuitable for commerical use? My understanding is that it isn't final yet, so that might be an issue. Is there something fundamentally wrong with it?

      • by Anonymous Coward on Tuesday September 23, 2003 @02:03PM (#7035597)
        The definition from the official OWL page states this.

        The OWL Web Ontolgoy Language is a language for defining and instantiating Web ontologies. Ontology is a term borrowed from philosophy that refers to the science of describing the kinds of entities in the world and how they are related.

        to put it in non-technical terms. Ontologies can be though of as categories of knowledge. The example on OWL site talks about an agent searching for wine with specific parameters. The specification says OWL says:

        Most of the elements of an OWL ontology concern classes, properties, instances of classes, and relationships between these instances. This section presents the language components essential to introducing these elements.

        In their examples, the model is described by RDFS, which is predominantly not used by commercial products. Let's say for a second the commercial world change their minds and dumps schema, xmi, and relaxNG. The next question is how is the relationship described? OWL predominantly uses mapping, but mapping is not sufficient. Mapping by itself does not explicitly build a knowledgebase. There's still a lot of debate between congnitive scientists, AI and CS researchers. Most of the examples I've seen are very simplistic. Basically it looks like meta-data, but it could be most interpretations of OWL is wrong from the intent. I don't know for sure. Regardless of why current examples fails, it does not clearly define how models represent knowledge. I favor a knowledged base approach where models, meta-data, mapping and rules describe the domain. But I'm biased, and other will disagree.

  • by jamesbrown1000 (39200) on Tuesday September 23, 2003 @12:35PM (#7034795) Homepage Journal
    a practical Reality Distortion Field? try e-mailing this guy [mailto] -- he may be able to help you a bit more.

    (see what a mac-addled brain turns Slashdot stories into on first glance?)
  • by Karamchand (607798) on Tuesday September 23, 2003 @12:36PM (#7034806)
    Wasn't Shelly Powers the girl from Austin Powers?
  • RDF Tools (Score:3, Informative)

    by MarkWatson (189759) on Tuesday September 23, 2003 @12:36PM (#7034810) Homepage
    I enjoyed this book review - useful, and the links to tools are useful.

    One tool not mentioned: the semantic web library for Swi-Prolog [swi-prolog.org] that provides a high level toolkit for dealing with RDF, Owl, etc. Since the hoped-for use of RDF is applications that make logical inferences, Prolog seems like a good language to use :-)

    The Jena and Sesame packages are written in Java and also are very good tools.

    The big problem is getting people to use RDF - this technology can only be useful if enough people use it (think FAX machines).

    I believe that the earliest large scale adoption of Semantic Web technologies will really be on company LANs and be used for organizing company/.organizational information.

    Think of shifting from information technology to knowledge management technology.

    -Mark

  • by Anonymous Coward on Tuesday September 23, 2003 @12:38PM (#7034821)
    TBL's opening example in the Sciam article makes me giggle, since up until recently I worked in healthcare IT. While everyone else is trying to move from EDI to XML, the current big Y2K-scale issue in the healthcare industry is moving *TO* EDI. A lot of stuff is still phone calls, paper, and resistance to change. By the time the healthcare industry is ready to implement RDF, we'll all have nanobots in our blood and won't need doctors anymore.
  • by inteller (599544) on Tuesday September 23, 2003 @12:39PM (#7034831)
    ...and here I was thinking Veritechs were now becoming practical for everyday use.
  • by the_rev_matt (239420) <slashbot&revmatt,com> on Tuesday September 23, 2003 @12:43PM (#7034853) Homepage
    I've read it as well, and largely agree with the review though I would say a little more strongly that if you are new to RDF this is an invaluable resource. There's lots of great information online, but not with this cohesive style and concise format.
  • by jargoone (166102) on Tuesday September 23, 2003 @12:47PM (#7034890)
    My company's intranet site acts like a portal (I know the term is overused), and it relies heavily on RDF files to gather data. Slashdot is one of the sites it gathers information from, and it makes it a very nice, uniform page.
  • by dnaumov (453672) on Tuesday September 23, 2003 @12:47PM (#7034895)
    ...who after seeing the title of this article thought of a book by Steve Jobs ? :)
  • by B5_geek (638928) on Tuesday September 23, 2003 @12:47PM (#7034896)
    Was I the first one to think about the Zentradi and all the cool new toys that might become available if they realised that the RDF might be practicle?
  • by plasticmillion (649623) <matthew@allpeers.com> on Tuesday September 23, 2003 @01:29PM (#7035261) Homepage
    I have to admit that I haven't been following RDF closely for a year or so, but I did spend a lot of time investigating the standardization effort from its inception (in like 1996... no joke). At the time I was struck by the appallingly obfuscated specification and syntax.

    It seems like a lot of progress has been made since then, but personally I still don't see the point. If you buy into XML as the "lingua franca" of semantic data interchange, then great. I do too. But what exactly is RDF useful for? If we can agree on an XML schema for our data, we can exchange it directly without the need for yet another layer of abstraction on top of it.

    The really hard part is agreeing on the schemas, and this has nothing to do with RDF. Having worked in one XML vocabulary standardization effort (Universal Business Language), I can only stress that the technical and political challenges of getting any group of individuals and companies to agree on any common data format are enormous. For example, it would be great if Amazon and B&N used the same schema for their book descriptions, but imagine trying to make this happen (particularly as they are likely to feel that the specificities of their formats represent some kind of competitive advantage).

    So until proven wrong I continue to believe that RDF is nothing but smoke and mirrors. The easy stuff is done by XML right out of the box, and the hard stuff has nothing whatsoever to do with data structures and wire serialization formats.

    • by danbri (33353) on Tuesday September 23, 2003 @03:01PM (#7036181) Homepage
      The RDF design addresses the concerns you raise, by virtue of RDF's focus on data merging. You can't take two arbitrary XML documents and (without domain knowledge) reliably merge the information they encode. You can with RDF; just merge the sets of triples that constitute the two RDF graphs. This has knock-on effects in the real world: the granularity of "mixing and matching" between independent vocabularies is much finer. Instead of picking whole document formats, you can use just some parts of another's RDF vocabulary. This gets us away from a situation where you have to decide to use, or not use, an entire XML vocabulary.

      For example, FOAF documents often contain bits of markup designed in other fora, alongside terms from the core FOAF vocabulary. Markup that describes places (lat/long/alt etc)., documents (Dublin Core), syndication (RSS), 1000s of noun terms (Wordnet), and various others (blood type, food preferences, biographical details).

      RDF makes it cheaper to put together this sort of composite information, since the groups (formal and informal) who came up with these vocabularies didn't need to sit around a table together and agree a single common DTD or XML schema. They each did what they do best, and RDF glues it all together.
      • by plasticmillion (649623) <matthew@allpeers.com> on Tuesday September 23, 2003 @03:14PM (#7036318) Homepage
        Perhaps I am playing devil's advocate here, but not intentionally. I really don't get it. Let's say I design a set of XML schemas using XSD [w3.org], along the lines that you mention (i.e. places, documents, syndication, etc.). Each one has it's own namespace.

        Why couldn't I just make an FOAF schema that pulls in the element types from the appropriate "component" schemas, qualifying the types with the correct namespaces?

        It still strikes me that RDF is simply an alternative to XSD, and it's not clear to me why it is a better one.

      • by expro (597113) on Tuesday September 23, 2003 @05:48PM (#7038019)
        The RDF design addresses the concerns you raise, by virtue of RDF's focus on data merging. You can't take two arbitrary XML documents and (without domain knowledge) reliably merge the information they encode. You can with RDF; just merge the sets of triples that constitute the two RDF graphs. This has knock-on effects in the real world: the granularity of "mixing and matching" between independent vocabularies is much finer. Instead of picking whole document formats, you can use just some parts of another's RDF vocabulary. This gets us away from a situation where you have to decide to use, or not use, an entire XML vocabulary.

        Does this really work if they were not built using common data types?

        Say one document is using arabic numbers and the other is using roman numerals. Number format has been fairly well standardized, but as we go further to date, and many more types, they are even more of a problem.

    • by Kirth Gersen (603793) on Tuesday September 23, 2003 @11:34PM (#7040444)
      A few years ago I did some work on XML and reached similar conclusions. I decided XML needed a standard for joining and extending the schemas. This proposal is as far as I got: Cooperative Data Assembly [panix.com]
  • by *weasel (174362) on Tuesday September 23, 2003 @01:32PM (#7035285)
    /(...)/ == sarcasm

    On our staggeringly democratic web, anyone can be a publisher, and as Meta tags have shown - not everyone has the truth in mind.

    I find it odd to note that it is never discussed how RDF will be kept from rapidly degenerating into Meta-tag style abuse.

    Will there be an authority that will verify content descriptors, or at least handle complaints of abuse?

    I would honestly like someone to prove me wrong, to show me where the technology prevents, handles and/or reduces abuse. Because I'm genuinely excited about what is possible with a trustworthy intelligent network. However, I'm just not seeing it here.

    Even normally trustworthy hosts tend to have some disingenuous information in their RSS feeds when they think it will benefit their business.

    (Eg. altering post dates or posting phantom or questionable updates to get more hits from feed subscribers, broadly labelling their content to avoid being properly categorized to expand their exposure, etc)

    So is it accounted for?
    • by tigre (178245) on Tuesday September 23, 2003 @01:53PM (#7035499)
      because i have the exact same question.
    • by Anonymous Coward on Tuesday September 23, 2003 @02:05PM (#7035622)
      So is it accounted for?

      the official or semi-official stance is the world has to followed the decree. So the short answer is no. the whole ball of wax is resting on it being "truthful". To my knowledge, the current semantic web model doesn't have the concept of truth worthiness or truthful-ness. Since it's suppose to be true!!!

    • by Kenneth Stephen (1950) on Tuesday September 23, 2003 @03:04PM (#7036220) Journal

      I confess that I am still dipping my toes into RDF, but I think I know the answer to your specific objection : reification

      Think about it : how does one deal with truths, half truths and lies in the real world? One internally assimilates various sources and ascribes trust levels to them. If Joe is known to be a liar, then most statements coming from him are suspect. RDF doesnt make that inference, but it does allow you to record the fact that the source of a particular statement is Joe, and not Mary, who you trust a lot more.

      I assume that this is the reason for the reliability of Google. Its database not only records statements (webpages), but it also records who is making those statements and the ranking function probably associates a trust level to the source of the statements.



      RDF is not an inference engine. But it does provide the infrastructure to build an inference engine upon.

      • by Anonymous Coward on Tuesday September 23, 2003 @03:15PM (#7036328)
        RDF is not an inference engine. But it does provide the infrastructure to build an inference engine upon.

        right, except the semantic web is using CWM (closed world machine) as the engine. I won't bother going into CWM, but it's not a inference engine. It's closer to firewall rules than anything else.

    • On our staggeringly democratic web, anyone can be a publisher, and as Meta tags have shown - not everyone has the truth in mind.

      So what? You give people the ability to say things and some will tell the truth and some will lie. But you do not say a system is a failure because some people use it to lie. People lie on Slashdot. So what? People lie with title elements. People like with XML elements? So what? You are an information consumer. You must choose your information providers carefully. How does RDF prevent that? If you are naive enough to write an agent that believe everything it is told, no matter what the source, then you will write software that is easily fooled. So don't do that.

    • by Glass of Water (537481) on Wednesday September 24, 2003 @12:34AM (#7040707) Journal
      Strange question. There is no more guarantee in the semantic web that anyone will tell the truth, than in the current html web. That is not the point.

      You could use a web-of-trust style system though, or reification, to try to build a reputation system that would resist the type of gaming you describe. This is not an inherent feature of the semantic web, but it would be easier to do than with the current web.

    • by Isofarro (193427) on Wednesday September 24, 2003 @05:00AM (#7041725) Homepage
      I find it odd to note that it is never discussed how RDF will be kept from rapidly degenerating into Meta-tag style abuse.

      This is one of the questions I had in mind during Tim Berners-Lee's lecture at the Royal Society [royalsoc.ac.uk] earlier this week (There's a streaming media of the lecture itself - and this question was raised - I think it was the first one in the Q&A session). The answer lies in much the same solution used by the web and its visitors today.

      What happens when you visit a website that contains false and blatantly wrong information? You don't go back there. So you'd only use sources you trust. (Face it, you don't trust _everything_ on the World Wide Web right? Yet the web works as a medium despite this "flaw").

      Its the web's way of routing around the damage - the damage of false information.

    • by Anonymous Coward on Wednesday September 24, 2003 @07:45AM (#7042274)
      This is not a problem; it is a business opportunity. Seriously.

      Just think about it: Google got around the problem of META tag abuse by skipping them and relying on others. It doe snot take much imagination to "page rank" RDF entries on a similar basis. The authority then is just the collection of users out there with publically available RDF entries.

      Come to think of it; Google already has every part in place to actually do it now.

  • by graffix_jones (444726) on Tuesday September 23, 2003 @01:39PM (#7035352)
    of this story I suspected it was going to be a book about the life and times of Steven P. Jobs.
  • by Psychic Burrito (611532) on Tuesday September 23, 2003 @03:07PM (#7036246)
    I ran over the pages of Spinning the semantic web [amazon.com] today - does anybody know if this book is worthwhile my time?

    Thanks!
    - PB
  • Or more to the point, How will ownership get in the way? For the masses, turning the web into a repository of all knowledge and distributing tools to digest it and do things with it would be great. But what ultimately drives progress is its ability to make money. What blocks progress is its negative impact on the people who are already getting most of the money.

    Since the Internet came online we have seen a tremendous, mostly obstructionist reaction from the relatively small community that claims ownership of information. Although copyright conveys no actual ownership, the concepts of "stealing" and "pirating" information have become solidly entrenched. People who put information in front of the public are increasingly trying to control what happens to it. They feel they not only own the information itself, but are entitled to get paid whenever anyone benefits from it in any way.

    I don't see this community of information controllers sitting still while other people develop new and wonderful uses for "their" data. What I do see is lawmakers giving them more and more control over types of progress that may infringe their rights, and to perpetuate those rights indefinitely. So when I read about the rosy future of RDF and all its benefits for mankind, I have to think, yeah, and we'll have jetpacks, undersea cities and lunar vacations by the year 2000.
  • by slazlo (87565) on Tuesday September 23, 2003 @03:53PM (#7036780) Homepage
    At my site which a combination blogger/yahoo groups/office pool central any user can make their own blogs [23pools.com] and provide RSS feeds. In addition the users can build their own FOAF RDF files [23pools.com] which can then be used to explore their network of connections. SVG plugin required.
  • by wfberg (24378) on Tuesday September 23, 2003 @04:50PM (#7037452)
    There is nothing practical about RDF.
    The syntax is horribly complex for what it does, which is basically assert relationships between pairs (think isa(tweety,bird), where 'isa' is the relationship). Also note that asserting relationships between pairs is NOT at all sufficient to model real world data (think update anomalies); which is why we have much better models, such as the relational model, and the prolog and LISP datastructures. (In fact, prolog comes with an assert statement)

    With RDFS you can define restraints on relationships; for example that in the relationship is_married_to(M,F) the participants M and F should be of a different gender (just an example folks, visit Amsterdam!). Again, this is done in a horribly convoluted syntax, and it cannot model some very useful restraints.

    Furthermore, the tools for RDF c.s. are not up to scratch. Buggy parsers, buggy GUIs, apps that are not under active development, memory footprints that are insane.

    RDF is useful only for RSS, which, by-the-by, doesn't conform to the RDF/RDFS specs - precisely because of the tools.

    For storing data in a meaningful way, even the simplest of databases (yes, mysql) is much better. If you want to have better constraints on stuff, and perhaps even do some nifty "inference engine" stuff, stick to prolog if you need that sort of thing, it will make life much easier, even though it's a scary language and not as hyped as XML. (Other options would be CLIPS/Jess, LISP/Scheme or some custom made magic).

    I've worked with RDF and it plain sucks. No two ways about it. Just say no to RDF!
  • by DuckFoundry (451178) on Tuesday September 23, 2003 @05:08PM (#7037671)
    Most of the RDF tools are in Java, but some folks doing C# may be interested in Drive [driverdf.org], and excellent RDF parser for C#.
  • by Anonymous Coward on Tuesday September 23, 2003 @07:26PM (#7038855)
    The TAO of Topic Maps [ontopia.net].
  • by MasonMcD (104041) <.moc.cam. .ta. .dcmnosam.> on Tuesday September 23, 2003 @07:35PM (#7038919) Homepage
    For a second there, I thought they had channelled Steve Jobs' reality distortion field.

    "Use it for fun, or profit! Amaze your friends! Make women succumb to your power!"

    Throw in some sea monkeys and a pair of x-ray specs, and you'd have my credit card number.

One picture is worth 128K words.

Working...