dcmi / dctap

DC Tabular Application Profile
https://dcmi.github.io/dctap/
32 stars 10 forks source link

Mention xsd:anyURI in primer? #20

Closed kcoyle closed 3 years ago

kcoyle commented 3 years ago

At the moment the TAP has only one column where one can indicate that the property value type is an IRI: the valueNodeType. I can see in the examples that Phil has provided that valueNodeType may be critical for those intending to translate the TAP into an RDF validation schema (SHACL or ShEx).

At the same time I suspect that some users of TAP will not be focused on the valueNodeType and may not include that column. For these users, the ability to state that the valueDatatype is a URI/IRI is going to be important. Although we do not require that IRIs are solely encoded as valueNodeTypes we also do not indicate how IRI values can be expressed in absence of that column. I think we should give at least one example that has no valueNodeType and uses [xsd:anyURI](https://www.w3.org/TR/xmlschema11-2/#anyURI). We may also need to explain that xsd:anyURI can be further constrained, such as with IRI stems in spite of the "any" in its name.

Yes, I do recall the argument that the xsd:anyURI is a literal value in RDF terms. However, I don't think that processing programs will have difficulty treating strings beginning with "https://" as IRIs when they are indicated as `xsd:anyURI'. I am, of course, willing to entertain other suggestions if you have them.

kcoyle commented 3 years ago

Here's the definition of anyURI from the XSD documentation:

3.3.17 anyURI

[Definition:] anyURI represents an Internationalized Resource Identifier Reference (IRI). An anyURI value can be absolute or relative, and may have an optional fragment identifier (i.e., it may be an IRI Reference). This type should be used when the value fulfills the role of an IRI, as defined in [RFC 3987] or its successor(s) in the IETF Standards Track. Note: IRIs may be used to locate resources or simply to identify them. In the case where they are used to locate resources using a URI, applications should use the mapping from anyURI values to URIs given by the reference escaping procedure defined in [LEIRI] and in Section 3.1 Mapping of IRIs to URIs of [RFC 3987] or its successor(s) in the IETF Standards Track. This means that a wide range of internationalized resource identifiers can be specified when an anyURI is called for, and still be understood as URIs per [RFC 3986] and its successor(s).

kcoyle commented 3 years ago

Also note that the RDF datatypes document states:

xsd:anyURI | Absolute or relative URIs and IRIs

This is under "miscellaneous datatypes".

kcoyle commented 3 years ago

Group decided NO at April 14 meeting.