Top Banner
1 Wednesday, September 29, 2010
17

Callimachus intro 20100928

May 15, 2015

Download

Technology

David Wood

A brief introduction to the Callimachus Project, an Open Source software project to make the creation of Semantic Web applications easy for Web authors.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Callimachus intro 20100928

1Wednesday, September 29, 2010

Page 2: Callimachus intro 20100928

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.

Page 3: Callimachus intro 20100928

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.

Page 4: Callimachus intro 20100928

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.

Page 5: Callimachus intro 20100928

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.

Page 6: Callimachus intro 20100928

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

-- Paul Klee

6Wednesday, September 29, 2010

Page 7: Callimachus intro 20100928

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.

Page 8: Callimachus intro 20100928

8Wednesday, September 29, 2010

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

Page 9: Callimachus intro 20100928

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

Page 10: Callimachus intro 20100928

Demo Time!

10Wednesday, September 29, 2010

Page 11: Callimachus intro 20100928

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

Page 12: Callimachus intro 20100928

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

Page 13: Callimachus intro 20100928

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

Page 14: Callimachus intro 20100928

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

Page 15: Callimachus intro 20100928

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

Page 16: Callimachus intro 20100928

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

Page 17: Callimachus intro 20100928

For More Information

• Contact

• James Leigh <[email protected]>

•David Wood <[email protected]>

• Get involved at

• http://callimachusproject.org/

17Wednesday, September 29, 2010