- From: Axel Polleres <axel.polleres@deri.org>
- Date: Tue, 10 Jun 2008 19:36:47 +0100
- To: Jos de Bruijn <debruijn@inf.unibz.it>
- CC: "Public-Rif-Wg (E-mail)" <public-rif-wg@w3.org>
Jos de Bruijn wrote:
> Axel,
>
> Here are a few things I noticed in the DTB document during the meeting:
>
> - you use DATATYPE sometimes as the IRI of a datatype and sometimes as a
> non-IRI name of a datatype. It is unclear what the relationship is
> between these two names, especially since according to section 2.2 the
> names of the data types are IRIs. In addition, the names are not always
> what one would expect. For example, I would expect the short name of
> the xs:string datatype to be "string". However, in section 4.1 and 4.2
> it seems to be "String".
> I guess it probably makes sense to use some kind of short names for the
> datatypes in the names of certain predicates, but the relationship needs
> to be defined.
I added respecting paragraphs in 4.1 and 4.2 explaining the naming
convention.
"As a naming convention we use the non-prefix NCNAME part denoting the
data type in CamelCase, for instance we use pred:isString for the guard
predicate for xsd:string, or pred:isText for the guard predicate for
rif:text. Other RIF dialects involving new datatypes not mentioned in
the present document MAY follow this convention where applicable without
creating ambiguities with predicate names defined in the present document."
What I realized is whether we should in general forbid external
enitities to define external schemata for rif:..., pred: or func:
prefixed builtins. This is not aa issue for DTB though, but rather for
extensibility.
> - section 4.1, first sentence: as discussed in the meeting, it is
> unclear what is meant with "RIF supporting a datatype". As agreed in
> the meeting, a dialect may require implementations to support a specific
> datatype. The DTB document then only needs to specify that whenever a
> datatype is supported, also the corresponding (which is a concept also
> to be defined here) positive and negative guards must be supported.
> If you do not support guards for a particular datatype, then arguably
> you do not support the datatype, so I think that's a reasonable
> requirement. It is also necessary, for example, for embedding RIF-RDF
> combinations into RIF.
I am not sure whether this should be part of DTB and we didn't yet come
up with a clear definition. If people think we need it and someone comes
up with a reasonable definition, I am very willing to include it.
> - section 4.3, casting:
> The casting functions are under-defined: 1 It is unclear for which data
> types these functions are defined.
I improved this.
> 2 the reference to the table in section 17.1 seems to be incorrect. The
> table does not specify any conversions. It actually specifies which
> cast functions are defined, not how they are defined. You can probably
> use the table for defining which cast functions exist.
> Then, the table only speaks about XML schema datatypes, which seems
> insufficient for our purposes.
I am not sure how to address this comment. I think as for the cases not
covered by the table, the restructureing which i did now fixes this.
If you say that the conversion itself is not covered... well, all these
casts are explained in detail in the subsections of 17.1. so, I could
reword to "as shown in the table ... and defined in the subsections ...
but I definitly don't want to duplicate anything here.
> 3 you can probably use the text in section 17.1 to specify (part of)
> some of the cast functions. However, you do need to take care of the
> non-XML schema casting and the handling of errors.
precicely, that is why I think a reference to section 17.1 and the
improvements I did now are sufficient (at least for first public WD)
> 4 rif:XMLLiteral -> rdf:XMLLiteral (in several places in the document)
done
> 5 conversion between IRIs and strings cannot be defined as a function.
> It could be defined as a predicates. Please recall the discussion and
> the revised definition in [1].
will do that next... this is how far I got today. attacking your other
mails hopefully over the week.
> - I wonder what the justification is for just retaining the language in
> the cast from text to string
because you want to get the "pure" string out of it, disregarding the
lang tag... the lang tag can be extracted with func:lang.
> - section 4.7: I don't really like the name of the function ("lang");
I do. This is also used in SPARQL.
> this sounds more like the name of an attribute. I would prefer using
> the Xquery convention: lang-from-text
>
> Best, Jos
>
> [1] http://lists.w3.org/Archives/Public/public-rif-wg/2008Mar/0023.html
> --
> Jos de Bruijn debruijn@inf.unibz.it
> +390471016224 http://www.debruijn.net/
> ----------------------------------------------
> An expert is a person who has made all the
> mistakes that can be made in a very narrow
> field.
> - Niels Bohr
>
--
Dr. Axel Polleres, Digital Enterprise Research Institute (DERI)
email: axel.polleres@deri.org url: http://www.polleres.net/
Everything is possible:
rdfs:subClassOf rdfs:subPropertyOf rdfs:Resource.
rdfs:subClassOf rdfs:subPropertyOf rdfs:subPropertyOf.
rdf:type rdfs:subPropertyOf rdfs:subClassOf.
rdfs:subClassOf rdf:type owl:SymmetricProperty.
Received on Tuesday, 10 June 2008 18:37:40 UTC