Everyday wisdom on index cards

There’s a lovely collection of charts and diagrams doodled on index cards that explain various everyday insights.

(via Information Aesthetics)

Posted in General | Comments Off on Everyday wisdom on index cards

D2RQ in TopBraid Composer

TopBraid Composer, the commercial Eclipse-based ontology editor developed by Holger Knublauch and colleagues at TopQuadrant, supports D2RQ in its latest release.

Holger says:

A common request from our customers is the ability to reuse existing (legacy) databases in the context of an RDF/OWL project. The mapping of relational databases into RDF is non-trivial and since I am not at all an expert on databases, I turned to the Web to find help. From some other entry on Planet RDF, I dimly remembered that Chris Bizer has been working on this, and linked from his pages I discovered D2RQ.

TopBraid and D2RQ are both Jena-based, so integrating them was not hard.

Now we can browse D2RQ-mapped database content in a nice GUI, and use a professional ontology editor to customize D2RQ mapping files. Pretty cool!

Posted in General, Semantic Web | 1 Comment

Seven minutes of Feynman

David Weinberger has dug up a great clip of Richard Feynman explaining physics and the universe:

When you’re thinking about something that you don’t understand, you have a terrible, uncomfortable feeling called confusion. It’s a very difficult and unhappy business. And so, most of the time, you’re rather unhappy, actually, with this confusion. You can’t penetrate this thing.

The confusion is because we are some kind of apes that are kind of stupid, trying to put two sticks together to reach the banana, and we can’t quite make it. And I got this feeling all the time, that I’m an ape trying to put two sticks together. So I always feel stupid. Once in a while though, the sticks go together on me and I reach the banana.

The clip displays Feynman’s tremendous ability to put complex subjects into simple words.

Posted in General | Comments Off on Seven minutes of Feynman

Exporting the OS X Address Book to FOAF

Maintaining my FOAF file involves a lot of work: I have to write RDF/XML by hand, calculate SHA1 hashes, and enter a lot of information that is already stored in a different place: my address book.

That’s why I have created an AppleScript that does all the work for me at the press of a single button. It will even upload the FOAF file to my website using FTP. FOAF on the Mac has never been easier!

The script hasn’t been tested in any other environment, but if you want to try it, here are the instructions. If you do, please comment below and tell us how it works for you.

Requirements

  • Mac OS X, tested on 10.4 only
  • The script uses Cyberduck, a nice and free FTP client – just download and drop in the /Applications folder

Download and installation

  • Download the Export Address Book to FOAF script and put it somewhere convenient, e.g. into the /Applications folder
  • Double click the script to run it – by default, it will create a file called foaf.rdf on your desktop (be patient, it’s slow)

Configuration

  • To enable FTP upload, or to customize the location where the foaf.rdf file is created on your hard disk, open the script in Script Editor (found in /Applications/AppleScript), and change the configuration at the top of the file
  • A good configuration would be to upload the file as foaf.rdf to the directory of your home page
  • Save the file

Preparing your card

  • If you don’t have a card for yourself in your address book, then create a new one and choose Make This My Card from the Card menu
  • Provide as much information about yourself as you like

Preparing your public contacts

Optionally, your FOAF file can contain references to some of the people you know – the public part of your social network. To set this up in Address Book:

  • Create a new Group called “Public Contacts” (upper case P and C)
  • Drag some cards to this group
  • It’s good etiquette to only add people who already have some kind of presence on the Web
  • Only their name, home pages, and an encrypted form of their email address will be published by the script; phone numbers, birthdays, notes etc remain private

Weaving the Semantic Web

FOAF files are a part of the Semantic Web, a worldwide decentralized web of data. Optionally, you can add some additional information to your card and the cards of your public contacts, to weave your FOAF file into the Semantic Web.

All of these additional pieces of knowledge go into a card’s URL fields which you can add using Card » Add Field » URL. The green plus adds multiple URLs. There are a number of different URL types, click the label on the left to choose one. Some types may have to be added using the Custom … option. These are the supported types:

home page: The person’s personal home page, if they have one.

weblog: The person’s web log, if they have one. It doesn’t really matter if you choose home page or weblog.

work: The home page of the person’s employer, department, or group.

img: An image of the person on the Web. This works only for your own card.

URI: If the person has chosen a URI to identify herself, then add it with this label. You can also use this for yourself. My URI, for example, is http://richard.cyganiak.de/foaf.rdf#cygri.

RDF: For those of your public contacts who already have a FOAF profile, you can add the profile’s URL using this label. Please do this if you can spare a bit of time. For yourself, you can use this label to add other RDF files that contains additional information about you.

Make sure that all URLs include the leading http:// bit.

As I said above, feedback is very welcome.

Posted in General, Semantic Web | 3 Comments

FeedBurner buys BlogBeat

It’s old news already, but FeedBurner has bought BlogBeat. BlogBeat is the neat little blog statistics service I use to track the three readers of my blog (hi there, 62.194.1.219!)

I find this buyout quite entertaining for three reasons:

