Hi everybody. So far I had a great time and I’m very proud to be here! I hope you are still interested after so many presentations in such a short time. I’m going to talk about Linked Data and how you can use it in your own iPhone applications. I developed a web service and client, called Lodsy, for accessing Linked Data more easily But first I’ll introduce my self.
But who am I ? My name is Henk Jurriens
I come from Holland and I live in Deventer, a small but very nice city.
and I have one big passion : programming. A long time ago, it started with the famous Commodore VIC-20 Hacking Basic, playing
Currently, I work for Profict and we’re mainly focused on JEE. But I’m also interested in other topics such as JVM languages, web frameworks. For example : Grails and Groovy, HTML 5 Groovy is a new dynamic language and looks like Java. Grails is a web framework and based on Groovy. You can be very productive with Grails!
Talking about HTML 5, 11 and 12 june we’re going to organize the first Dutch HTML5 Hackathon. You’re welcome!
Anyway if you want to know more about me... But let’s talk about Linked Data
Where am I going to talk about? Explaining Linked Data What tools you can use for developing for iPhone Lodsy
The goal of Linked Data is to extend the Web with data by publishing various open datasets as RDF links between data items from different data sources
DBpedia - a dataset containing extracted data from Wikipedia; it contains about 2.18 million concepts described by 218 million triples, including abstracts in 11 different languages (see GeoNames provides RDF descriptions of more than 6,500,000 geographical features worldwide. FOAF - a dataset describing persons, their properties and relationships
Circle size Triple count Very large >1B Large 1B-10M Medium 10M-500k Small 500k-10k Very small <10k Linked Data is growing very fast. Millions of triples
Another definition of Linked Data
Tim Berners Lee, inventor of the World Wide Web, published a set of principles for Linked Data 5. Just do it!
The technology stack looks likes this. I’ll explain a few . Gleaning Resource Descriptions from Dialects of Languages. RDFa (or Resource Description Framework – in – attributes)
In essence a simple data model It’s about writing down relations Motivation Web is a global, universal information space for documents Can we do same for data? RDF is the data format for that database
a restaurant has a title ... and this is called a graph
this is called a triple : (s, p, v)
in a database table it looks likes this
But of course a restaurant has more properties....
and a restaurant has relations...
a restaurant has a title ...
different standards for describing resources Dublin Core is a standard for describing different kinds of resources
Turtle or N3 RDF/XML
Turtle RDF/XML
- Pull values from structured and semi-structured data - Explore data by quering
an example of a data set
returns all triples with a property dc:title
Google is harvesting rdf data Drupal and WordPress are using it for adding metadata to posts Amazon And Facebook!
There are different technologies you can use for developing iPhone Apps such as ....
SDK : main development tool, XCode, Interface Builder Objective C is the programming language for developing iPhone applications
within an application you have different views. The 2 most important views - tableview - webView
and this is an example of an webView and this is really nice! In this webView you can use HTML5
I don’t go in detail about HTML5, but it has really nice features. And Robert did a great job by his presentation “Introduction to HTML5”. Especially the canvas-tag
Also I’m using CSS3 for some nice animation
Also I’m using google maps api for the maps
There are many javascript libraries.. but iProcessing.js makes your live easier with drawing on the canvas
For accessing Linked Data I created a Web service and a iPhone App using this service. First take a look at the architecture
Lodsy is an application for exploring Linked Data. Exploring is based on concepts, for example a person, a restaurant These concepts can be filtered by facets
Lodsy - web application offering services for the client, in this case a iPhone app LOD - Linked Open Data, Triple Store - triple store for storing triples iPhone - a client for consuming the Lodsy services
Lodsy has the following services SPARQL is an endpoint for sparql queries.. Facets is a services for request facets.. later I’ll explain what facets are Views is a services for the visualization of triples
Facet is a term from “Faceted Navigation” Faceted Navigation is a method of exploring your information by filtering on specific terms, a facet In our example, a facet is a property of a concept “Restaurant”
Facets are mapped to a property of our triple. And a has also a type. This type can be used for different types input methods. Such as - text field - calendar field - etc