Click here to load reader
Upload
chimezie-ogbuji
View
695
Download
0
Embed Size (px)
Citation preview
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?)