RE: Moving forward with ISSUE-30 (IRI template expansion)

> -----Original Message-----
> From: Markus Lanthaler [mailto:markus.lanthaler@gmx.net]
> Sent: Friday, August 08, 2014 11:07 AM
> To: public-hydra@w3.org
> Subject: RE: Moving forward with ISSUE-30 (IRI template expansion)
> 
> I would like to send out a new call for consensus for ISSUE-30 [1] early next
> week.
> 
> AFAICT, the majority of the group prefers an extensible approach using
> something like hydra:expansionMechanism instead of having just a flag.
> Regarding the proposed ExpandedRepresentation (do we have a better name
> for
> this?) two hats (^^) seem to be preferred over something like $ even though
> the syntax *won't* be Turtle compatible. I'm quite uneasy about this as I see
> it as source of lots of confusion in the future. Especially if we ever decide to
> add a TurtleRepresentation.
> 
> So, I guess to proceed we need to find answers to the following questions:
> 
> 1) Do we want the new property to be called
>   a) expansionMechanism,
>   b) variableExpansion, or
>   c) variableRespresentation?
> 
> I opt for variableRepresentation as it sounds most declarative and also
> indicates that this affects only the representation of the variables in the
> template, nothing else.
> 

a) I agree with Ruben's original point of 'expansionMechanism' being 'a bit heavy'.  
b) I kinda like 'variableExpansion', but are we really only ever talking about variables being expanded here? I thought the whole point of having an extensible approach was to allow new, not-yet-foreseen, forms of 'transformation' beyond just basic variable substitution - i.e. couldn't some new mechanism also want to encode 'special characters' found in the literal? In that sense, 'transformation' might be broader than 'expansion', but I feel it's a bit too heavy too.
 c) Personally, I don't like the use of 'Representation' in general. It's just so vague (unless you're a die-hard RESTafarian), and I've found developers struggle with its 'abstractness'. 

So how about some more options:
d) expansionType
e) expansionScheme 
f) expansionMethod  (my preference now)
f) expansionApproach
f) expansionStrategy

> 
> 2) What do we call the expanded value representation (mechanism described
> in [2])?
>   a) ExpandedRepresentation
>   b) CompleteRepresentation
>   c) something else?
> 
> I'm leaning towards b) but am open for better names.
> 

I assume you mean 'what do we call the output of the expansion mechanism described in [2]'? Where are you looking to use this new term (i.e. is it just in the prose of the spec, or are you trying to name a new Hydra property here)?

Anyway, assuming it's the 'output of the mechanism':
a) and b) both have 'Representation' again (do others find developers struggle with the use of this term 'in general', or is it just me...?!).

c) given that we're in the context of an IRI mapping template, why isn't simply 'expandedValue' good enough? Outside of that context I guess we'd just call it the 'iriTemplateExpandedValue' - which sits Ok with me too I think...

> 
> 3) Do we really want to use two hats (^^) in the expanded representation
> knowing that we might introduce a Turtle representation in the future which
> will make it difficult to distinguish them by just looking at the resulting URL?
> Also unlike "$", the character "^" isn't allowed in a URL and needs to be
> escaped [3] to %5E.
>   a) use one hat (^)
>   b) use two hats as Turtle does (^^)
>   c) use another character such as $ which doesn't need to be escaped
> 
> I strongly favor c)
> 

I still strongly favor b). 

Firstly, the 'expansionMethod' above should explicitly eliminate any confusion.

Secondly I think the less variation between the syntaxes of the various potential 'expansionMethods' the better (i.e. the less people have to learn and mentally differentiate). I don't agree that sharing just this little bit of Turtle syntax could lead to confusion (but of course that's easy for me to say given I'm very familiar with Turtle!). But at least Turtle is a W3C standard, and it happens to provide exactly the functionality we wish to apply here. So simply referencing all the existing excellent Turtle documentation here should make it a little bit easier to justify the weird-looking '^^' to all the non-RDF people.

I do agree that the use of two hats is unfortunate, but as others have stated, that Turtle boat has already sailed...

> 
> Thanks and a nice weekend to everyone,
> Markus
> 
> 
> [1] https://github.com/HydraCG/Specifications/issues/30
> [2] http://lists.w3.org/Archives/Public/public-hydra/2014Jul/0083.html
> [3] http://tools.ietf.org/html/rfc3986#section-2
> 
> 
> --
> Markus Lanthaler
> @markuslanthaler
> 
> 
> 

Received on Sunday, 10 August 2014 15:53:32 UTC