- From: Markus Lanthaler <markus.lanthaler@gmx.net>
- Date: Tue, 30 Sep 2014 00:05:28 +0200
- To: <public-hydra@w3.org>
On 24 Sep 2014 at 20:33, László Lajos Jánszky wrote:
> Okay, these are 2 words (hydra:supportedOperation, hydra:Operation).
>
> We don't necessary need the hydra:Operation. For example we can use an
> rdf:type, like schema:BefriendAction from another vocab. What we
> really need are the operation related properties, like hydra:method,
> hydra:returns, etc... By RDF you don't need classes to define or use
> properties, so you don't need the hydra:Operation class to do so. The
> hydra:Operation class can be a base class of custom operations, but I
> am not sure what's the gain of having such a base class.
Strictly speaking you are right. hydra:Operation wouldn’t be needed. But it often makes processing of data simpler and also helps humans to understand and communicate ("the thing with a hydra:method, hydra:returns..." vs. "the hydra:Operation").
> What about the other 2 words (hydra:operation, hydra:Link)?
With hydra:supportedOperation you associate an operation to a class. It then applies to all instances of that class. In contrast, hydra:operation associates an operation directly to a resource:
</Class> hydra:supportedOperation <OpA> .
</Class> hydra:operation <OpB> .
</res> rdf:type </Class> .
</res> hydra:operation <OpC> .
With this information, a server tells a client that the resource </Class> supports OpB but *not* OpA. </res> supports OpA (because it is an instance of /Class) and OpC.
hydra:Link allows you to express that a property should be interpreted as a link instead of just an ordinary RDF property. In other words, if you encounter something like:
ex:myProp rdf:type rdf:Property .
ex:myLink rdf:type hydra:Link .
</> ex:myProp </a> .
</> ex:myLink </b> .
A client would know that </b> is to be treated as a dereferenceable resource whereas </a> is to be treated as an identifier. In RDF, all IRIs are "by default" just identifiers. This allows you to distinguish between those two things in a machine-understandable way.
Does this clarify it?
--
Markus Lanthaler
@markuslanthaler
> 2014-09-23 23:38 GMT+02:00 Ruben Verborgh <ruben.verborgh@ugent.be>:
>> Hi László
>>
>>> Do the machines really need 4 keywords to describe the same?
>>
>> It will need at least two; one type to say "this is an operation";
>> one property to say "this is the operation of”. They are different things.
>>
>>> For a human the following would be enough: when something is under the
>>> supportedOperation property, than it is an operation
>>
>> Note how you have the same two concepts here:
>> “supportedOperation”, and "an operation”.
>> So humans have also two concepts; nothing special about that.
>>
>> Machines can also make the above inference:
>> the range of supportedOperation is Operation,
>> so therefore, everything under supportedOperation is an operation.
>> However, to do this, we of course need the concept “operation”.
>>
>> Best,
>>
>> Ruben
Received on Monday, 29 September 2014 22:05:57 UTC