- From: Seaborne, Andy <andy.seaborne@hp.com>
- Date: Mon, 06 Jun 2005 12:08:46 +0100
- To: Dan Connolly <connolly@w3.org>
- CC: RDF Data Access Working Group <public-rdf-dawg@w3.org>
Changes to use "IRI" throughout done except in section 11, which I will leave to Eric, and the one case where it is talking about the data format (Turtle) for examples. v1.372 Andy Dan Connolly wrote: > We currently have: > > "let RDF-U be the set of all RDF URIs" > > http://www.w3.org/2001/sw/DataAccess/rq23/#defn_RDFTerm > $Revision: 1.319 $ > > (I had to do view-source to get that fragid. While perhaps > my browser should do better, I'd like to have an index > of abstract syntax terms at the end or something.) > > The term at the other end of the link is actually > "RDF URI reference"... > > [[ > A URI reference within an RDF graph (an RDF URI reference) is a Unicode > string [UNICODE] that: > > * does not contain any control characters ( #x00 - #x1F, > #x7F-#x9F) > * and would produce a valid URI character sequence (per RFC2396 > [URI], sections 2.1) representing an absolute URI with optional > fragment identifier when subjected to the encoding described > below. > ]] > -- http://www.w3.org/TR/rdf-concepts/#dfn-URI-reference > > The discrepancy is probably due to a comment from me. > > The good news is that definition of the term "RDF URI reference" > turns out to be the same as the slightly more modern term, "IRI" > from RFC3987: > > [[ > IRI reference: Denotes the common usage of an Internationalized > Resource Identifier. An IRI reference may be absolute or > relative. However, the "IRI" that results from such a reference > only includes absolute IRIs; any relative IRI references are > resolved to their absolute form. Note that in [RFC2396] URIs did > not include fragment identifiers, but in [RFC3986] fragment > identifiers are part of URIs. > ]] > -- http://www.ietf.org/rfc/rfc3987.txt > > > So I suggest replacing RDF-U with just I ala... > > Definition: RDF Term > > let I be the set of all IRIs > let RDF-L be the set of all RDF Literals > let RDF-B be the set of all blank nodes > > The set of RDF Terms, RDF-T, is I union RDF-L union RDF-B. > > followed, outside the definition box, by: > > Note that all IRIs are absolute; they may or may not include fragment > identifiers[RFC3987, section 1.3]. Also note that IRIs include URIs > (and URLs). This definition matches the > definition of RDF URI Reference from [12]. > > I suggest striking > > An RDF Term is anything that can occur in the RDF data model. > > or move it outside the box and phrase it as: > > This definition of RDF Term collects several basic > notions from the RDF data model. > > In the concrete syntax, i.e. the grammar, it's all IRI references. > So this is pretty good... > > [3] BaseDecl ::= 'base' QuotedURIref > > probably better as QuotedIRIref. > > But... > > [12] SourceSelector ::= URI > > should be > > [12] SourceSelector ::= IRIref > > and > > [63] URI ::= QuotedURIref | QName > > should probably be > > [63] IRIref ::= QuotedIRIref | QName > > likewise > [41] VarOrURI ::= Var | URI > should be > [41] VarOrIRIref ::= Var | IRIref > > Also... > > [69] <Q_URIref> ::= '<' ([^> ])* '>' /* A URI relative reference : > RFC 3869 */ > > should be... > > [69] <Q_IRIref> ::= '<' ([^> ])* '>' /* A IRI reference : RFC 3987 > */ > > and let's move that comment into the prose of the spec... > how about under "Query Term Syntax". > > We should probably be more clear about whether this > is a sparql query or not: > > SELECT ?x WHERE { <foo###bar> dc:title ?x }. > > REQUEST FOR TESTCASE. > > I suggest that yes, it's a SPARQL query as defined by the > grammar, but it's erroneous; i.e. it's in the same category > as queries that don't obey the limitations on where variables > can go when using OPTIONAL. > > So we probably need a new kinda of test case. > > > I dunno if we should rename sop:isURI . > > Huh? what's this? > > RDF terms are identified by r:term and the constituant subclasses:" > > types of RDF terms with the prefix r:. SPARQL operators are named > with the prefix sop:. > > what are r: and sop: bound to? > > > Under 11.2.3.4 sop:isBlank it says > This query matches the people with a name and an mbox which is a URI: > but the query seems to be about matching blank nodes. > (the data should have some non-bnode people to make the distinction > more clear). > > This is sorta use-mention-buggy: > > (foaf:mbox should only have a URI as its object) > > suggest: > > the range of foaf:mbox is mailbox, not literal. > > > > Scanning for occurences of "URI" in the document, I find: > > When undeclared, the prefixes below stand in place of the URIs given: > > which sounds like part of the specification of the syntax of SPARQL, > but it's in a "Document conventions" section. I suggest changing that > to something like: > > In this document, many examples assume the following namespace > prefix bindings: > > > next I find: > > The terms delimited by "<>" are relative URI references [RFC 3986]. > After parsing, these are resolved to give URIs. > > which is pretty good, but (a) the can be absolute too, and (b) they > should be internationalized and (c) we should mention a base IRI > somehow. Is a base IRI an input to a parser? I suppose that's one > way to look at it. But I suggest: > > The terms delimited by "<>" are IRI references [RFC 3987]. > They stand for IRIs, either directly or relative to a base IRI. > > next: > > or an optional datatype URI > > s/URI/IRI/ > > Because URIs can be long, SPARQL provides an abbreviation mechanism. > > s/URI/IRI/ . not critical, since this is informative text. Hmm... maybe > "IRIs are just like URIs (and URLs even) but internationalized" should > go somewhere earlier. > > Also: I'd say > > Because URIs can be long and repetetive, ... > > my mailer says that's spelled wrong. Oh well. never mind. > > > next... > > The base URI for the resolution of relative URIs [RFC 3869] can > be explicitly declared with the BASE keyword. > > s/URI/IRI/ . And put that in a separate para. Maybe add an example, > even. > > > next... > > > Turtle allows URIs to be abbreviated with prefixes: > > s/IRI/URI/. > umm... didn't we just cover that? > > the subject, which is an RDF URI reference or a blank node > the predicate, which is an RDF URI reference > the object, which is an RDF URI reference, a literal or a blank node > > s/RDF URI reference/IRI/ 3x > > next... > > and datatype URI both match exactly > > s/URI/IRI/ > hmm... be explicit about the fact that it's the resovled IRI > we're comparing, not the possibly relative or qname form? > > next... > > zero or more named graphs, identified by URI reference. > > s/URI reference/IRI/ > > next... > > and each ui is a URI > the GRAPH keyword allows access to the URIs naming the graphs > bound to URIs of the graph being matched > > s/URI/IRI/ 3x > > next... > > The query below uses the graph with URI > http://example.org/foaf/aliceFoaf > > > s/URI/IRI/ optional. It's also a URI. > > next... > > Each time a graph is read into the aggregator, it is given a URI > by the local system. > ... a different URI by the system > > s/URI/IRI/ x2 > > next... > > # Graph: locally allocated URI: urn:x-local:graph1 > > Please don't use x- nor unregistered urn namespaces. > Use the example domain: > > # Graph: locally allocated URI: cid:rnd123@example > > next... > > The URI for the date datatype has been abbreviated > > s/URI/IRI/ (optional. it's also a URI) > > next... > > g is a URI where g > > s/URI/IRI/ > > next... > > The FROM clause gives a URI that ... > A query processor may use these URIs ... > The FROM clause a single URIs that indicates ... > A query can supply URIs for the named graphs > 3. URIs > > s/URI/IRI/ x5 > > next... > > with URI label > > s/URI/IRI/ (optional. it's also a URI) > > next... > > directly named by URI, > > s/URI/IRI/ > > and so on (I stopped auditing at Explicit URIs...) > > >
Received on Monday, 6 June 2005 11:09:09 UTC