Integrate disparate data sources with Semantic Web technology

A new developerWorks article.
developerWorks logo

I've given a presentation to both the New York and Washington D.C. semweb meetups about how useful semantic web technology can be even if you're data isn't stored as RDF. I showed a little app that pulls (fake) buy/sell/hold recommendation from an Excel spreadsheet and the latest stock quotes and DBpedia about the relevant companies from the appropriate sources, converts this data to RDF as necessary, and then combines it all into a nice-looking HTML report.

The general architecture is more important than the specific implementation, and to make this clearer I implemented it with all free software and then again with TopQuadrant's TopBraid Composer. I wrote an article about the free implementation that has just gone up on IBM developerWorks as Integrate disparate data sources with Semantic Web technology. It's even a featured article for a few days.

2 Comments

A great article. Just one thing, I would have liked to see a few lines of the RDF generated from Excel - to see what is being captured and processed.


Neil,

It's pretty straightfoward, e.g.


<rdf:RDF
xmlns:anrecs='http://www.snee.com/ns/analystRatings#'
xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'
xml:base='http://www.snee.com/ns/analystRatings#'>
<rdf:Description rdf:about='anrecs:1'>
<anrecs:analyst>Nick Perkins</anrecs:analyst>
<anrecs:tickersymbol>CAT</anrecs:tickersymbol>
<anrecs:company>Caterpillar Inc.</anrecs:company>
<anrecs:recommendation>SELL</anrecs:recommendation>
<anrecs:date-time>2010-07-14T13:36:00</anrecs:date-time>
<anrecs:description>Caterpillar has had an interesting quarter. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent sed lectus augue. Suspendisse nisl nisl, pulvinar eu luctus non, sodales non magna. Sed in metus arcu, sit amet ornare nunc. Duis fermentum, nibh quis fermentum sagittis, mi eros porttitor magna, sed dictum tortor quam ut lectus. Praesent eu est augue.</anrecs:description>
</rdf:Description>
<!-- etc. -->
</rdf:RDF>

Bob