Begin again

facebook grabThere was an old man named Michael Finnegan
He went fishing with a pinnegan
Caught a fish and dropped it in again
Poor old Michael Finnegan
Begin again.

Let me clear something up. Danny mentions a discussion with Tim O’Reilly about SemWeb themes.

Much as I generally agree with Danny, I’m reaching for a ten-foot bargepole on this one point:

While Facebook may have achieved pretty major adoption for their approach, it’s only very marginally useful because of their overly simplistic treatment of relationships.

Facebook, despite the trivia, the endless wars between the ninja zombies and the pirate vampires; despite being centralised, despite [insert grumble] is massively useful. Proof of that pudding: it is massively used. “Marginal” doesn’t come into it. The real question is: what happens next?

Loosly joined

find . -name danbri-\*.rdf -exec rapper –count {} \; rapper: Parsing file ./facebook/danbri-fb.rdf rapper: Parsing returned 2155 statements rapper: Parsing file ./orkut/danbri-orkut.rdf rapper: Parsing returned 848 statements rapper: Parsing file ./dopplr/danbri-dopplr.rdf rapper: Parsing returned 346 statements rapper: Parsing file ./tribe.net/danbri-tribe.rdf rapper: Parsing returned 71 statements rapper: Parsing file ./my.opera.com/danbri-opera.rdf rapper: Parsing returned 123 statements rapper: […]

Querying Facebook in SPARQL

A fair few people have been asking about FOAF exporters from Facebook. I’m not entirely sure what else is out there, but Matthew Rowe has just announced a Facebook FOAF generator. It doesn’t dump all 35 million records into your Web browser, thankfully. But it will export a minimal description of you and your Facebook […]

OpenID plugin for WordPress

I’ve just installed Alan J Castonguay’s WordPress OpenID plugin on my blog, part of a cleanup that included nuking 11000+ comments in the moderation queue using the Spam Karma 2 plugin. Apologies if I zapped any real comments too. There are a few left, at least! The OpenID thing appears to “just work”. By which […]

SPARQL for vocabulary management: theory vs practice

I’ve lately been thinking about whether the named graph support in SPARQL can help us evolve vocabularies and associated code (eg. generators and translators) in parallel, so that we know when the RDF generators are emitting markup that uses properties which aren’t yet documented in the ontology; or when the ontology contains terms that aren’t […]

Eve’n’more

Ian Davis shows how even the smallest RDF graph has multiple XML serializations. He missed some variations: (i) rdf:RDF is optional, and (ii) rdf:type has special-case treatment in the grammar (iii) XML base can interact with URIs. <rdf:Description xml:base=”http://example.org/” xmlns:foaf=”http://xmlns.com/foaf/0.1/” xmlns:rdf=”http://www.w3.org/1999/02/22-rdf-syntax-ns#” foaf:name=”Eve” rdf:type=”http://xmlns.com/foaf/0.1/Person”> <foaf:homepage rdf:resource=”~eve”/> </rdf:Description> This variety should not be suprising. A good question […]

RDFAuthor does SPARQL

Damian is working on a new version of RDFAuthor that generates SPARQL queries (instead of the older Squish notation). It can also (not sure which protocol(s)) get results from a query service. Here’s a screenshot: The automatically generated (and hence not 100% user-friendly) query was as follows: SELECT * WHERE { ?var_4 <http ://xmlns.filsa.net/emir/0.2/#subject> ?var_1 […]

Google boost Jabber + VOIP, Skype releases IM toolkit, Jabber for P2P SPARQL?

Interesting times for the personal Semantic Web: “Any client that supports Jabber/XMPP can connect to the Google Talk service” Google Talk and Open Communications. It does voice calls too, using “a custom XMPP-based signaling protocol and peer-to-peer communication mechanism. We will fully document this protocol. In the near future, we plan to support SIP signaling.” […]

SPARQLing Protégé-OWL Jena integration

The Jena ARQ SPARQL engine has been very rapidly integrated into Protégé. Nice work from Holger Knublauch, and from Andy Seaborne who explained how Protégé’s native RDF Java structures could manifest themselves via Jena interfaces so that the ARP query engine could work against Protégé data. He also gave a handy overview of the ARP […]

geobloggers: “Network Link” in Google Earth

This is the hidden gem of Google Earth. Adding a “Network Link” allows you to fetch KML data from remote servers. It does this in two ways, Time Based or Location Based. So *anyone* can add dynamic data to Google Maps. Apparently KML is based on GML. I don’t know Keyhole/Google’s work differs. There seems […]

Sample SPARQL query

PREFIX dc: <http://purl.org/dc/elements/1.1/> SELECT ?book ?title ?authorname WHERE { ?book dc:creator ?author . ?author dc:type <http ://hoppa.com/Painters/> . ?author dc:title ?authorname . ?book dc:title ?title . } …works with rdf data describing some books by painters. I tested in Dave Beckett’s Redland-based online SPARQL demo. The query finds 5 results. Seems to have some encoding […]