GRDDL: A Pictorial Approach

Post on 26-Jun-2015

695 views 0 download

Transcript of GRDDL: A Pictorial Approach

GRDDL: A Pictorial Approach

Chimezie OgbujiCleveland Clinic Foundation

Abstract vs Concrete Syntax

John McCarthy's definition (May 1996)

Towards a Mathematical Science of Computation

Common way to define concrete syntaxes: EBNF grammar

Concrete (synthetic) syntaxes are not well suited for translation between expressive languages

Examples: XML, RDF/XML, SPARQL, ..

Abstract vs Concrete Syntax: Continued

Abstract syntax ..

Independent of a particular notation

Define the operational semantics of a language

Examples: XML Infoset, XPath Data Model, RDF Abstract Syntax, SPARQL Algebra, etc..

Arithmetic Example

There are various ways to represent the addition operator syntactically

Infix: 2 + 2

Postfix: + 2 2

Regardless of the syntax it amounts to the same operation

Mathematicians / logicians / programmers can pick a syntax that suites them best

RDF Concrete Syntaxes: The Landscape

There are many RDF concrete syntaxes and only two are currently W3C-ratified

Some are more expressive than others (Notation 3 vs RDF/XML)

Others live within a host language (RDFa and eRDF)

They all map to the same abstract syntax

What Does This Have to Do with GRDDL?

Authors who wish to express RDF should not have to wrestle with syntax and vocabulary

Typically an author needs to know:

RDF abstract syntax (simple)

The specifics of a particular concrete syntax (large variance: ntriples / RDF/XML)

The specifics of vocabulary (even larger variance: DOLCE vs. RSS)

What Does This Have to Do with GRDDL?: Cont.

Author only needs to know:

An XML vocabulary 'Vanilla' XML

XML with resolvable namespace documents

XHTML (with GRDDL profile)

XHTML (with other GRDDL-enhanced profiles)

A mapping to RDF abstract syntax (optional)

XSLT 1.0 (built-in transformation language)

XProc, XQuery, etc..

Draino for Semantic Web Plumbing

GRDDL: Points of Contention

Which XML pipeline languages are supported natively?

What comes out of the pipeline?

Localized transformation

How do we resolve relative URIs in the result?

What about validation and inclusion?

Base rule (what to do with RDF/XML?)