- From: Axel Polleres <axel.polleres@deri.org>
- Date: Fri, 02 May 2008 14:51:56 +0100
- To: debruijn@inf.unibz.it
- CC: "Public-Rif-Wg (E-mail)" <public-rif-wg@w3.org>
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. Axel > Best, Jos > >> >> In my previous e-mail I wrote a^^b as lit(a,b), which seems about >> right. I'm not sure what we should call "lit". SWI-Prolog calls in >> "type(b, a)". [1] >> I suppose the obvious thing is "Const", so the change in the grammar is: >> >> Remove: >> >> Const ::= '"' UNICODESTRING '"^^' SYMSPACE >> >> Add (trying to keep current style): >> >> Const ::= 'Const(' '"' UNICODESTRING ',' '"' SYMSPACE '"' ')' >> >> Does that work? >> >> I'd also consider putting the symspace first (as in SWI-Prolog), because >> in a sense it's the most-significant part. >> >>> If you do not like "..." for the after the ^^-part, use '...' or even >>> <...>. >>> But, in the latter case, <...> CANNOT be used as a macro. That is, >>> >>> <abc> --X--> "abc"^^rif:iri. >>> >>> is a no-no. >>> >>> My proposal allows some simple form of context sensitivity, but not the >>> above <...> macro atrocity (if <...> is also used after the ^^). >>> I do not see why we need such a macro in the first place, if in most >>> cases >>> we will be using foo:bar. >> >> I can't think of any reason we need "<" ... ">", but we might. I think >> we can leave them out until/unless we need them. >> >> -- Sandro >> >> [1] http://www.swi-prolog.org/packages/rdf2pl.html#sec:3.1 >> > -- Dr. Axel Polleres, Digital Enterprise Research Institute (DERI) email: axel.polleres@deri.org url: http://www.polleres.net/ rdfs:Resource owl:differentFrom xsd:anyURI .
Received on Friday, 2 May 2008 13:52:44 UTC