- From: Karol Szczepański <karol.szczepanski@gmail.com>
- Date: Fri, 9 Oct 2015 20:09:20 +0200
- To: "Ruben Verborgh" <ruben.verborgh@ugent.be>
- Cc: <public-hydra@w3.org>
Hi Ruben >But that's not what your RDF above says. >It says that the operation return _:someResource. Well, not really. I used blank node. Maybe this syntax gives the idea better (I've dropped a hydra:Operation): my:restOperation hydra:expects [a hydra:Resource; imaginary:ofClass schema:Action . ] . It really says that the operation expects something that is a resource of type schema:Action. This is how RDF spec treats blanks - something that is unnamed. >Even if you define "hydra:expects" very liberally, >we'll still run into problems (as the "imaginary" shows). >_:someResource is not a resource but a prototype for a resource. I don't agree - prototype would look like the genuine one, but with some fakes here and there. Here is a anonymous resource with few pointers on how it should look like. >Actually, don't we just need SHACL here? As I wrote, I don't want to impose on using anything specific, but I mentioned SHACL and it may be an option here. I think it defines general constrains that can be applied on the shape, thus I might be a candidate. >Pages are certainly not details; we need to get this straight. True, but specific links like first or last page are. I prefer to tell client on how to craft a link to a page (give him a fishing rod) rather than to tell him every single possibility hoping any of them will be of use to him (give him fish instead). >The fact that Hydra is modelled with OWL/RDFS does not mean in any way >clients would need a reasoner. >Nearly every RDF document anybody ever used had properties in there that >were modelled with OWL, >yet few clients actually had reasoning support. I mean, even rdf:type is >modelled that way. That's why I also stated that we probably won't be able to completetly be out of this scope. >> Example: hydra:property has a range of rdf:Property and this class can >> have in it's range an owl:Restriction - this is the shortest path to >> problems. >No. O yes. Consider this: my:restOperation hydra:expects [ owl:onProperty bar:serves; owl:allValuesFrom [ owl:intersectionOf (alcohols:Wine [owl:onProperty bar:hasColor; owl:hasValue bar:Red]) ] ] What kind of machinery on the client side would be required to find out that the operation expects an instance of a red wine service? I think Marcus' statement on what Hydra client MUST understand would be a good solution. Thank for valuable feedback. I enjoy this! Best Karol
Received on Friday, 9 October 2015 18:09:24 UTC