Daniel’s Blog

Don’t consider me weird… (micropost)

April 30th, 2008 by daniel
Respond

Don’t consider me weird…

Yes I have started reading a Deepak Chopra book (”The Third Jesus”) in my (very little) spare time… mainly to read when I am not at the conference next week, and during my week off the week after. Plus I’ve just bought the newest album by Kula Shaker “Strangefolk“.

Seriously I’m not weird, honestly… maybe a tiny bit hippie ;-)

Anyways… back to work, and listening to Kula Shaker

No Comments.

Clearing up some misconceptions… again

April 30th, 2008 by daniel
Respond

Hi all,

This is just clearing up the misconceptions that Ben Werdmuller has written in his Guest Post on ZDnet titled “Guest post: Introducing the Open Data Definition”.

“The semantic web community has RDF, a format designed for the purpose that is potentially powerful but – as one might expect from the semantic web community – prone to ambiguity and overcomplicated implementation.”

Thats just a cheeky comment about the Semantic Web community! Anyway, I’ve already mentioned that RDF isn’t complicated at all in my Simple RDF blog post. Some of the commenter’s also explained it in their own way, and one commenter said that RDF is actually too simple! In the Semantic Web community; we aren’t some wacky bunch of academics, a lot of us are actually in business and actually implementing this stuff in real life (Companies such as Microsoft, Adobe, Sun Microsystems, OpenLink Software, Mozilla, Nokia, Skype, BBC, Joost and Oracle are all using RDF in one way or another)

“In small doses, it works (FOAF is based on a subset of RDF),”

FOAF is not a subset of RDF, it is a vocabulary. Just as XHTML is defined in an XML Schema, FOAF is defined in an RDF Schema.

“but for more abstract data, it becomes exponentially harder to build for.”

Thats actually rubbish. RDF was made to describe abstract and concrete data: “one persons data is another persons metadata”. There are also the RDF Schema and OWL frameworks if you need even more descriptions.

“Adding new data fields requires doing contortions in XML, which makes it harder to generate dynamically.”

Thats wrong in so many ways. RDF is NOT XML, therefore you don’t need to do “contortions in XML”. Plus RDF is dynamic when you use it as a distributed web language.

“RDF parsers are also not widely supported,”

There are a lot of RDF tools out there already, including parsers (take your pick from the many on the list).

“and it seems unlikely that most web coders would bother to read through the specification, let alone sit down and actually write compliant software.”

Coders don’t want to read any specifications, this shouldn’t be a comment specifically about RDF. There are lots of tutorials and frequently asked questions available about RDF, the Semantic Web and Linked Data… including my recent three blog posts:

Lets just repeat this again. RDF is not XML, and RDF is not a format. RDF is a linked object modeling framework for the emerging Web of Data. XML and N3 are formats which can show RDF. FOAF and SIOC are vocabularies of RDF, and are not subsets.

Seriously, if there are any questions then do ask… because nobody likes misconceptions/misunderstandings. We are friendly people in the Semantic Web community, feel free to email me, or if you don’t want to come to me then there is the Semantic Web IRC channel #swig on the freenode network.

Many thanks,

Daniel

1 Comment

People who have inspired me

April 28th, 2008 by daniel
Respond

So just a quick blog post (while my stomach digests my miso-noodles) which I have been thinking about doing for a while.
I wanted to let you know of various who have inspired me and in some way influenced my thoughts and actions. I’ll start with the ones within Computer Science, and then go into other areas.

People who have inspired me in computing (met)

Dr Ravji Pindoria

Dr Ravji Pindoria was one of my tutors at the Further Education College that I went to between 2001 and 2003. He was incredibly inspirational, not just in computing but in the things that he did and said. Ravji taught me the C++ programming language, I will always remember him saying that C++ is “not quite a horse, not quite a donkey” because of its ability to be either Object Oriented or Procedural.

Ravji was a great teacher, and quite academically minded. I think he has influenced me when it comes to the fact that I love teaching, breaking things down into allegory.

Ravji also gave me some spiritual advice, he is a Swaminarayan Hindu and I really admired the peace that he gave off. He was also vegetarian. One of the things that I remember him telling me was that “as long as you have some kind of faith, and some kind of morality then I think you’ll be fine”. I turned out to be a Liberal/Mystic Christian and vegetarian, and fascinated about other religions (particularly of Dharmic/Eastern origin).

(Image above is linked to from RavjiPindoria.com )

