- From: Michael Kifer <kifer@cs.sunysb.edu>
- Date: Fri, 02 May 2008 12:36:30 -0400
- To: Sandro Hawke <sandro@w3.org>
- Cc: Axel Polleres <axel.polleres@deri.org>, debruijn@inf.unibz.it, "Public-Rif-Wg (E-mail)" <public-rif-wg@w3.org>
Sandro wrote:
>
> > Jos de Bruijn wrote:
> > >
> > >
> > > Sandro Hawke wrote:
> > >>> Let me reiterate (for the third time) my extremely simple compromise
> > >>> proposal. Here expand(foo) means substitute with the prefix
> > >>> definition of
> > >>> foo.
> > >>>
> > >>> 1. Standalone occurrence:
> > >>> foo:bar ---> "expand(foo)bar"^^"http://www.w3.org/2007/rif#iri"
> > >>>
> > >>> 2. A ^^-occurrence:
> > >>> "abc"^^foo:bar ----> "abc"^^"expand(foo)bar"
> > >>
> > >> I can live with this, if we don't use "^^". This was the second option
> > >> in my e-mail, although I accidentally expanded bar as well.
> > >>
> > >> The problem with ^^ is that it's very distinctive and is used in other
> > >> semantic web languages. But in those languages, it's followed by a URI
> > >> constant not a string constant. So I'd have to object that re-using
> > >> ^^ with this kind of type difference is too confusing to users.
> > >
> > > I thought that in RIF ^^ is also always followed by an IRI constant?
> >
> > In those other languages you are speaking about, it is followed by a IRI
> > in angle brackets or a CURIE:
> >
> > N3: http://www.w3.org/TeamSubmission/n3/
> >
> > literal ::= string dtlang
> > dtlang ::= "@" langcode | "^^" symbol
> > symbol ::= explicituri | qname
> > explicituri ::= <[^>]*>
> > qname ::= /* what we called CURIE */
> >
> > Turtle: http://www.w3.org/TeamSubmission/turtle/
> >
> > literal ::= quotedString ( '@' language )? | datatypeString
> > | integer | double | decimal | boolean
> > datatypeString ::= quotedString '^^' resource
> > resource ::= uriref | qname
> > uriref ::= '<' relativeURI '>'
> > qname ::= /* what we called CURIE */
> >
> >
> > SPARQL: http://www.w3.org/TR/rdf-sparql-query/
> >
> > RDFLiteral ::= String ( LANGTAG | ( '^^' IRIref ) )?
> >
> > IRI_REF ::= '<' ([^<>"{}|^`\]-[#x00-#x20])* '>'
> >
> > Note: No CURIEs allowed in the Grammar there for the type, although
> > they use CURIEs in the examples in the spec... actually, that
> > seems to be a bug in their grammar.
> >
> >
> >
> >
> > > I think we should stick with the ^^ in RIF, because its use actually
> > > generalizes the use in the other semantic Web languages.
> >
> > I fully agree that RIF presentation syntax should generalize those
> > languages, yes. We already defer by putting the langtag in side the
> > string, BTW.
>
> Right, but Michael is adamantly against RIF-PS generalizing those
> languages. So, I can live with this other approach. No pointy
> brackets and no ^^.
>
> -- Sandro
I do not understand. In what sense isn't it (the proposal in my message) a
generalization?
Let me correct an inaccuracy in your message:
> The problem with ^^ is that it's very distinctive and is used in other
> semantic web languages. But in those languages, it's followed by a URI
> constant not a string constant. So I'd have to object that re-using
> ^^ with this kind of type difference is too confusing to users.
In RIF, the part after the ^^ is not a string constant -- it is not a
constant of any kind. But it is an IRI in most cases (a sequence of chars
that amounts to an IRI). The fact that these other languages call that
part a "constant" does not make it so. They can call it a foobar, if they
please. Can they write "abc"^^?X (a variable)? If not, then the ^^ part is
just an integral part of the "abc"^^xsd:string constant.
Now, if you want to ditch the ^^ syntax, I do not object. But the lit(...)
syntax is too verbose. And I do not understand in what sense does RIF
contravene the usage of ^^ in other languages.
--michael
Received on Friday, 2 May 2008 16:40:26 UTC