One reason why I did not consider "proxy" below the aggregated resource is that it means repeated duplication of the proxyIn key, which people might even forget to put in. I felt that proxies identify as much the link to the resource as to the resource map, but if anyone "owns" the proxy then it is the map as it can only be proxyFor a single map.
In the ORE jsonld spec I wanted to emphasize the map as the root container and make it clearer what are statement s about this aggregation and what are for others. Would for instance "proxy" also be usable to list proxies from other aggregations? This could become confusing.
I can however see reasons for keeping them under the aggregated resource, e.g. you can easily check that you remembered to add it or did not have any dangling proxies after modifications.
What is behind your requirement of nesting the proxies?
I think you are touching on something important. Each aggregated resource have at least one proxy by definition.
Your indexing problem is the same if you are looking up a proxy in the other direction, e.g. you have an annotation about a proxy and you need to resolve to the resource.
However I think I buy your big-O argument, you would be more likely to look up the proxy for each aggregated resource rather than all the resource for each proxy. Getting a list of all the proxies is however trickier, but I agree it should be better optimized for lookup, particularly as the client of JSONLD structure could be lightweight JS code.
Another argument in favour is that generating the resource map then can be done as a single take without temporary data structures.
A potential disadvantage would be that you are forced to use the full object form within "aggregates" just to include proxies, and so the JSONLD structure could look intimidating (e.g. Semantic Web-like) even for simple cases; in my existing structure "proxies" are a separate branch you don't need to worry about unless you want to.
I must admit that in our spec https://w3id.org/bundle/ (which predates ORE JSONLD) we use the nested "proxy" form, but with "proxyIn" implied through OWL inferences. (Hence our "proxy" maps to an inverse sub property of ore:proxyFor)
One question, if we were to include "proxy", the we will deprecate "proxies", right? It would be confusing to keep both as available options.
Would either of you have time to propose a patch to the HTML and JSONLD context? I believe I have it under https://github.com/stain/ somewhere (search for ORE)
--
You received this message because you are subscribed to the Google Groups "OAI-ORE" group.
To unsubscribe from this group and stop receiving emails from it, send an email to oai-ore+u...@googlegroups.com.
To post to this group, send email to oai...@googlegroups.com.
Visit this group at http://groups.google.com/group/oai-ore.
For more options, visit https://groups.google.com/d/optout.
I think you are touching on something important. Each aggregated resource have at least one proxy by definition. Your indexing problem is the same if you are looking up a proxy in the other direction, e.g. you have an annotation about a proxy and you need to resolve to the resource.
However I think I buy your big-O argument, you would be more likely to look up the proxy for each aggregated resource rather than all the resource for each proxy. Getting a list of all the proxies is however trickier, but I agree it should be better optimized for lookup, particularly as the client of JSONLD structure could be lightweight JS code.
Another argument in favour is that generating the resource map then can be done as a single take without temporary data structures.
A potential disadvantage would be that you are forced to use the full object form within "aggregates" just to include proxies, and so the JSONLD structure could look intimidating (e.g. Semantic Web-like) even for simple cases; in my existing structure "proxies" are a separate branch you don't need to worry about unless you want to.
I must admit that in our spec https://w3id.org/bundle/ (which predates ORE JSONLD) we use the nested "proxy" form, but with "proxyIn" implied through OWL inferences. (Hence our "proxy" maps to an inverse sub property of ore:proxyFor)
One question, if we were to include "proxy", the we will deprecate "proxies", right? It would be confusing to keep both as available options.
Would either of you have time to propose a patch to the HTML and JSONLD context? I believe I have it under https://github.com/stain/ somewhere (search for ORE)