Login | Register   
RSS Feed
Download our iPhone app
Browse DevX
Sign up for e-mail newsletters from DevX


Storing and Using RDF in Mulgara

The semantic web is about machine-processable metadata. As you accumulate this information, where do you plan on putting it, and how do you plan on accessing it? Check out this open source solution.

f you've been following semantic web technologies, then by now you're no doubt aware of semantic web data languages like the Resource Description Framework (RDF) and the Web Ontology Language (OWL). When you're talking about storing semantic web data, usually you're talking about RDF triples, which are facts about URI-addressable resources.

Why RDF triple stores? To efficiently store and query RDF, you are most likely not going to want to use relational databases directly. It isn't that there is something inherently wrong with relational databases; it's just that the more general RDF model doesn't fit efficiently within a table structure, and the web moves faster than your schemas can keep up.

A relational database works because you tell it what relationships exist in your data. With these relationships fixed in time, you are able to efficiently store and retrieve instance information that fits into that structure. If you ever change your mind about how to structure that data, you need to modify how you describe it to the relational database management system (RDBMS) and massage the old structure into the new. This process can be an expensive and time-consuming effort even if you understand how to do it.

In a single organization this process is difficult, but a sense of common purpose (or a strong-willed and empowered few) can usually bring about a consensus of what the structure should be. As the world changes around you, your needs will change. Even if you could slow down the influence of external events, you see the past and the future through the lens of the present. You are constantly assessing and reassessing your understanding of the world, and you'll certainly change your understanding of your domains, their terms, their relationships, and so on.

Now imagine trying to bridge the chasms of language, culture, competing values, different business priorities, and downright obstinacy. These will be among your challenges when trying to share data across the web. Attempting to get people to agree to most things is a difficult task. One of the most successful and widely used RDF vocabularies is the Dublin Core Metadata Initiative. This effort defined terms and relationships for publication metadata, and is a reasonably well-understood domain that was considered by a reasonably well-functioning standards body. Still, it took approximately seven years to agree on a set of around fifteen terms!

The point is simply that sharing data on the web requires an extensible, open-world model that allows people to agree to disagree. This characteristic is what RDF was designed to provide. After you commit to using the RDF graph model, you need someplace to put it efficiently—triple stores give you this ability. Several systems work well at this functionality, but the focus here will be on a particular solution, called Mulgara.

Comment and Contribute






(Maximum characters: 1200). You have 1200 characters left.



Thanks for your registration, follow us on our social networks to keep up-to-date