2. 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, ..
3. 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..
4. 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
5. 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
6. 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)
7. 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..
9. 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?)