Callimachus intro 20100928

17
1 Wednesday, September 29, 2010

description

A brief introduction to the Callimachus Project, an Open Source software project to make the creation of Semantic Web applications easy for Web authors.

Transcript of Callimachus intro 20100928

1Wednesday, September 29, 2010

c. 305–c. 240 BCE

• Father of Bibliography (The Pinakes)at the great Library at Alexandria

• Could not categorize his own work in Aristotle’s hierarchical system

Καλλίμαχος of Cyrene

“Mega biblion, mega kakon”

2Wednesday, September 29, 2010

“Many writings equals many worries”Pinakes: Tables of those who were eminent in every branch of learning, and what they wrote, in 120 volumesCallimachus’ Quandary was that he could not categorize his own works in Aristotle’s hierarchy.

3Wednesday, September 29, 2010

Semantic Web applications have been hampered by our pre-conceived notions of software architecture. It has taken us ten years to build a full architecture.

4Wednesday, September 29, 2010

Like Aristotle’s hierarchy, we have thumb rules and presumptions in our software architectures. The 3-tier architecture is very useful, but most people equate the data layer with hierarchical or pseudo-hierarchical data stores like relational databases and file systems.

RDF

Object-RDF mapping1.

2.

5Wednesday, September 29, 2010

We try to address Callimachus’ Quandary by removing limitations implicit in the n-tier architecture. Objects are exposed to the user interface so we can keep using existing means of creating UIs, but those limitations are not serialized.

The painter... does not fit the paints to the world.He fits himself to the paint.

-- Paul Klee

6Wednesday, September 29, 2010

7Wednesday, September 29, 2010

Older attempts at creating RDF editors suffered from being too close to triples. Other products make an orthogonal mistake by storing objects based on RDF, thus limiting arbitrary relationships in the data. Callimachus tries to avoid both problems by presenting objects to the user while storing RDF natively.

8Wednesday, September 29, 2010

In our opinion, Semantic Web apps should look like arbitrary Web pages.

HTTP GETrequest

Class

Viewable

XMLtemplate apply.xsl

HTML

SPAR

QL

quer

y

RD

F re

spon

se

HTTPresponse

Web serverRDF Store

Resource

9Wednesday, September 29, 2010

Demo Time!

10Wednesday, September 29, 2010

Graph Pattern Queries

• Every triple is also a triple pattern

• Any graph can be used within a SPARQL ASK query

• Basic triple patterns are triples with variables

• Variables can be stored in triples as URI within a particular namespace

• Many CONSTRUCT and SELECT queries can be represented using triples with variables

11Wednesday, September 29, 2010

RDFa Pattern Queries

• RDFa is parsed into RDF

• Variables are identified by URI namespace for conversion into basic triple patterns

• Nested tags use OPTIONAL joins to maximise matches

• RDFa file is used to construct RDFa result of matching triples

• Callimachus project contains an implementation of the above

12Wednesday, September 29, 2010

UI Templates

• Use external BASE to enable query reuse against different subjects

• Template for every resource type and activity

• Activities include:

•View resource

•Review resource

•Edit resource

•Copy resource13Wednesday, September 29, 2010

RDFa Changesets

• JavaScript RDFa library for parsing and identifying differences on client side

• JavaScript library for RDFa aware DOM manipulation

• POST changes back to server as RDF or SPARQL Update

14Wednesday, September 29, 2010

When to use SPARQL

• RDFa does not include

• Join types (inner, left, cross, union)

• FILTER

•ORDER BY

• LIMIT, OFFSET

•GRAPH support

• For these constructs use SPARQL results with XSLT

15Wednesday, September 29, 2010

Managing Resources with RDFa

• Identify or create a resource vocabulary

• Create resource templates for every resource type and activity in RDFa

• Create search interface with SPARQL and XSLT

• Semantic Web applications made easy!

16Wednesday, September 29, 2010

For More Information

• Contact

• James Leigh <[email protected]>

•David Wood <[email protected]>

• Get involved at

• http://callimachusproject.org/

17Wednesday, September 29, 2010