fluid-tech IRC Logs-2012-11-20
[11:50:03 CST(-0600)] <yura1> Bosmon: so i was updating the ontology transformations to not include escaped documents
[11:50:29 CST(-0600)] <Bosmon> yura - that is interesting
[11:50:31 CST(-0600)] <yura> and i was thinking when is it the case that we actually need to escape characters
[11:50:37 CST(-0600)] <Bosmon> How is a document accounted as "escaped"?
[11:51:03 CST(-0600)] <yura> what do you mean ?
[11:51:41 CST(-0600)] <Bosmon> i) what is the role for these documents, and ii) what do they look like
[11:52:37 CST(-0600)] <yura> they contain transformation rules between ontologies
[11:53:08 CST(-0600)] <Bosmon> ok
[11:53:17 CST(-0600)] <Bosmon> Don't they appear at known places in the document?
[11:53:50 CST(-0600)] <yura> the only escaped string there was the uri key
[11:54:06 CST(-0600)] <Bosmon> Why is it escaped?
[11:54:11 CST(-0600)] <Bosmon> Can you show an example?
[11:54:35 CST(-0600)] <yura> https://github.com/GPII/universal/blob/master/testData/ontologies/A4A-2.0.json
[11:56:21 CST(-0600)] <yura> Bosmon: so this is fine to assume that i can escape all of those programatically and that i dont need to store it escaped, correct ?
[11:59:26 CST(-0600)] <yura> but
[11:59:29 CST(-0600)] <yura> if i were to remove it
[11:59:39 CST(-0600)] <yura> it would be an issue when i actually need to do something like this
[11:59:51 CST(-0600)] <Bosmon> yura - it's correct, you should remove the escaping
[11:59:57 CST(-0600)] <yura> "elpath": "uri.0.value"
[12:00:48 CST(-0600)] <Bosmon> yura - isn't it still schematically clear that the "elpath" field is an EL path?
[12:00:52 CST(-0600)] <Bosmon> Could it occur unexpected?
[12:01:22 CST(-0600)] <yura> sorry my example is confusing
[12:01:29 CST(-0600)] <yura> i ll give a concrete one
[12:01:30 CST(-0600)] <Bosmon> unexpectedly
[12:01:41 CST(-0600)] <yura> so this will work
[12:01:51 CST(-0600)] <yura> "display.screenEnhancement.fontSize": "http://gpii\\.org/ontology/A4A-2\\.0/display/screenEnhancement/fontSize.0.value"
[12:01:54 CST(-0600)] <yura> out of the box
[12:02:01 CST(-0600)] <yura> but this will need more
[12:02:12 CST(-0600)] <yura> "display.screenEnhancement.fontSize": "http://gpii.org/ontology/A4A-2.0/display/screenEnhancement/fontSize.0.value"
[12:02:20 CST(-0600)] <Bosmon> ok
[12:03:45 CST(-0600)] <Bosmon> It's important we remove the escaping, otherwise our partners will become extremely confused....
[12:03:56 CST(-0600)] <yura> but then it just does not make sense
[12:04:09 CST(-0600)] <yura> is fontSize.0.value part of the URI ?
[12:04:12 CST(-0600)] <yura> it is not
[12:04:27 CST(-0600)] <yura> but that's what this notation would mean
[12:04:46 CST(-0600)] <Bosmon> To be honest I'm not quite sure what this notation means anyway
[12:04:51 CST(-0600)] <Bosmon> But all the more reason to unescape it
[12:05:02 CST(-0600)] <yura> it means a concrete thing
[12:05:07 CST(-0600)] <yura> it's a transformation rule
[12:05:39 CST(-0600)]
<Bosmon> Perhaps it means something like "
.0.value" ?
[12:05:54 CST(-0600)] <Bosmon> If the remaining material is not part of the URL, it needs to be delimited somehow
[12:06:02 CST(-0600)] <yura> exactly
[12:06:06 CST(-0600)] <yura> i kind of like that
[12:06:10 CST(-0600)] <Bosmon> Ok then
[12:06:15 CST(-0600)] <Bosmon> I recommend it : P
[12:06:29 CST(-0600)] <yura> haha ok
[12:06:53 CST(-0600)] <Bosmon> But I don't see anything like this in the example you pasted
[12:06:57 CST(-0600)] <Bosmon> Is this something we support already?
[12:07:33 CST(-0600)] <yura> what exactly do you refer to ?
[12:07:44 CST(-0600)] <Bosmon> This: "display.screenEnhancement.fontSize": "http://gpii\\.org/ontology/A4A-2\\.0/display/screenEnhancement/fontSize.0.value"
[12:07:47 CST(-0600)] <Bosmon> Which you just pasted
[12:07:57 CST(-0600)] <Bosmon> What role do such expressions currently have in our architecture?
[12:07:59 CST(-0600)] <yura> yes it is the same unescaped notation we already have
[12:08:25 CST(-0600)] <yura> it's the data stored in ontology server's persistence layer
[12:08:30 CST(-0600)] <Bosmon> Is it!
[12:08:43 CST(-0600)] <yura> you reviewed my pull request
[12:08:51 CST(-0600)] <Bosmon> Very inexpertly, it seems
[12:08:51 CST(-0600)] <yura> well without the 0.value
[12:20:30 CST(-0600)] <yura> Bosmon: do you know if there's a utility in infusion to extract the thing that is expressed inside the "{}"?
[12:20:40 CST(-0600)] <Bosmon> yura - there is
[12:20:43 CST(-0600)] <yura>
[12:21:11 CST(-0600)] <Bosmon> use fluid.parseContextReference in FluidIoC.js
[12:21:21 CST(-0600)] <yura> yep found it
[15:11:50 CST(-0600)] <yura> Bosmon: are you there ?
[15:11:59 CST(-0600)] <Bosmon> yura
[15:12:16 CST(-0600)] <yura> Bosmon: are wild cards only working for el paths ?
[15:12:24 CST(-0600)] <yura> in model transformations ?
[15:12:50 CST(-0600)] <Bosmon> In some cases, yes
[15:12:59 CST(-0600)] <Bosmon> What things other than el paths might they work for?
[15:13:54 CST(-0600)] <yura> well what i mean is if i have a uri
[15:14:08 CST(-0600)] <yura> is there a way to just match part of the uri
[15:14:11 CST(-0600)] <yura> so here's an example
[15:14:18 CST(-0600)] <yura> i have this rule
[15:17:39 CST(-0600)] <yura> "applications.": "*gpii.org/applications/"
[15:17:45 CST(-0600)] <yura> what that be matched at all?
[15:17:45 CST(-0600)] <Bosmon> I see
[15:17:55 CST(-0600)] <Bosmon> Yes, we can't support things like that
[15:18:05 CST(-0600)] <Bosmon> wildcards only act on the LH paths
[15:18:27 CST(-0600)] <yura> right
[15:18:34 CST(-0600)] <Bosmon> And right now they are limited to treating LH and RH paths the same
[15:18:43 CST(-0600)] <Bosmon> It's not a very powerful feature right now
[15:18:59 CST(-0600)] <yura> hmm
[15:23:30 CST(-0600)] <yura> so does this mean i have to write a rule for every one right hand side thing ?
[15:24:21 CST(-0600)] <yura> Bosmon: ^
[15:24:44 CST(-0600)] <Bosmon> You should be able to just write an expander to do it
[15:26:09 CST(-0600)] <yura> right but how would i specify a wildcard inputPath ?
[15:26:52 CST(-0600)] <yura> Bosmon: ^
[15:28:04 CST(-0600)] <yura> or do i still have to write one for each possible application specific preference ?
[15:30:18 CST(-0600)] <Bosmon> You should be able to just write one
[15:31:00 CST(-0600)] <Bosmon> The expander can be targetted at all paths by using the existing wildcard system, but just reject those that don't match using its own code
[15:31:27 CST(-0600)] <yura> oh right
[15:31:30 CST(-0600)] <yura> that's a good idea
[15:31:32 CST(-0600)] <yura> thanks
[15:31:38 CST(-0600)] <Bosmon> np!
[16:12:28 CST(-0600)] <yura> so Bosmon if i have an input path as *
[16:12:40 CST(-0600)] <yura> it means i all other rules, will be ignored
[16:15:28 CST(-0600)] <Bosmon> does it?
[16:15:32 CST(-0600)] <yura> yes
[16:15:39 CST(-0600)] <Bosmon> That doesn't sound correct
[16:15:42 CST(-0600)] <yura> by the time i get to the queued things
[16:15:46 CST(-0600)] <yura> i have nothing in the target
[16:17:05 CST(-0600)] <Bosmon> Can you give an example?
[16:17:07 CST(-0600)] <yura> sure
[16:17:25 CST(-0600)] <yura> so this is the rule i use
[16:17:26 CST(-0600)] <yura> {
[16:17:26 CST(-0600)] <yura> "display.screenEnhancement.fontSize": "http://gpii\\.org/ontology/A4A-2\\.0/display/screenEnhancement/fontSize.0.value",
[16:17:26 CST(-0600)] <yura> "display.screenEnhancement.tracking": "http://gpii\\.org/ontology/A4A-2\\.0/display/screenEnhancement/tracking.0.value",
[16:17:26 CST(-0600)] <yura> "display.screenEnhancement.invertImages": "http://gpii\\.org/ontology/A4A-2\\.0/display/screenEnhancement/invertImages.0.value",
[16:17:26 CST(-0600)] <yura> "applications.*": {
[16:17:27 CST(-0600)] <yura> "expander": {
[16:17:27 CST(-0600)] <yura> "type": "gpii.ontologyServer.transform.application",
[16:17:27 CST(-0600)] <yura> "inputPath": "*"
[16:17:27 CST(-0600)] <yura> }
[16:17:29 CST(-0600)] <yura> }
[16:17:29 CST(-0600)] <yura> }
[16:18:09 CST(-0600)] <yura> so by the time i get to if (expander.queued.length > 0) { line
[16:18:17 CST(-0600)] <yura> in transform with rules
[16:18:26 CST(-0600)] <yura> my expander.target is empty
[16:18:48 CST(-0600)] <Bosmon> I don't think you can write applications.* as an output path like that
[16:19:00 CST(-0600)] <Bosmon> You may as well just treat this as a non-wildcard expander from the framework's point of view
[16:19:04 CST(-0600)] <yura> fine but it doesnt matter
[16:19:07 CST(-0600)] <Bosmon> It's ok for it to have a "custom effect"
[16:19:07 CST(-0600)] <yura> in this case
[16:20:02 CST(-0600)] <Bosmon> You can just fetch your own arguments manually using fluid.model.transform.getValue
[16:21:38 CST(-0600)] <yura> which arguments do you mean
[16:22:51 CST(-0600)] <Bosmon> the material in the input model that you are trying to transform
[16:23:39 CST(-0600)] <yura> ok let me try