> so presumably the recommended policy is to omit the data type for
> strings but how about integers and decimals - is it good practice to
> define the datatypes or not (perhaps one for SematicOverflow)
Aside from making queries a bit more complicated, a big disadvantage
with defining a datatype for natural language strings is that you
can't give them language tags (this restriction may be an advantage
for non-natural language strings like ID codes - though arguably it
would be better to define a more specific datatype).
The pedantic web mailing list discussed this a while back:
http://groups.google.com/group/pedantic-web/browse_thread/thread/7365cf5d58f6ea3b/976a0b35d9ff61e8?lnk=gst&q=datatypes#976a0b35d9ff61e8
With regards other datatypes, I'm not sure what the arguments around
best practice are. You can cast values as (some) xsd: datatypes in
sparql for the purposes of query without them needing to have that
explicit datatype in the data. The property definition might also have
a rdfs:range of a datatype, in which case all values of that property
can be inferred to be of that datatype. If the property definition
doesn't define the datatype of its values, it can be useful to do it
in the data to differentiate between other values of the same property
with a different datatype. Eg, if the values in your data for
ex:start are valid xsd:dateTime and some other data has values for
ex:start that are valid xsd:date, then adding datatypes to your data
helps keeps things a little cleaner, and makes it easier for
applications to know how to process the values.
Keith