- From: Benjamin Adrian <benjamin.adrian@dfki.de>
- Date: Wed, 10 Mar 2010 15:17:49 +0100
- To: RDFa WG <public-rdfa-wg@w3.org>
Hello,
As it's my turn to give you some information about the RDFa DOM API
direction tomorrow, I'll tell you the current status.
First questions I tried to answer were:
Q1: Why to have an RDFa DOM API if there are plenty of RDFa parsers and
libraries out there?
A1: The RDFa DOM API is a chance to hide complex language constructs in
RDFa to
application developers
To understand what's really complex in handling RDFa, I looked into
source
code from:
* librdfa (C)
* pyRdfa-2.3.7 (Python)
* rdflib::RDFaParser (Python)
* RDFaParser (Java, uses XSLT)
* rdfquery (JavaScript)
* Operator (JavaScript, Firefox Plugin, uses XPath)
My conclusions are:
1. Developers spent most lines of code to filter DOM elements for
specific
attributes that may contain RDFa content. A DOM extension would remove
this effort.
2. RDFa chaining forces RDFa Parsers developers to implement recursion or
use a pushdown automaton.
3. A DOM API could not only extract RDF triple from DOM nodes, but may
also find DOM nodes with specific RDF content. This may be used for
highlighting elements with RDFa content as done by Operator.
4. The option to use either URIs or CURIES in RDFa code should be
hidden by
the RDFa DOM API.
5. In RDFa 1.1. Users may define external vocabulary definitions (either
vocab or profile). Again the RDFa DOM API should hide this.
Q2: What should be the focus of this API?
A2: 1. Extract RDF triples from RDFa annotated HTML5 and XHTML pages.
2. Query for RDFa enhanced DOM elements with RDF triple patterns.
(3. Add RDF triples as RDFa to DOM?) [3]
(4. Remove RDF triples as RDFa to DOM?)
Q3: Where is the cut between RDFa DOM API and RDF Triple Store API (Knut)?
A3: The RDFa DOM API allows developers to use RDF triples inside the
DOM. It is
a rather low level API, whether the Triple Store API is set one level
higher. This Triple Store API may be implemented based on the RDFa
DOM API
and allow operations such as query the web page with SPARQL, and store
extracted triples to allow inferencing.
Q4: What functionalities should be provided by the RDFa DOM API?
A4: The API should be designed by analysing the following tradeoff:
"Less programming effort for browser developers versus lightwight
API for
application developers."
=> means: a few API methods that cover all use cases
=> RDFa DOM API feeling should preserve the DOM feeling
Q5: What concrete functions should be offered?
A5: I set up a wiki page [1] with a Web IDL draft specification. Please
conside that it is not complete and in parts a bit simplified. We
can use
this as base for discussion.
Q6: Are there any Code Snippets showing us that the use of the specified API
is efficient wrt. spent lines of code?
A6: Yes one :), I added a section at [2]. More will follow. Please also add
code that shows weaknesses of the current specification.
So much for now. Please let me know if you agree, disagree or think I
misunderstood some things.
Best regards,
Benjamin
[1] http://www.w3.org/2010/02/rdfa/wiki/RDFa-DOM-API
[2] http://www.w3.org/2010/02/rdfa/wiki/RDFa-DOM-API#Code_Snippets
[3] You may read discussion about this in thread:
http://lists.w3.org/Archives/Public/public-rdfa/2010Feb/0031.html
--
__________________________________________
Benjamin Adrian
Email : benjamin.adrian@dfki.de
WWW : http://www.dfki.uni-kl.de/~adrian/
Tel.: +49631 20575 145
__________________________________________
Deutsches Forschungszentrum für Künstliche Intelligenz GmbH
Firmensitz: Trippstadter Straße 122, D-67663 Kaiserslautern
Geschäftsführung:
Prof. Dr. Dr. h.c. mult. Wolfgang Wahlster (Vorsitzender) Dr. Walter Olthoff
Vorsitzender des Aufsichtsrats:
Prof. Dr. h.c. Hans A. Aukes
Amtsgericht Kaiserslautern, HRB 2313
__________________________________________
Received on Wednesday, 10 March 2010 14:18:22 UTC