Dr Ian BayleyIan Bayley

Dr Ian Bayley was one of my lecturers at the University that I went to for my BSc (Hons) Intelligent Systems and Software Engineering. He taught me a number of things, including the Haskell programming language and Object Oriented Design Patterns.

I consider Ian to be an inspiration, not just because he was a great teacher, but because he knows almost everything… in fact he is one of the British Quiz Playing Champions.
(Image above linked to from QuizPlayers:Ian Bayley . Ian do you have a newer picture somewhere?)

Oli WinksOliver Winks

I met Oliver “Oli” Winks during my work experience year, and we became good friends. We often talked about artificial intelligence & artificial life, and discussed our academic plans for the future. We both stopped working for the same company at about the same time, I went off to do my final year of my undergrad degree and he went off to do his masters (and now his PhD).

He inspires me because I have interests in Symbolic AI and logic based systems/algorithms, whereas he is very connectionist/soft-computing/biologically-inspired. We also used to talk about Buddhism from time to time. I hope to write a paper or two with him in the future.

Also, his brother has a cool band called the Joff Winks Band.

(Image above linked to from Oli’s staff page at the University of Sussex)

People who have inspired me in Computing (not met (yet))

Tim Berners-LeeTim Berners-Lee

Founder of the Web, Head of the W3C, Linked Data Genius, Unitarian Universalist, British.

Tim Berners-Lee is an inspiration, he knows who to do things with best intentions for people, academia and business. There is little more that I can say about Tim, just pure awesomeness.

( Tim’s picture in Wikipedia, taken by Uldis Boj?rs)

Kingsley IdehenKingsley Idehen

He is my boss, the chief of OpenLink Software. I haven’t met him yet, but I expect that I will do soon.

Kingsley Idehen isn’t any ol’ boss. He really does know what he is talking about when it comes to technology and his own products. Like many of the people already discussed, he is incredibly clever and I seriously wouldn’t be surprised if his head was actually some kind of large knowledge based system.

Kingsley is also a really nice guy, he understand business but has got a clear picture about academia too.

(Photo of Kingsley on Flickr, taken by Henry Story)

Alan TuringAlan Turing

British Computer Science Genius.

Alan Turing knew his stuff! He invented things like the Turing Test and the Turing Machine… and he created many of the theoretical underpinnings of a lot of stuff that I (and many) do today.

(Photo of a statue of Alan Turing, taken by doeth)

Lotfi ZadehLotfi Zadeh, created the idea of Fuzzy Logic

Probably not a well known name to people outside of artificial intelligence, but Lotfi Zadeh created Fuzzy Logic, Fuzzy Mathematics and Fuzzy Set Theory. A very clever man, who has inspired me to think outside the box. Fuzzy Logic essentially is about the real numbers in between 0 and 1, so its quite different to the traditional binary logic that most computer scientists know and love. Think outside the box!

(Photo of Lotfi Zadeh from Wikipedia)

People not inside Computer Science who have inspired me (not met (yet))

  • The Dalai Lama, Tenzin Gyatso. A great leader, an advocate of peace and a charismatic interfaith dialogue advocate.
  • The Archbishop of Canterbury, Rowan Williams. Also a great religious leader, and he has a similar view to Christianity as I have (He is quite Liberal and quite Catholic, whereas I would say that I am very Liberal and quite Catholic). Also open to interfaith dialogue. There was a bit of uproar by conservative Christians about Rowan being chosen, and this was because of his liberal stance…. but it takes a liberal person to be accepting enough of the range of people in the Anglican denomination.
  • Meister Eckhart. A German Theologian, famous for his mystic ideas. I’ve read up a bit about his work in the past, and consider it to be true. (He died in the early 1300s, so I doubt I’ll meet him)
  • There are many more!

People not inside Computer Science who have inspired me (met)

  • The Vicar who taught me Christianity, and got me ready for my Baptism and Confirmation: Rev. Andrew Bunch.
  • Rev. John Pritchard, the Bishop of Oxford: Baptised and Confirmed me into Christianity and the Anglican Communion.
  • Hazel Hobbs: Reiki master, she attuned me to level one Usui Shiki Ryoko Reiki. She inspired me by showing me eastern chi/ki/qi practices.
  • Hazel Appleton: A great friend ever since we met randomly on the web. She has provided me with various bits of advice about life and spirituality.
  • My parents and my sister. Obviously a big influence as they are my family!
  • My girlfriend, Beki. Has been a fantastic girlfriend and also a support ever since I met her. You know true love by experiencing it!

