Yesterday we had two great happenings at DFKI:
- Jean Rohmer giving a talk on Ideliance and AI
- Gunnar Grimnes celebrating norwegian day
The second will be blogged soon on my private blog, the first is interesting for the Semantic Web out there.
Jean Rohmer, who published a paper last year on Lessons for the future of Semantic Desktops learnt from 10 years of experience with the IDELIANCE Semantic Networks Manager visited us to give a similar talk and discuss about Nepomuk.
More background knowledge about Jean Rhomer: He is a key person in spreading AI in France, as he was responsible for AI at Bull Computers in the 70ies and 80ies, a company that had ~70k employes in its best times, around 200 on AI. He lead the AI department there, google for him.
I will sum up the most witty remarks of his talk:
- In the 70ies, prolog was the thing and as you didn’t have internet, you really had to look for it.
- In the 90ies, when investment in AI declined, the AI Winter started
- I survived the AI winter by continuing AI and making a product out of it
- 90’s AI apps didn’t look different from procedural apps for end-users.
- AI was then an expensive way to save money, which only few could afford
- AI kept fighting and losing against software engineering.
- The Semantic Web is a compromise between Natural Language Processing and AI.
In the 70ies there was a stop in innovation on the hardware side, IBM machines where all the same for years. So software was the key for innovation. We see a similar situation today: the operating systems do not change much (windows 2000 is the same as XP, Linux evolves steadily) and the hardware is always the same, just getting faster and bigger. So software makes the difference (as we see in the hype of web services).
So Software can make the next innovation.
Then this happend during Jean’s talk and demo of idealance: a bug when clicking a link on ideliance web interface. His reaction was tremendous:
- alt-tab to server/switch debug on/switch to code editor
- (all we saw was weird symbols that looked like compiled byte code)
- scroll down two lines
- mutter something like “ah, ok”
- enter two weird greek symbols
- alt-tab back to demo, it works
- all this in less then 15 seconds
So what he did was, that during a talk before audience, he had a bug, didn’t get nervous, found the bug, fixed it and didn’t even had to restart. I have never seen something like this before, and the secret behind is:
A Programming Languages
In a session after the talk, we discussed programming languages for the Semantic Desktop, also we wanted to know how he did that bugfixing magic and what these weird symbols were. We were flattened about the statement that Ideliance was completly programmed using APL (A programming language).
We asked him to show us code, and he replied that he will instead teach us how to code APL. behold, this is what Jean Rohmer has written on a Flip-Chart:
The explanation is: that code selects all classes CS of an instance X, for each class C in CS, selects all other instances CI, for all these instances I select all triples, from the triples select all properties.
Then group these properties in a matrix, sort them and only return top X of them.
To do this in SPARQL, you would roughly do:
SELECT p WHERE x rdf:type C. I rdf:type C. I p o.
But then you would need some sorting, merging, splicing.
APL is the weirdest thing I have ever seen, but it has many pieces of code in it that are very useful for handling RDF, though. Jean Rohmer and Gunnar Grimnes are both Prolog fans and they chatted about the relations between ADL and prolog.
Using Java to program Semantic Web applications surely is hell when you have to do things like set operations. At the moment I program bits and pieces of the rebirth-machine, for example this code would be much nicer in APL. So we seriously think about combining SPARQL and prolog into some nice semantic web scripting language.