- From: Markus Lanthaler <markus.lanthaler@gmx.net>
- Date: Thu, 6 Feb 2014 18:24:07 +0100
- To: <public-hydra@w3.org>
On Wednesday, February 05, 2014 6:56 PM, Ruben Verborgh wrote: > >> If there is a necessity, shouldn't we split them into: > >> - hydra:requiredProperty with domain hydra:SupportedProperty? > >> - hydra:requiredMapping with domain hydra:IriTemplateMapping? > > > > What would be the advantage of doing so? > > Required properties and required mappings are different things; > even though they both happen to start with "required". > Basically, the same reason that all properties are not called > "hydra:has" > (even though this example is more detailed). > > Having a property that doesn't have a strict range > makes me always wonder how well-defined it is. OK, now I think I got what you mean. The thing is that the range of "required" is xsd:boolean. So either something is required or it isn't. That something could either be a SupportedProperty or a IriTemplateMapping. You seem to have got a little confused. In other words, it's not <> :required [ a hydra:SupportedProperty ] . but <> hydra:supportedProperty [ a hydra:Supported Property ; hydra:required true ] . Does this clarify it? > Another way round would be: > is there any meaningful superclass shared by SupportedProperty and > IriTemplateMapping? I don't think we need to introduce one just for the sake of it. > > > but it does _have_ a property. How about something like: > > > _:something hydra:parameter_:parameter. > > > _: parameter hydra:controls _:property. > > > > Hmm... I'm not sure I like this. It certainly looks weird when you > > look at it from a class' perspective (using singulars to better > > illustrate the difference): > > > > foaf:Person hydra:supportedProperty [ > > hydra:property foaf:name . > > hydra:required true . > > ] . > > > > vs. > > > > foaf:Person hydra:parameter [ > > hydra:controls foaf:name . > > hydra:required true . > > ] . > > > > > > Personally, I find the first much clearer. > > Yes and no. in the first you have the confusion that a > SupportedProperty is not a Property; > the hydra:SupportedProperty is the blank node; the hydra:property is > foaf:name. There have been discussions (mainly with Sam) to relax this restriction so that you can also directly point to a property instead of going through the indirection of SupportedProperty. > hydra:Parameter and hydra:controls might not be the right names though. > > > foaf:Person hydra:requiredParameter [ > > hydra:property foaf:name . > > hydra:required true . > > ] . > > So a parameter would be a property that receives a value. > That seems clearer than a SupportedProperty which is not a property. ... and at the same time you would introduce hydra:optionalParameter? I'm still not convinced of this terminology. "Class" and "parameter" do not really match IMO. -- Markus Lanthaler @markuslanthaler
Received on Thursday, 6 February 2014 17:24:41 UTC