No Comments.

Traffic Jam… or Traffic Marmalade?

April 28th, 2008 by daniel
Respond

I am currently doing some work while on the coach on the way back to Oxford from my parents house in north west Kent, and there is a bit of a traffic jam:

Traffic Jam near High Wycombe, 28th April 2008. On Oxford Tube coach

Its quite close to High Wycombe on the M40, and…. oh… it looks like we are now out of the jam. Probably added about half an hour on the journey.

I also wanted to try out the camera on my new phone, the Sony Ericsson P1i. Its a very nice phone.

Anyway, back to working on tutorials and getting rather nervous about next week (for those who don’t know its XTech next week… and I’m presenting on the Wednesday…)

No Comments.

Linked Data: The role of the Data Server

April 27th, 2008 by daniel
Respond

So I have talked about how RDF is really simple, and why Linked Data are the roots of the web… but we need a way of serving this data in a meaningful way, this is where the Data Server steps in!

The allegory continues……

A data server diggs out linked data from the soil

Here we see our home-grower digging up some potatoes.

The potatoes are Linked Data Objects (with relations interconnecting them), the home-grower is our data server and the act of digging is the process of fetching information (via a method such as REST). The soil is the machine-friendly Data Web.

Because the potatoes cannot be eaten straight from the ground:

A data server needs to prepare and cook data to give it context

The home-grower will need to prepare the potatoes by peeling, chopping and then cooking them. They may be cooked by boiling, baking or using some other method.

The home-grower is still a data server, and the act of preparing and cooking is to be able to get the data in a certain context with other information that the user demands, different users will want to see things in different ways hence the different cooking methods. Context is essential.

The potatoes are then ready to serve:

A data server will serve the data in a human friendly way

Because different people will like to eat their potatoes in different ways and with different things the home-grower will know exactly how their guests would like their potatoes! Some people like quorn fillets with peas and mashed potato and some prefer a lump of meat with some roast potatoes.

Different people are essentially different users, and they will want to see the data in a human friendly fashion. So styling and interaction is a part of serving this information. Note that presentation is related to the type of data that you want to show, but it should not be the same thing, a good use of data-code-presentation separation is advised when developing systems.

OpenLink Virtuoso: The Linked Data Server

Virtuoso is a “Universal Server”, which means that it is capable of doing all that is described above. To break things down a bit:

  • Being able to fetch information from data stores via webservices (and via scraping/sponging)
  • Being able to manipulate Linked Data graphs.
  • Storing its own graphs inside the native database (or other database management systems via virtualisation techniques).
  • Using query languages (e.g. SPARQL) to find specific data.
  • Using methods of graph manipulation to provide data in a certain context.
  • Providing meaningful data to the user using the typical XHTML+JavaScript+CSS setup.

Virtuoso Platform Conceptual View

Image is a conceptual view of the Virtuoso architecture and is available, with more information, from the Virtuoso homepage

More information

More information is available from the following Document Web sites:

  • The Virtuoso Homepage, the OpenLink Whitepapers and the Virtuoso Documentation system
  • Wikipedia sites for the subjects of Object’s in computer science (DBpedia: Object (computer science) ) and Web 3.0 (DBpedia: Web 3.0)
  • Data Servers are essentially extended triplestores; you may be interested in seeing the Wikipedia article for triplestores (DBpedia: triplestore). (As OpenLink Virtuoso is omnifunctional in nature, the triplestore is just one part of this powerful architecture)

p.s. sorry about the crude drawings, but they do show the point. Once again if you would like to use them somewhere then do give me a nudge, I am very unlikely to say no but I would like you to tell me about it first. Thank you :-)

p.s. do email me, skype me or comment if you would like me to clear anything up, or if you would like to discuss how Virtuoso might work for you. My details are available on my personal site and via my personal URI.

2 Comments

Linked Data are the roots for the Future Web

April 25th, 2008 by daniel
Respond

OK, so in my last post (”RDF: Simpler if you look at it in a different way“) I said that RDF is a modeling framework to link data together in the form of object to object relationships, I briefly mentioned some “vocabularies” (aka ontologies) and some formats (e.g. Notation3, RDF/XML). I want to mention again that it is a modeling framework for Linking Data, and not specifically a format for importing and exporting (although it can be used in this way).

