Re: terminology/necessity of hydra:required

On 02/10/2014 11:30 AM, Ruben Verborgh wrote:
>>> Because then, the range of hydra:supportedProperty
>>> would be the union of rdf:Property and hydra:SupportedProperty.
>>> and hydra:SupportedProperty would still not be property nor
>>> rdf:Property.
>> Initially, I wasn't a big fan of that either but Sam convinced me that in a
>> lot of cases it helps to drastically simplify the required markup.
> It does simplify.
> …but is simplification the most important goal here?
> It gets the model really messy and inexact.
> Is the trade-off worth it?
>
> This should be discussed in more detail.
> I can think of a dozen things that could simplify;
> but not without loosing semantics.
> It's the wrong quality attribute here.
>
>> If you
>> don't need to make any further statements about your supportedProperties,
>> you just enumerate them directly:
>>
>>    foaf:Person hydra:supportedProperty
>>        foaf:givenName ,
>>        foaf:familyName .
>>
>> If you need to describe them, you add a SupportedProperty construct in
>> between
>>
>>    foaf:Person hydra:supportedProperty
>>        foaf:givenName,
>>        [ hydra:property foaf:familyName ;
>>          hydra:required true ] .
>
> Here's a concrete problem:
>
>   foaf:Person hydra:supportedProperty
>        foaf:givenName ,
>        <http:/example.org/xyz>.
>
> Now what should I do?
> Should I look up <http:/example.org/xyz>
> and see whether it is an rdf:Property or a hydra:SupportedProperty?
> Or should I assume it is an rdf:Property? Or a hydra:SupportedProperty?
>
> You seem to silently assume that people will either give
> a URI that is an rdf:Property or a blank node that is a SupportedProperty.
> That assumption is incorrect and leads to unclear modeling.
>
> This is messy. I don't like it at all.

Why not resolve the information what it is from the foaf vocab [1].
 From that I can learn that it is an rdf:Property _and_ that it is a
http://www.w3.org/2002/07/owl#DatatypeProperty
which clearly indicates that I can't dereference the value?

If the client is intended to do so, you could (at least in the case of a 
JSON-LD format)
define the property as "@type": "@id";

Otherwise I would expect clients to understand whether a property must be
be further dereferenced or not from the bare semantics of it.


[1] http://xmlns.com/foaf/spec/index.rdf

Received on Monday, 10 February 2014 15:25:51 UTC