Distribution of semantic web data

Three days ago I talked about the importance of both RDF data dumps and dereferencable URIs to distribute RDF data over the Web. However yesterday Marc from Geonames.org got some problems with an impolite semantic web crawler. In his article he point out that:

“It simply does not make sense to download a huge database record by record if a full dump is available.”

In the best of the world it doesn’t make sense, but unfortunately it is how the Web always worked. Think about Google, Yahoo! and MSN Search; this is exactly what they do, and it doesn’t make sense. The difference is that they are probably more polite. Marc did the only thing he as to do: banning the belligerent crawler.

The problem with data dumps is that they are generally not that easy to find (if available) on services web site. So some developers will note care taking the time to find them and will fetch everything from the Web server, page by page.

However all that story brings a question: how could we make these data dump more visible? Ecademy.com use a <link> element from their home page to link to a dump of the URLs to their FOAF profiles. However, if you don’t check at the HTML code of the page, you will never be aware of it. A first step would probably be to create a repository of these data dumps.

The SWEO Community Project started the “Linking Open Data on the Semantic Web” project that is basically a list of RDF dumps from different web site or projects.

Personally what I will do to help people finding these RDF dumps (and to make them aware of their existence) is to create a repository of these RDF dump on Pingthesemanticweb.com (should be available later this week).

That way, developers using Pingthesemanticweb.com will probably check that list and then download the data they need. After that, they will only use PTSW to synch their triple store with the remote service’s database (Geonames.org for example).

Technorati: | | | | | | |

RDF dump vs. dereferencable URIs

In a recent mail thread, someone was asking what was the best way to get RDF data from a source [having more than a couple of thousands of documents]: a RDF dump or a list of dereferencable URIs?

None is better than the other. Personally what I prefer is to use both.

If we take the example of Geonames.org, getting all the 6.4 million of RDF documents from dereferencable URI would take weeks. However, updating your triple store with new or updated RDF documents with a RDF dump would force you to download and re-index it completely every month (or so). This task would take some days.

So what is best way then? There is what I propose (and currently do):

In fact, the first time I indexed Geonames into a triple store, I requested a RDF dump to Marc. Then I asked him: would it be possible for you to ping Pingthesemanticweb.com each time a new document appears on Geonames or each time a document is updated? In less than a couple of hour he answered to my mail and then Geonames was pinging PTSW.

So, what it means? It means that I populated my triple store with geonames with a RDF dump for the first time. By proceeding that way I saved one to two weeks of work. Then I am now updating the triple store via Pingthesemanticweb.com. By proceeding that way, I save 2 or 3 days each month.

So what I suggest is to use both methods. The important point here is that Pingthesemanticweb.com acts as an agent that send you new and updated files for a specific service (Geonames in the above example). This simple infrastructure could save precious time to many semantic web developers.

Technorati: | | | | | | |

First web service developed using Ping the Semantic Web data


A couple of days ago, the first web service(that I am aware of) developed using Ping the Semantic Web data has been made public.

Doap:store is a DOAP (Description Of A Project) documents search, browsing and visualization tool. It has been developed by Alexandre Passant, one of the most active contributors of the SIOC ontology.


From Alex’s Blog, Doap:Store is:

Then, doap:store provides a common search engine and browsing interface for these decentralized project description, while authors keep control over their data. Data is updated each time PTSW has a new ping for it (in the future, PTSW should store new pings only if the document has changed, so updated will be made only for real document updates).

That is it: a web service helping people to find projects depending on some criteria. At the time I wrote this article, the web service focus mainly on computer projects involving programming languages. If you check at the bottom of the page, you will see categories of projects related with the programming language(s) involved in the project.

These categories are dynamically generated depending on the DOAP documents it aggregates. So as soon as new document from Ping the Semantic Web are aggregated by Doap:store, they will have an impact on this feature of the service depending on the languages defined for these projects description.


Doap:store and Ping the Semantic Web

This new web service is the perfect example of the utility of Ping the Semantic Web. With data in hands, a developer can create wonderful systems and user interface to manipulate, manage and search that data.

In this example, Alex didn’t had to care about where to find DOAP documents, he only had to retrieve the list of latest created/updated DOAP documents from Ping the Semantic Web service (he do that each hour).




Keeping control over its data

This is one of the more important observations of Alex. Such an information infrastructure let the user doing what he wants with the data he generates.

