Multiple syntaxes (was: Re: The syntax issue)

Having multiple syntaxes is IMO almost always a bad idea. The  
downsides of multiple syntaxes include:

1. Education efforts are diluted. Some tutorials will address one  
syntax, others another syntax. This makes it harder to learn the  
language.

2. Noobs have to pick the syntax they want to use (e.g., when saving  
R2RML in their graphical mapping editor, should they save as “R2RML/ 
XML” or “R2RML/Turtle”?) and they often don't have the necessary  
experience to make an informed decision.

3. Parts of the language that interact strongly with the syntax,  
especially extension mechanisms, are much harder to design if they  
have to work in different languages. This leads to syntaxes that don't  
have full support for all features, and interoperability failures.  
Examples of this are plentiful in the RDF world.

Defining multiple syntaxes is the lazy way out that avoids making the  
hard choices. I would like to explore options for meeting everyone's  
requirements *without* introducing more than one syntax.

On 25 Aug 2010, at 16:32, Juan Sequeda wrote:
> But what about the DB people?  I'm guessing Richard can confirm this  
> with the D2R experience.

I can't remember any complaints about the choice of Turtle as syntax  
for D2RQ, or any attempts to use/establish different syntaxes. The  
different extensions/forks of the D2RQ language all stayed with the  
Turtle syntax.

We fairly frequently hear this question though: “Is there a graphical  
editor?” It is possible that some who asked the question would have  
been comfortable hand-editing XML, but aren't comfortable hand-editing  
Turtle.

On 25 Aug 2010, at 17:00, Souri Das wrote:
> However, what if we have a DB person writing the mapping. The  
> widespread familiarity of and availability of tools for XML could  
> make the XML-based syntax more suitable for their use than the RDF  
> syntax.

I acknowledge this. When it comes to average developer familiarity  
with the syntax, XML has advantages over Turtle, and text editors with  
syntax highlighting, autocomplete etc are more widespread for XML.

On 25 Aug 2010, at 17:19, Harry Halpin wrote:
> I think what we should have is a XML syntax for
> DB designers who may "just" be getting into RDF and a RDF/Turtle  
> syntax
> for those who are more familiar with RDF.

I'm not convinced by this argument. Some familiarity at least with the  
RDF *data model* is obviously a requirement for working with R2RML, no  
matter if the R2RML language itself is XML or Turtle. And Turtle is  
really the gentlest possible surface syntax for reading and writing  
this data model. I'd argue that Turtle as an R2RML syntax is *better*  
than XML for RDF noobs because it helps teaching basic RDF literacy.

> However, RDF/XML does not count
> as a human or even machine-usable XML syntax for people who are not
> familiar with RDF, and while I'm tempted by EricP's suggestion have  
> having
> the best possible XML syntax that is RDF compatible, I'd have to see a
> good example to be convinced that the result will not be needlessly
> awkward.

I concur. I was hoping that RDF/XML might be sufficient to address any  
XML-related requirement, but now have doubts. Today I tried to convert  
my Turtle example to RDF/XML using various converters, and the result  
is less than thrilling, even by RDF/XML standards. In RDF/XML, one can  
use QNames to abbreviate *predicate* URIs, but not *subject* or  
*object* URIs. But we often have class and property URIs in the object  
position, to name the classes and properties that are the target of  
the mapping. So an RDF/XML serialization of the Turtle is *possible*,  
but won't be particularly friendly because URIs can't be abbreviated  
to QNames in critical places.

Best,
Richard

Received on Wednesday, 25 August 2010 20:09:54 UTC