This brings me on to the topic of Linked Data. A lot of people, some of which are part of the W3C, want to see a “Web of Data” where data is linked across domains (physical (e.g. web servers), virtual/symbolic (e.g. knowledge bases or domains of knowledge/understanding)). This is where every “thing” on the web is structured in a kind of “object orientated” way, RDF happens to be a standardised way of achieving this. But this does not mean that a “Web of Data” will replace the document view that we see today, it means that the Linked Data are the roots and a human view is what the user sees:

Linked Data are the roots of the future web

Figure: Linked Data are the roots for the future web (black arrows are “labeled arcs” aka “relationships”/”predicates”)

Here we see documents rendering information from objects which are in the enriched soil, this is so that the humans can consume the information. You can’t eat potatoes raw, you’ll find it hard to digest! With information in this form your data is more meaningful as it shows idiosyncrasies with other data via labeled links. Note that the documents are able to do this either through getting information directly from a graph, or by querying using a language called SPARQL.

We also see the two trees of Artificial Intelligence and Soft Computing. They will also want to get at the lovely nutrients in the soil. These trees transform nutrients into fruit, and fruit is edible by humans. In reality these trees are intelligent software agents (either server or client side), capable of inferring new information and dealing with uncertainty.

These meaningful objects all have their own identifier in the form of a URI, which should be an HTTP accessible URI. A URI in this form is the name and the co-ordinates of that particular object. HTTP URIs can be used within RDF to form Linked Data. There is a lot of Linked Data out there already which is open and ready to use (see Richard Cyganiak’s Linked Open Data Cloud for the data sets that the Semantic Web Interest Group / Linked Data Group are aware of), so its just a case of getting your data out there and using it… and thats how we make it real!

More information

More information is available from (in Human Friendly form):

  • The Linked Data Group and the Linking Open Data Wiki
  • “Design Issues - Linked Data” by Tim Berners-Lee
  • “Teaching triples to a six year old” by Leigh Dodds
  • Some Linked Data systems: DBpedia (”DBpedia Mobile” now available on mobile/cell phones via a map mashup), Umbel, Musicbrainz, Geonames and many more in the linked data cloud.
  • “Linked Data Deployment” at XTech 2008 by me (slides and paper coming soon!)
  • “Linked Data Spaces and Data Portability (PDF)” by Kingsley Idehen and Orri Erling at LDOW2008@WWW2008.
  • Other papers and presentations at LDOW2008.
  • “Linked Data Principles Revisted” by Michael Hausenblas on the O’Reilly XML Blog

Theres a lot out there, not only academic stuff but business stuff too. Explore, and if you find anything interesting then please do share it here!

Thanks for reading,

Daniel

2 Comments

RDF: Simpler if you look at it in a different way

April 23rd, 2008 by daniel
Respond

I have figured out why some people are reluctant to use RDF, and its because they are seeing it as a format and not a model. RDF is a modeling framework, it is not a format!

RDF is supposed to be understood in a visual way:

A simple RDF triple represented visually

Which is essentially understood as a triple of URIs:

<https://myopenlink.net/dataspace/person/danieljohnlewis#this> <https://xmlns.com/foaf/0.1/made><https://uk.youtube.com/watch?v=oWfaoP1Ti2Q>

And this is basically in a format called n3 (Notation3), another option would be to have it in XML format, but that is very complex to understand (but good for machine reading).

There is generally a way to start implementing your data as RDF:

How to implement RDF

This really highlights the fact that RDF is not a format, but a model for Data. You model your data in a graphical way and then you choose which format:

  1. Visualise your data as a set of atomic objects and relationships between them, this is your RDF.
    1. There are ontologies available, such as FOAF and SIOC which are suited for Social Networking applications.
    2. Linking out is as important as linking in, a link out will provide more meaning to that data that it is linking from. For example I could say that https://myopenlink.net/dataspace/person/danieljohnlewis#this (<- the “Subject”) owl:sameAs (<- the “Predicate”/”Relation”) https://www.facebook.com/people/Daniel_Lewis/277003772 (<- the “Object”). A Semantic Web application would then be able to work out that danieljohnlewis on myopenlink is the same person as 277003772 on Facebook. (This is where the notion of Linked Data comes in)
  2. Format your RDF data
    1. There are a few options. Generally RDF/N3 is suggested for developers who are exploring the Semantic Web, as it is simply a list of URIs. RDF/XML is not suggested for the beginner, as it adds in all of the complexities of XML which don’t really fit in with the simplicity of a triple graph…. but RDF/XML is quite good for machine reading. Generally the format doesn’t matter as they are all interchangeable. Another option is RDF/Turtle.
  3. Expose your data
    1. I highly recommend using a Data Server. OpenLink Virtuoso is a very good option as it is fast and reliable, and you can use it as a Data Server, a Web Server and/or a Database Server… it supports SQL and RDF too.

