A quick dump that demonstrates how I integrate tags and links
from del.icio.us with links from my local bookmark database via one
of my public Data Spaces (this demo uses the kidehen Data
Space).
SPARQL
(query language for the Semantic Web) basically enables me to query
a collection of typed links (predicates/properties/attributes) in
my Data Space (ODS
based of course) without breaking my existing local bookmarks
database or the one I maintain at del.icio.us.
I am also demonstrating how Web 2.0 concepts such as
Tagging mesh nicely
with the more formal concepts of Topics in the Semantic Web realm.
The key to all of this is the ability to generate RDF Data Model Instance Data
based on Shared
Ontologies such as SIOC (from DERI's SIOC Project) and SKOS (again showing that
Ontologies
and Folksonomies are complimentary).
This demo also shows that Ajax also works well in the Semantic
Web realm (or web dimension of
interaction 3.0) especially when you have a toolkit with Data
Aware controls (for SQL, RDF, and XML) such as OAT (OpenLink Ajax
Toolkit). For instance, we've successfully used this to build a
Visual Query Building
Tool for SPARQL (alpha) that really takes a lot of the pain out
of constructing SPARQL Queries (there is much more to come on this
front re. handling of DISTINCT, FILTER, ORDER BY etc..).
For now, take a look at the SPARQL Query dump generated by this
SIOC & SKOS SPARQL QBE Canvas Screenshot.
You can cut and paste the queries that follow into the Query
Builder or use the screenshot to build your variation of this query
sample. Alternatively, you can simply click on *This*
SPARQL
Protocol URL to see the query results in a basic HTML Table.
And one last thing, you can grab the
SPARQL Query File saved into my ODS-Briefcase
(the WebDAV
repository aspect of my Data Space).
Note the following SPARQL Protocol Endpoints:
-
MyOpenLink Data
Space
-
Experimental Data
Space SPARQL Query Builder (you need to register at
http://myopenlink.net:8890/ods to use this version)
-
Live Demo
Sever
-
Demo Server
SPARQL Query Builder (use: demo for both username and pwd when
prompted)
My beautified Version of the SPARQL Generated by QBE (you can
cut and paste into "Advanced Query" section of QBE) is presented
below:
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX sioc: <http://rdfs.org/sioc/ns#>
PREFIX dct: <http://purl.org/dc/elements/1.1/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
SELECT distinct
?forum_name,
?owner,
?post,
?title,
?link,
?url,
?tag
FROM <http://myopenlink.net/dataspace>
WHERE {
?forum a sioc:Forum;
sioc:type "bookmark";
sioc:id ?forum_name;
sioc:has_member ?owner.
?owner sioc:id "kidehen".
?forum sioc:container_of ?post .
?post dct:title ?title .
optional { ?post sioc:link ?link }
optional { ?post sioc:links_to ?url }
optional { ?post sioc:topic ?topic.
?topic a skos:Concept;
skos:prefLabel ?tag}.
}
Unmodified dump from the QBE (this will be beautified
automatically in due course by the QBE):
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX sioc: <http://rdfs.org/sioc/ns#>
PREFIX dct: <http://purl.org/dc/elements/1.1/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
SELECT ?var8 ?var9 ?var13 ?var14 ?var24 ?var27 ?var29 ?var54 ?var56
WHERE
{
graph ?graph {
?var8 rdf:type sioc:Forum .
?var8 sioc:container_of ?var9 .
?var8 sioc:type "bookmark" .
?var8 sioc:id ?var54 .
?var8 sioc:has_member ?var56 .
?var9 rdf:type sioc:Post .
OPTIONAL {?var9 dc:title ?var13} .
OPTIONAL {?var9 sioc:links_to ?var14} .
OPTIONAL {?var9 sioc:link ?var29} .
?var9 sioc:has_creator ?var37 .
OPTIONAL {?var9 sioc:topic ?var24} .
?var24 rdf:type skos:Concept .
OPTIONAL {?var24 skos:prefLabel ?var27} .
?var56 rdf:type sioc:User .
?var56 sioc:id "kidehen" .
}
}
Current missing items re. Visual QBE for SPARQL are:
- Ability to Save properly to WebDAV so that I can then expose
various saved SPARQL Queries (.rq file) from my Data Space via
URIs
- Handling of DISTINCT, FILTERS (note: OPTIONAL is handled via
dotted predicate-links)
- General tidying up re. click event handling etc.
Note: You can even open up your own account (using our
Live Demo or
Live Experiment Data Space
servers) which enables you to repeat this demo by doing the
following (post registration/sign-up):
- Export some bookmarks from your local browser to the usual HTML
bookmarks dump file
- Create an ODS-Bookmarks Instance using your new ODS
account
- Use the ODS-Bookmark Instance to import your local bookmarks
from the HTML dump file
- Repeat the same import sequence using the ODS-Bookmark
Instance, but this time pick the del.icio.us option
- Build your query (change 'kidehen' to your ODS-user-name)
- That's it you now have Semantic Web presence in the form of a
Data Space for your local and del.icio.us hosted bookmarks with
tags integrated
Quick Query Builder Tip: You will need to import the following
(using the Import Button in the Ontologies & Schemas
side-bar);
-
http://www.w3.org/1999/02/22-rdf-syntax-ns#
(RDF)
-
http://rdfs.org/sioc/ns#
(SIOC)
-
http://purl.org/dc/elements/1.1/
(Dublin Core)
-
http://www.w3.org/2004/02/skos/core#
(SKOS)
Browser Support: The SPARQL QBE is SVG based and currently works
fine with the following browsers; Firefox 1.5/2.0, Camino (Cocoa
variant of Firefox for Mac OS X), Webkit (Safari pre-release /
advanced sibling), Opera 9.x. We are evaluating the use of the
Adobe SVG plugin re. IE 6/7 support.
Of course this should be a screencast, but I am the middle of a
plethora of things right now :-)