--
You received this message because you are subscribed to the Google Groups "Fedora Tech" group.
To unsubscribe from this group and stop receiving emails from it, send an email to fedora-tech...@googlegroups.com.
To post to this group, send email to fedor...@googlegroups.com.
Visit this group at http://groups.google.com/group/fedora-tech.
For more options, visit https://groups.google.com/d/optout.
I don’t think anyone (or at least, I know of no one) who desires to reduce the ability of outside-the-repo agents to link in to hash-URIs. 1801, far from reducing that ability, would improve it.
The concern that 1801 addresses is the one to which Aaron Coburn has pointed in another email.
The use cases are related to using hash URI fragments, and having them be deleted when they no longer have properties (see FCREPO-1764). The concern is that there are obvious integrity issues with automatically deleting things from the repository, and implementation burden concerns about requiring full referential integrity functionality.
The concern is that if the repository automatically deletes an internal resource that persists a hash-URI when there are no more properties on that hash-URI, it may be leaving behind links from elsewhere in the repository into that hash-URI resource. But if it doesn’t do that kind of “garbage collection”, there is a monotonic buildup of invisible hash-URI cruft in the repository forever.
We’re not talking about the same implementation. It is certainly possible to do this in the reference implementation. The concern is that it may not be a reasonable burden to put on _other_ implementations.
No, Rob, after 1801:
A hash-URI resource in the repository could link to whatever non-hash-URI it wants, and any hash-URI _outside_ the repo.
A non-hash-URI resource in the repository could link to whatever non-hash-URI it wants, any hash-URI _outside_ the repo, and any hash-URI that is a hash on itself.
I did not understand Simeon Warner’s example to be discussing inside-the-repo and outside-the-repo URIs, but perhaps he can explain more fully?
No, Rob, after 1801:
A hash-URI resource in the repository could link to whatever non-hash-URI it wants, and any hash-URI _outside_ the repo.
A non-hash-URI resource in the repository could link to whatever non-hash-URI it wants, any hash-URI _outside_ the repo, and any hash-URI that is a hash on itself.
In any event, the fact that a new rule here might take some grasping isn’t really much of an objection, in my opinion, when compared with this:
https://jira.duraspace.org/browse/FCREPO-1764
(especially see the first comment there) and 1764 is a good example of the kind of confusing nonsense the current situation has created. It’s perhaps important to say that this discussion didn’t arise because the Fedora developers enjoy imposing arbitrary restrictions on users of Fedora. (I’m not saying that I don’t, just that this isn’t an example.) It arose because the current design isn’t working. We have conflated a semantic of containment that came from JCR with the “fragment” semantic that # already possessed on the Web and the result is unworkable and increasingly unintelligible. I’m sure that there are other possibilities than 1801, and I would be happy to hear some.
A question for y'all to discuss while I'm in the air...
Can local/res1, an RDF Source, refer to local/res2#a, a NonRDFSource?
According to the current description, no.
According to sanity, yes.
You have 12 hours... go!
Rob
Sent from S6 Edge, please excuse any typos or brevity
+1 to what Aaron is saying here.
I think there are probably at least a few graybeards on this list who are nodding right now and thinking, “Yes, this is why earlier versions of Fedora were equipped with a disseminator architecture, to avoid too-close coupling between Fedora and other systems.” There were plenty of difficulties with the implementation of that architecture, but the idea was and remains sound. I’m hopeful that API-X will bring the idea forward with a really excellent implementation.
---
A. Soroka
The University of Virginia Library
> On Oct 30, 2015, at 10:13 AM, Aaron Birkland <ap...@cornell.edu> wrote:
>
> Hi Justin,
>
> Actually, API-X offers a very important alternative to placing features in the Fedora core, in a way that *lessens* the dependence of an application on knowledge of a Fedora repository, and how to interact with it. Consider a "linked data" extension that allowed the POST, PUT, PATCH to Fedora resources to contain forbidden constructs such as blank nodes or links to hash URIs. The effect of such an extension would make Fedora appear to the outside world (and to the components of your infrastructure that use its LDP API) to be a more 'normal' LDP implementation like any of the others on the w3c list, free of Fedora's unique constraints on RDF.
>
> Thought of another way, API-X can be used to reduce the business risk of breaking changes in Fedora's APIs. If your application depends on a particular behaviour of hash URIs, and Fedora introduces a backwards-incompatible change like 1801, it would be possible to change the apparent behaviour of Fedora resources with an extension, rather than changing your infrastructure to adapt to Fedora.
>
> -Aaron
>
>
> On Fri, Oct 30, 2015 at 9:51 AM, Justin Coyne <jus...@curationexperts.com> wrote:
> Aaron,
>
> While an API-X option may be a workable alternative for FCR4, it's not preferred as we would like PCDM to work on multiple LDP implementations. Using an API-X solution would tie us to Fedora.
>
> -Justin
>
>
> On Fri, Oct 30, 2015 at 8:47 AM, Esmé Cowles <esco...@ticklefish.org> wrote:
> Adam-
>
> The alternative is the current behavior: allow resources to link to hash URI fragments in other resources, and use the existing JCR referential integrity functionality to avoid accumulating unused nodes.
>
> I agree with Justin that it would be significant inconvenience to remove features like this, and would punish early adopters. So far, I haven't heard a clear consensus in favor of fcrepo-1801, and the main use case is making second and further implementations of the Fedora API less burdensome. I have a hard time seeing how we can go forward with a breaking change like this unless there is a real use case the requires it.
>
> -Esme
>
> > On Oct 30, 2015, at 9:41 AM, A. Soroka <aj...@virginia.edu> wrote:
> >
> > The back-compatitiblity issue is a real one, and I don’t pretend that I have any simple amelioration for it. But I would like to know how extensive it actually is before assuming that it’s a major blocker or requires a special migration tool.
> >
> > I am myself disappointed that no one from the PCDM community (which seems, at a glance, to be the only segment of the Fedora community that is speaking up against this idea) has offered any alternative proposal. I wouldn’t mind taking more time over this if there’s a chance of a good alternative that we can consider, but there are outstanding major bugs (1764 is a good example) that are waiting on some resolution to this design problem.
> >
> > ---
> > A. Soroka
> > The University of Virginia Library
> >
> >> On Oct 30, 2015, at 9:34 AM, Justin Coyne <jus...@curationexperts.com> wrote:
> >>
> >> The major problem I have is that the change you mention would be a backwards incompatible one. We can and are using Hash based URIs now in Fedora. We've invested significant time into working on this approach. It's going to cost us significantly to have to take another approach. People who have deployed this solution are going to have to migrate their data to a different structure. That will be costly too.
> >>
> >> I'm profoundly disappointed.
> >>
> >> -J
> >>
> >> On Fri, Oct 30, 2015 at 8:29 AM, A. Soroka <aj...@virginia.edu> wrote:
> >> Thanks, Esmé and Justin, this detail helps.
> >>
> >> So my understanding now is: PCDM made several specific implementation decisions that eventually led to using hash-URIs to “imitate” atomic transactions. If that hash-URI facility went away, PCDM would have to remake those decisions, perhaps finding a different way to implement ordering or atomic transactions. I see that it would mean real work for people committed to PCDM, but I don’t see that it would be a terrible expense for solving the problems that are now present in the Fedora reference implementation for _all_ users of Fedora, and I haven’t yet heard any other suggestions for solving those problems…
> >>
> >> ---
> >> A. Soroka
> >> The University of Virginia Library
> >>
> >>> On Oct 30, 2015, at 8:48 AM, Esmé Cowles <esco...@ticklefish.org> wrote:
> >>>
> >>> Adam-
> >>>
> >>> PCDM requires ORE notions (specifically ore:Proxy for ordering), and the PCDM group decided to implement ordering of the proxies with a doubly-linked list, using iana:first/last/prev/next predicates to link to the head/tail of the list and between items in the list. Doing that efficiently requires atomic transactions against the linked list, hence the move to using hash URIs on a resource to store the linked list, instead of having each proxy be a container.
> >>>
> >>> -Esme
> >>>
> >>>> On Oct 30, 2015, at 8:20 AM, A. Soroka <aj...@virginia.edu> wrote:
> >>>>
> >>>> I’m sorry, Justin, but that doesn’t really help me. Are you saying that PCDM requires ORE notions, and ORE requires atomic transactions against linked lists?
> >>>>
> >>>> ---
> >>>> A. Soroka
> >>>> The University of Virginia Library
> >>>>
> >>>>> On Oct 30, 2015, at 8:17 AM, Justin Coyne <jus...@curationexperts.com> wrote:
> >>>>>
> >>>>> We're using hash based URIs because ORE requires a single writer (manipulating a linked list). Putting all the nodes of the list in a single resource is a simple way of doing that. Otherwise we need to have a more complex locking/transaction strategy that is not commonly available in various LDP implementations.
> >>>>>
> >>>>> -Jusint
> >>>>>
> >>>>> On Fri, Oct 30, 2015 at 7:14 AM, A. Soroka <aj...@virginia.edu> wrote:
> >>>>> On a second reading, something peculiar jumps out at me in your remark, Tom: how is it that PCDM (a data model that is supposed to be agnostic to the implementing software and usable for modeling any repository content at all) actually collapses in the absence of one very specific type of identifier syntax? Shouldn’t identifiers be opaque in PCDM? That seems extraordinarily fragile, and then PCDM seems like a problematic use case for judging this question of hash-URIs in Fedora.
> >>>>>
> >>>>> ---
> >>>>> A. Soroka
> >>>>> The University of Virginia Library
> >>>>>
> >>>>>> On Oct 29, 2015, at 10:11 PM, Tom Johnson <johns...@gmail.com> wrote:
> >>>>>>
> >>>>>> Chipping in for the -1's on #1801.
> >>>>>>
> >>>>>> As Justin pointed out, this restriction would make Fedora virtually unusable for PCDM adopters, and similarly for any number of otherwise reasonable data models.
> >>>>>>
> >>>>>> - Tom
> >>>>>>
> >>>>>>
> >>>>>> On Thu, Oct 29, 2015 at 6:20 PM, A. Soroka <aj...@virginia.edu> wrote:
> >>>>>> Simeon has clarified that point and that discussion can go on in that part of this thread— I’ll extract the other points here:
> >>>>>>
> >>>>>>> For further reductio ad absurdum... you could run two Fedora4 instances, and f4a.org/rest/a#1 could reference f4b.org/rest/a#2 and vice versa... but not internally?
> >>>>>>
> >>>>>> Certainly. It is indeed absurd to imagine that two independent and unconnected servers in different parts of the Web could somehow without cost manage to align their resources and manage links interdependently— just because they are both implemented with the same brand of software. That is as much as to be surprised that two different websites could accidentally host copies of the same file, when, after all, aren’t they both running Apache httpd? {grin}
> >>>>>>
> >>>>>>> This is just not the right solution for the problem.
> >>>>>>
> >>>>>> I (and I’m sure other Fedora developers) would be happy to hear about other solutions that work within the limits of the reference implementation. As I wrote earlier in this thread, I won’t claim that 1801 is a _necessary_ change, but I do claim that the current state of affairs is intolerable, and that change is necessary. Perhaps you have another design in mind?
> >>>>>>
> >>>>>> ---
> >>>>>> A. Soroka
> >>>>>> The University of Virginia Library
> >>>>>>
> >>>>>>> --
> >>>>>>> You received this message because you are subscribed to the Google Groups "Fedora Tech" group.
> >>>>>>> To unsubscribe from this group and stop receiving emails from it, send an email to fedora-tech...@googlegroups.com.
> >>>>>>> To post to this group, send email to fedor...@googlegroups.com.
> >>>>>>> Visit this group at http://groups.google.com/group/fedora-tech.
> >>>>>>> For more options, visit https://groups.google.com/d/optout.
> >>>>>>
> >>>>>> --
> >>>>>> You received this message because you are subscribed to the Google Groups "Fedora Tech" group.
> >>>>>> To unsubscribe from this group and stop receiving emails from it, send an email to fedora-tech...@googlegroups.com.
> >>>>>> To post to this group, send email to fedor...@googlegroups.com.
> >>>>>> Visit this group at http://groups.google.com/group/fedora-tech.
> >>>>>> For more options, visit https://groups.google.com/d/optout.
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>> --
> >>>>>> -Tom Johnson