1. Even though the service continues to operate for their existing customers, they give a full refund to all paid accounts. In other words, I paid for something I liked, only to have the seller reject my money later on because they retroactively decided their stuff should be free. First time this has happened to me.

2. This is the second time a Web 2.0 company gives me nice perks because they were bought out and wanted to reward their early paying customers.

3. There have been two nice dedicated Web 2.0 offerings for blog statistics, BlogBeat and Measure Map. Now they both don’t accept new customers because they were bought out. In other words, bloggers are stuck again with generic web statistics packages like Mint and Google Analytics.

Fun, fun, fun. The Web 2.0 soap opera continues.

Posted in General | 1 Comment

Best quote ever

If you want to build a ship, don’t drum up the men to gather wood, divide the work and give orders. Instead, teach them to yearn for the vast and endless sea.

Antoine de Saint-Exupéry

(from this great collection, via SvN)

Posted in General | Comments Off on Best quote ever

The future of custom-built small websites

Ismael Ghalimi: How To Build a Website with Office 2.0

Can you build a company website just by mashing up Web 2.0 services? It turns out there are still some problems, but it’s getting closer. Ismael uses WordPress as the main platform, DabbleDB for structured content, Zoho Writer for press releases, Flickr for image hosting, and a bunch of other Web 2.0 goodness. All tied together by RSS and JSON and WordPress plugins and small bits of custom PHP.

I’m quite excited about this stuff. Web 2.0 apps will make custom websites much more affordable for small businesses and other organizations.

Platform plus Plugins: Ismael’s experiment also shows the most likely architecture for this new breed of website: a very flexible main platform with a plugin architecture that allows to pull in functionality and content from a wide range of Web 2.0 services. The main platform may be hosted by a commercial provider, or self-hosted if much customization is needed.

A prediction: Over the next twelve months, one software package will receive a lot of attention as the main platform for this kind of website. WordPress seems to be the most likely candidate, with Drupal and Mambo/Joomla as weaker alternatives. Almost all other small CMS projects and weblogging engines will be dead in two year’s time.

(Via Phil Jones)

Posted in General | 4 Comments

BumpTop 3D Desktop

Not sure how useful this prototype virtual desktop (PDF, 2.7 MB) is, but it sure looks extremely fun:

Video on YouTube, 6:49 min.

(Thanks Paolo!)

Update: Merlin Mann convincingly points out that BumpTop might be useful for many things, but not for file management. Bonus link: Real-life BumpTop.

Posted in General | 1 Comment

Calculating SHA-1 digests with AppleScript

This snippet calculates the SHA-1 digest of a string:

set s to "mailto:richard@cyganiak.de"
do shell script "echo -n " & quoted form of s & "|openssl sha1"
set digest to result

This is useful for calculating foaf:mbox_sha1sum values, for example.

Posted in General, Semantic Web | Comments Off on Calculating SHA-1 digests with AppleScript

An RDF design pattern: inverse property labels

Dan Connolly complained on rdfweb-dev about FOAF’s redundant inverse properties (depicts/depiction, page/topic), and pointed to this TimBL post, which mentions a nice pattern for designing RDF vocabularies that should be adopted more widely.

Avoid inverse properties. There’s no need to clutter your namespace with redundant inverse properties. Have either ex:parent or ex:child in your vocabulary, but not both. It doesn’t really matter which; just pick one and stick with it. That way, there are less ways to express the same thing, and that’s good for interoperability.

Of course, if you find out that someone else has independently invented an inverse of your property, then linking to it using owl:inverseOf is a good idea.

Display back links just like forward links. I’m doing this the wrong way in D2R Server‘s RDF browser. Here’s a screenshot showing an RDF representation of this blog’s Semantic Web category (click to enlarge):

Screenshot of dowhatimean.net's Semantic Web category in D2R Server's RDF browser

The category has three “forward” properties: It has a type of skos:Concept, a prefLabel of “Semantic Web”, and a page about it at http://dowhatimean.net/category/semantic-web/.

It also has a bunch of “backward” properties: It is the subject of a number of blog posts. These point “the other way”, that is, from some other resource to the category. The category is the object of the RDF statement, not the subject.

I’m displaying the two types of properties in two different columns. A better way would be to use a single column, and use rdfs:labels instead of QNames for the properties: has type instead of rdf:type, and is subject of instead of skos:subject. Someone browsing the Semantic Web doesn’t care about the distinction between forward and backward properties, they just need to know that the resource is linked to some other resource. And therefore both should be visually represented the same way.

Provide inverse labels in vocabularies. But where do I get this “is subject of” label from? Vocabulary authors usually attach rdfs:labels to their properties, and they work beautifully in the forward case, but there is no rdfs:backwardsLabel that could be used in the backwards case.

Here’s Tim’s solution: Introduce an anonymous inverse property and attach the label to it.

skos:subject rdfs:label "has subject" .
skos:subject owl:inverseOf [ rdfs:label "is subject of" ] .

I think it’s a beautiful solution, and building the Semantic Web would become easier if it was widely adopted by vocabulary publishers.

Posted in General, Semantic Web | 2 Comments