SIOC/Implementations

From W3C Wiki
Jump to: navigation, search

This page serves as an overview over existing applications that use or implement SIOC.

Check against recent updates listed at State of the SIOC-o-sphere (#4). Possibly add SIOC for phpBB, IKHarvester, Tom Morris' Twitter2RDF, Fishtank, Tuukka Hastrup's IRC2RDF, BAETLE, etc.

Note for wiki editors: Many subsections of this page use transclusion to display short teasers of the applications' actual wiki pages.

Data Sources

SPARQL Endpoints

These are solutions that expose SIOC Data via SPARQL Endpoints.

OpenLink Data Spaces (ODS) Endpoints

OpenLink Data Spaces/Sparql Endpoint

Read more...

Exporters

These are solutions that export plain old RDF graphs of SIOC Data.

SIOC plugins export the information about the content and structure of blog and forum sites in a machine readable form. Here we list all the existing SIOC export plugins and tools.

Such plugins or exporters can be developed for any blog engine that you want to export the information from. Plugins can be built on their own or can use a SIOC Export API, the latter being the recommended approach.

Most of the exporters implement a SIOC auto-discovery mechanism which allows us to identify webpages that contain SIOC metadata using automated tools such as the Semantic Radar plugin for Firefox .

WordPress

Wordpress Exporter

Read more...

DotClear

DotClear Exporter

Read more...

Drupal

Drupal Exporter

Read more...

b2evolution

B2evolution Exporter

Read more...

Talk Digger

Talk Digger

Read more...

SWAML

SWAML

Read more...

OpenLink Data Spaces (ODS)

OpenLink Data Spaces

Read more...

vBulletin

VBSIOC

Read more...

APIs

We aim to overcome a "chicken-and-egg" problem (no applications without data, and no data without applications) by making it easy to generate and use SIOC data. Most blog and forum engines already have RSS export functionality and the majority of them are based on open source software or can be extended by using plugins, it is straightforward to modify existing export functions or create plugins to generate metadata conforming to the SIOC ontology.

A SIOC Export API makes the development of such SIOC plugins and exporters as easy as possible as developers don't have to change their plugin as the SIOC format evolves - all the changes are made once, at the API level. In either case, the exporter or plugin uses the internal logic (functions, classes, etc.) of the blog engine or else direct database access to get information about the weblog, and then uses the SIOC API or custom code to produce SIOC export data.

At the moment PHP and Perl APIs are available. There is a need for SIOC export APIs in other languages, such as Ruby On Rails (as used in the Typo blog engine).

PHP

PHPExportAPI

Read more...

Java

A SIOC API for Java has been created, based on semweb4j. For each object in the SIOC ontology, this API generates classes with links between the objects realised as Java properties.

Perl

Version 1.0 of a SIOC API for Perl has been released on CPAN. The CPAN page for the SIOC API is here. A description of the project itself is available here in German.

Data Consumers

Crawlers

Browsers - Overview

Since people can quite easily create SIOC data from their weblog using the described exporters or the API introduced in the previous chapter, we will now consider different ways to query and view this data.

SIOC browser allow people to browse and receive additional information from SIOC data sources or data stores. Browsers can work in two modes - on-the-fly mode and crawler mode - or can use a combination of both. The former displays the SIOC data received from a community site (thus providing a uniform interface to all SIOC-enabled sites) while the latter stores SIOC data in a repository, allowing one to make more complicated queries via the use of SPARQL, the leading Semantic Web query language.

SIOC data can also be displayed in a graphical format – as a timeline of content posts or as a graphical network of relations between sites, posts and topics. These graphical interfaces offer another user-friendly way to view SIOC data and the crawler mode browser may be extended to provide both a text and graphical view of the same information. Moreover, as SIOC offers an open data format using a formal description in RDF, everyone can create their own tools as appropriate to their needs. Thus, the browsers provided here are an example of what can be done with SIOC, and give a nice overview of its different capabilities.

SIOC Browser

SiocRdfBrowser

Read more...

Buxon

Figure 5: Buxon used to read SIOC-Dev archives[1]

On SWAML 0.0.3 was released a sioc:Forum browser called Buxon (now it is an independent package ).

Written in PyGTK, it reads a sioc:Forum RDF files and show it as a tree by threads, a screenshot can be seen in Figure 5.

SIOC Explorer

SiocExplorer

Read more...

Siocwave

Siocwave

Importers

Wordpress Importer

SIOC Import Plugin

Read more...

Utilities

Semantic Radar

SemanticRadar

Read more...

Ping the Semantic Web

PingTheSemanticWeb.com is a web service archiving the location of recently created/updated RDF documents on the Web. If one of those documents is updated, its author can notify the service that the document has been updated by pinging it with the URL of the document.

PingtheSemanticWeb.com is used by crawlers or other types of software agents to know when and where the latest updated RDF documents can be found. So they request a list of recently updated documents as a starting location to crawl the Semantic Web.

You can use the URL of an HTML or RDF document when pinging PingtheSemanticWeb.com web service. If the service finds that the URL points to an HTML document, it will check if it can find a link to a RDF document. If it finds one, it will follow the link and check the RDF document to see if SIOC, DOAP and/or FOAF elements are defined in the document. If the service found that the RDF document has SIOC, DOAP and/or FOAF elements, it will archive the ping and make it available to crawlers in the export files. Otherwise it will archive it in the general RDF pings list.