This is the idea I had in mind when I wrote a blog post called “Communities’ websites should use FOAF profiles to help users managing their online persona” and this is the reason why I create an import/export feature for users’s profiles using FOAF document: to give back the power to users.



Doap:store really shows how Ping the Semantic Web can be use by any developer. I hope other people will start to use the service the same way Alex does. Ultimately I hope that Ping the Semantic Web will become a vector of development for semantic web projects.

Technorati: | | | | | | | | |

Ping the Semantic Web: a new pings exportation feature


    The “pings exportation” feature of Ping the Semantic Web was a little bit messy and I was really not satisfied with it. So I took the time to re-work it and I think I came up with something much better (probably something that people were expecting from the beginning).


The new way to request pings

The new way to request a list of pings from Ping the Semantic Web is quite simple. You have a set of pings (all pings received by the service so far) and you apply constraints on that set to get the subset of pings you really want for your application.

There are 7 different constraints you can apply:

  1. Constraint pings for a specific type of RDF document: SIOC, FOAF, DOAP, RDFS or OWL
  2. Constraint pings for a specific serialization language: XML or N3
  3. Constraint pings for a time frame: last hour, yesterday or any time
  4. Constraint pings with a number of results: 0 to x
  5. Constraint pings for a specific domain name, example: getting all the pings from www.talkdigger.com
  6. Constraint pings for a specific namespace, example: getting all the pings where the namespace “http://purl.org/dc/elements/1.1/

This new method is much more powerful. That way you can easily get a specific subset of pings for the specialized needs of your web services or software agent.


The new way to handle namespaces

Reworking this feature leaded me to rework the way Ping the Semantic Web was handling namespaces.

Now all the namespaces of the RDF documents aggregated by the service are aggregated by the service as well.

This means two things:

  1. You can get RDF documents defining a specialized namespace
  2. You can take a look at the list of namespaces know by Ping the Semantic Web

For the moment the service know about 400 namespaces, but it is discovering them at a rapid pace.



I am stabilizing the system right now and the redevelopment of this feature was resulting from that stabilization. All my updates are mostly finished and soon enough a first version of a SPARQL endpoint (and user interface) should be publicly available.

Technorati: | | | | | | | |

Ping the Semantic Web: call for names of web services exporting RDF documents


    More and more web services start to export some of their data archived in their databases using RDF. Some of them have a specific goal in mind, others only do it “in case of” that someone would need it (like livejournal.com does). In any case, these RDF documents are waiting here, somewhere on the Web, waiting to be read and used.

Ping the Semantic Web’s goal is to act as a central point in that environment: aggregating these RDF documents and then sending them to other services (softwares) that need them.

More and more people are starting to ping the service. It now gets about 5000 ping requests each day and its constantly growing.

In the last couple of days, I contacted some people that are developing systems that export RDF data. I asked them two things:


  1. Would it be possible for you to make your system pinging Ping the Semantic Web each time it creates or updates a RDF document?
  2. Would it is possible for you to send me a list of URLs where Ping the Semantic Web could find the existing RDF documents generated by your service?


Today I am asking your help:

If you know a web service that export RDF documents, would it be possible for you to contact me with the name of this service?

Then what I’ll do is contacting them to ask them the two questions. What I’ll also do is helping them (technically) to implement the feature into their system if they encounter any problem.

Currently the service know about 57 000 RDF documents. I predict you that in one year it will knows millions of RDF documents. And what I hope is that many of them will not be serialized using XML but using N3 instead (but I should certainly wait after a wider adoption of SPARQL before seeing that happening).


People I already contacted:

  • D2R Server publishing the DBLP Bibliography Database (Richard sent me 1.2 million of URL to crawl and he should start to ping PTSW in January (yeah, this is partly why I said that I would had millions of RDF document 😉 )
  • Revyu (Tom should start to ping PTSW soon)
  • FOAFMap
  • FOAFNaut
  • Geonames (Just when I was about to publish this article, Marc contacted me telling me that Geonames now pings PTSW each time a geoname changes or is created. Also, he send me a list of 6.2 million of geonames to include).
  • Tribe
  • Semantic Media Wiki



Finally what I am requesting is help from people to try to find as many web services that export data using RDF as possible. That way everybody will benefit from it: they will increase the visibility of the data they are generating and PTSW will see its database of RDF document growing and growing for the benefit of the community.

Technorati: | | | | | | | | | | | |