I got married! And RDF’ed

The happiest day in my life: My girl and me got married! Ingrid and I are deeply in honeymoon right now and enjoy every day of our life like never before.

We had a marvellous day and god blessed us on every way, good weather, good spirit, we felt great and were Queen and King for a day.

Interesting for the RDF community: a friend wrote a RDF representation of the wedding and dedicated it to us as a present.

ingrid_und_leo1 (rdf, 1 KB) – RDF
ingrid_und_leo (emf, 24 KB) – Visual Rendering

We are now away to honeymoon on kohsamui, expect more about mozilla&rdf after our return.

In between, watch some photos of our wedding and wish us best.

Mozilla RDF Javascript support

Part II of the seriesdiving into Mozilla.

Simple XUL example

To get going with RDF in Mozilla, it is good to make a Hello World-kind of Application. I did this by the way of “jslib”, a javascript library that helps Mozilla developers.

Step1 – Download and Install jslib
from http://jslib.mozdev.org/downloads/index.html
and install it in your mozilla (it is a XPI, so no problem there)
Test the library by opening this url: chrome://jslib/content/
see also installation doc.

Step2 – write a XUL file to test
I did it with this ugly file that extracts the firstname from my public FOAF file: rdflib_hello (xul, 1 KB).

Step3 – configure it to run
The problem is that the XUL file must be placed where XUL files are usually placed. If you know how to do this, fine. If you don’t, you have to configure jslib so that it accepts files outside the chrome. This may be a security risk. Description to use jslib from local XUL files.