More information

More information is available at these Document Websites:

  • Getting into the Semantic Web and RDF using N3 by Tim Berners-Lee
  • Notation 3 (Introduction) by Tim Berners-Lee
  • RDF/Turtle by Dave Beckett
  • Frequently Asked Questions about the Semantic Web, by the W3C
  • Homepages for: FOAF (Friend of a Friend), SIOC (Semantically Interlinked Online Communities), SKOS (Simple Knowledge Organisation System), SCOT (Social-Semantic Cloud of Tags) and MOAT (Meaning Of A Tag). Which are all ontologies (aka “Meaningful Schemas” or “Vocabularies”) to fit your data into.
  • The Linked Data Starting Point and the Linked Data (Introduction) article by Tim Berners-Lee
  • OpenLink Virtuoso homepage, the OpenLink Virtuoso Wikipedia page and the Linked Data Deployment Technical Whitepaper (PDF).
  • The Linked Open Data Cloud by Richard Cyganiak <- useful for finding out which data sets you might want to link your data to.
  • My recent post about “the divide between business and academia“, “Education in the Linked Data Age” and “the Universe of Discourse” may also be useful.

(All images made by me by the way, please do get my permission before using them elsewhere)

12 Comments

BarCampOxford Annoucement!

April 22nd, 2008 by daniel
Respond

Pete and I announced the date and location for BarCampOxford :-

  • Location: Manor Road Building (part of the University of Oxford)
  • Date: 20th and 21st September 2008

More information will appear on the BarCampOxford wiki page.

Note: We are still looking for sponsors, so please do get in contact with us.

Thank you,

Daniel

No Comments.

Open Data Definition???

April 22nd, 2008 by daniel
Respond

I’ve just heard about the Open Data Definition (ODD), its a good idea, but it has already been done in the form of Semantically Interconnected Online Communities (SIOC)….

SIOC (pronounced “Shock” <- its Irish) “can [also] be used as a syndication format, like RSS”. Plus SIOC has already been deployed in many web systems, and it integrates nicely with the Friend of a Friend (FOAF) format (which seems to be taking off nicely).

The question goes:

Why reinvent the wheel, when you have already got something that does the job?

SIOC was developed in Ireland by DERI Galway, it is an extensible Semantic Web format and is a portable data format recognised by the DataPortability Project. It has been implemented in many systems including WordPress, Drupal and phpBB in the form of simple plugins… and inbuilt into larger systems such as OpenLink Data Spaces, Talk Digger, Seesmic and OpenQabal. There are lots more applications of SIOC. In fact, because the next major release of Drupal will be entirely Semantic Web based (internally and externally), Drupal will be using FOAF and SIOC natively!

So the question is, why bother with this “open data definition”. I’ll be seeing the creator of this format this evening at Oxford Geek Night 6… so I’ll try to ask him!

3 Comments

Some Thoughts On: Food and Spirituality

April 21st, 2008 by daniel
Respond

Food plays an important role in my thoughts, I enjoy cooking (as long as I have the ingredients and a clean+goodsized kitchen) and I am vegetarian. I care about what I eat, when I am feeling a little less poor I try to buy Organic and/or Fairtrade food, I make sure that I look at the ingredients of premade things before I buy them. I never go to fast food places like McDonalds, Burger King or KFC.

So food does play an important part in my day to day life… which got me thinking about nations with good quality food, and the nation that did come to mind was India. The people of India are (usually) very spiritual, a lot more than most modern westerners… and here lies the reason why the food is of great quality: All of the main religions of India have a focus on types of food and the preparation of food. We can see this in Hinduism, Buddhism, Sikhism, Jainism and Islam… and even, although its not specifically a main religion in India, Judaism to a degree…. not sure why Christians don’t seem to give off this essence of food quality.

These thoughts combined with the fact that people are “too busy” nowadays means that the increase of fast food intake is making humanity even more materialistic, and it shows… the well known saying “we are what we eat” comes to mind.

What I am proposing is that caring about food is caring about yourself, and this is why it has been included in spiritual practice… because if the body and the mind are clean and clear then the spirit is too.

No Comments.