Step4 – run rdflib_hello.xul
Start Mozilla, go to “open file” and open the XUL file (or use chrome:// if you managed to put it in your chrome).
You should see a single button. Press it and the String “Leo” should come.

What it does:
It loads my foaf file from my public homepage and extracts a literal property from a resource. To do this, there are fine XPCOM objects in Mozilla. But the XPCOM are hard to use, so the jslib guys made this system of Javascript helper objects to handle RDF. The script loads these jslib functions. Then, in the function testresult(), it uses an RDF object to get the RDF data from the homepage, select a resource from it and query an attribute of the resource.

You can also use the XPCOM RDF objects directly. So, at first glance Mozilla proves to be RDF-capable.

starting to dive into Mozilla

I started today to do the programming examples from the lovely book Rapid Application Developement with Mozilla by Nigel Mc Farlane. Reading software books without doing the programming is like watching Simpson’s without sound: senseless. So I will spend some time doing the examples.

At DFKI we are using Mozilla as browser and add some nice RDF features, so I had to learn Mozilla anyway. The book is rather fresh, the author announced it on RDF-IG some time ago and I had it lying aroung for weeks.

RDF in Mozilla

For those of you who don’t know yet: Mozilla is soaked with RDF!.
And it has got lot of XML and javascript, an environment where I will feel cosy.

Mozilla is a very fine example of “how to use RDF and benefit”. It uses RDF to configure the platform and to communicate between backend and user interface. great! To get started, look into your MOZILLA_HOME/chrome directory and the file chrome.rdf. They use seq tags in a nice and easy way.

perhaps this is the beginning of a longer lasting relation between Mozilla and me, we’ll see…

Magpie

hm, I just had another look at Magpie.

Being a Semantic Web hacker I had to download it and try it out.

Hm, looks like you have to download “all knowledge there is” (aka ontology) and then magpie uses the literals in this Ontology to find similiar strings in the document.

Have a look at the video, we all have to make videos for our projects. Inspirative.

What I also found out it that the “right click” menu on found items uses a webservice. Magpie opens then a website like this: magpie link.
If you look at the parameters of the URL, you will see that the onotolgy is identified as string value and the requested resource also.

– HM –

The idea is good and I think I can learn something here. Have to check out the publications though. Also the Internet Explorer integration is nifty. The user interface is fine. I think the architecture does not scale. Best part: it adapts to IE and does not need a whole haystack of applications ­čÖé

public calendars

coordinating my appointments with someone else is hard enough.

Some offer solution.

http://icalshare.com/ – public iCalendar files

http://www.eventsherpa.com/ – proprietary calendaring application that is iCal based. They want you to host your calendar on their site. Which is also ok.

I also looked on MozCal’s calendar sharing ability and thought about using KDE’s KOrganzizer. The two didn’t agree on the same iCal lingo so I have to wait for newer versions.

Nice things for gnowsis

I stumbled across some nice features I could use for www.gnowsis.com.

Features like Samsung contact. They are also on Freshmeat.

This leads to the question: Is it feasible to implement an Open Source MAPI interface? By doing this, we could fool Outlook into storing its information on a RDF store, perhaps server based.
otlkcon tries to do it.

Bynari Insight Connector is the “bring two good ideas together” approach. It uses an IMAP server as a storage device to host MS-Outlook data. That is plain GREAT. It implements MAPI and fools Outlook into storing all its data into Bynari. Bynari then forwards everything to IMAP. Don’t wanna know what tweaks they did on the IMAP side, anyhow.

kSpaces

kSpaces

kSpaces is a metadata-driven, distributed knowledge management platform. It was designed to be lightweight, transparent and extensible. The kSpaces proof-of-concept allows files to be described with arbitrary RDF metadata. These descriptions can then be easily shared with and queried by other nodes in the system. Finally, kSpaces-managed files can be made available to all other nodes participating in the same kSpace.

finally someone with good ideas and practical implementation. We have to see if kSpaces can be plugged together with gnowsis. I am looking forward to see this code deeper.

the Holy Bibel as Placeless Content

Today we hype about blogs and are crazy about hyperlinks, URIs and the web. We quote content of others using hyperlinks. Messages spread through hyperlinks. If a cool blog has some content, it will spread.
Christian Bible usage has some interesting similarities to Semantic Web stuff. The Holy Bible can be seen as a small Semantic Web itself. Some social and cultural practice around the Bible are similar to Semantic Web practice.

Protestant Way

From protestant view only the Bible itself gives authorative information about the faith. Secondary literature is not authorative, it can only enlighten and go deeper about stuff that is already written in the bible. If you want to know the real stuff, you have to use a real bible. (not a Firebible).

So knowledge of the bible is a pre-condition to know and live the faith the protestant way.

Biblical Authority

For a protestant, the meaning of biblical terms can only be defined by the bible itself and the few information we have from secondary literature that is from the biblical age. And of course, by the personal experience of the Holy Ghost, but I will exclude Him from this essay.
William Barclay used all historic sources he could get to write his Bible Commentary, but in the religious world, the Bible is always seen as more trusted then other texts from the ancient world. This may be good or not, I will not discuss this, you sure have your own faith about it.
But certain tools are build to make it easier for Bible-enthusiasts to live their christian faith.

  • Normative Identifiers (aka Uris)
  • Cross References (aka Hyperlinks)
  • Blogging
  • Indices (aka Search Engines)
  • Chain Systems (aka Link Collections)
  • Excessive Quoting (aka blogrolling)

I will now show what these points mean for a practicing christian and how they are related to current hypertext systems.

Normative Identifiers

Some wise people had the idea to give all books in the Bible names and use them to identify the books. The books are called “John, Luke, Psalms, Revelation” etc. If there are two books with the same name, they get a unique integer id prefix, ordered by publishing date. Thats where “1Moses, 2Moses, 1Joh, 2Joh” come from. First the Latin and Greece names where good, today we can map them to all languages.
Inside a book, a destinction into chapters was made. So we have John 1,2,3,4,5 … 21. In each chapter the verses where numbered. The verse number is written after the chapter number, normally like: “John 3,15”. And voil├í, we can identify bible passages in all languages and cultures and over the last 1000 years with this system. Great, isn’t it, if you read age-old books about the bible, they use the same URIs as we do, where do you find this persistency anymore ? If I go to the St. Stephen’s Cathedral in the Center of Vienna, there are stones from the 15th century there quoting bible passages, using the same identifiers as I am using here to quote Joh 3,15 (this is in german). So referencing works in all Bible Translations in all languages and cultures. Great.

Cross References

The nifty thing about Bible reading is, that when you don’t get it, you switch to another passage about it. They quote all the time. Even Jesus does. And they quote passages that have been age old even in their time. When I as a reader do not understand a passage or want to know more about it, I can usually find these neat references at the border of my bible. In the online bible, they are at the end of a chapter and foot-noted.
Sometimes people quote well known parts of the old testament, for the modern reader the references to these parts are given. For example in Acts 7 Stephanus gives a talk about the bad things that happened to the prophets before. After the passage you find many cross references. (Sadly the audience did not listen and killed him). In a paper Bible you would be very fast in finding the referenced passages. Win a Bible Quiz. Some online Bibles are slower than paper based systems….

Blogging

As we see, Bible content is not really structured by topic. Most of the books are a collection of stories written by different people. Most are about what these people did, like a diary, or what they heard that other people did, like a newspaper. The newer articles in the bible often quote the older articles. In the new testament, the four gospels and the Acts form a blogosphere of four people. (Acts is writte by Luke, we assume).
A blogosphere is the bible? Sure. They all write down what happened, from their point of view or as they heard it. They quote the historical persons or each other. They write chronological. Some Bible witty guys assume that some apostels had the wise idea of taking small notes while things happened and later wrote the gospels. Isn’t this enough to state that the fourl gospels are blogs? At least they are heavily linked in the letters and in literature.

Indizes

If you don’t know where to start your Bible study about “Wine”, you can rely on a Bible index. The idea of an index is to have an alphabetical list of all relevant words in the Bible and then have a list of all links to passages where this word appears. My own paper based index book has the advantage that it only quotes the most relevant passages and it has the context around the word, to know what the passage is about. So when I search for “Wine” I see part of the sentences containing the term, that helps much. Hm, don’t modern search engines do this also???

There are different types of indizes, from Full Blown Bible Blasters with all words in every sentence to smaller slightly slimmer scriptures, that fit in your pocket. Anyway, indizes that also list a little context are great in Christian and in Semantic Web world. Like in google, the often referenced passages have a higher chance to be placed in a selective index.

Chain System

My Scofield Bible is organised in a fascinating way. Additional to the use of Cross References (hyperlinks), it has so-called “chains”. A chain is a connection of several bible passages about the same topic. For example, there is a chain about “grace”. It starts at Joh 1,4 and ends at Revelation 22,21.
There are 72 selected Terms in my Bible, like “Antichrist”, “Christ”, “Sabbat” etc.
Surely these Chains are selected by a not-divine author and therefore there is more than one chain system. It reminds me very strong to Vannevar Bush’s idea of “trails” in the memex article.
Doing trails is ok, when you write your own ideas about a certain topic, you get heavily flamed in the christian world: Scofield Conspirancy Theory.

Excessive Quoting – Blogrolling

If a christian teacher or preacher writes some text and publishes it, she or he has to cross link the text to the Bible. You won’t find a text that isn’t filled with “I tell you this and that, as it is said in Luke X.Y”. If christian content is discussed, there will always be bible references. This is a good practice, as it allows the recipient of the content to integrate the new information in her or his existing knowledge about faith. Like anchors the refernces allow us to put the new, contemporary content to historic places we know. If someone talks about God’s grace he has to quote some of the famous Bible passages that mention grace.
This reminds me of us modern researchers, if you don’t do one reference every five lines of text, you aren’t considered cool and worthy reviewing. But in Semantic Web times, you have to link to related popular articles to get yourself a good place in the search results.

Revelation

So what its got all to do with current discussion on RDF-IG and #rdfig? Well, hyperlinks and URIs are a very old stuff and we can be happy that we use them. The Holy Bible has been around for about 1900 years and people using it have invented some cool tools and social practice. There is a globally agreed identification system, aka Bible references. Protestant belief denies the authority of non-biblical material, so the only way to really know what the Bible says about Love is to read all the Bible passages about it. This is a healthy view of objectivity: You have to read all cross-linked related material to get a view.

Heavy quoting and cross-hyperlinking is good, it helps the reader of the Bible to find passages that are related to passages in current context. Index system and full text indices are in the arsenal of witty Bible-Proof christians for the last thousand years. That’s why they always find these Bible quotes so amazingly fast.

In contemporary christian literature, hyperlinking to the Bible is used to Semantically annotate the new content and thereby classify it. Related material can be found by searching for other work that cites the Bible passages.

A single web document alone us not authorative. Only all related material together gives a good impression what people think about a topic. Link-collecations, cross linking and quoting help us to find this related material. “Famous and historical” resources form some kind of Anchor for us – like Biblical passages do for contemporary christian literature.

To a savvy Christian, all this Semantic Web stuff is thousand years old and we relax by quoting Salomo (Ecc 1, 10):
“What has been will be again,
what has been done will be done again;
there is nothing new under the sun. “

and thanks to Michael Zeltner for bugging me to blog this crazy idea.