I certainly agree that if we can start with WAP, we're that much further ahead, 
and I'm happily looking into the example you gave on the wiki page. I should 
have remembered that in order to become a W3C rec, there would have had to be 
impls.

I have no argument against AS paging (and LDP paging never made it past a 
Working Group note [1]-- it didn't become part of the rec proper). I was just 
trying to figure out what the boundaries are for our work. I found this in that 
note [2]:

> Clients generally have no insight into the allocation of information to 
> pages, although in some cases currently defined only for LDPCs the server can 
> expose its algorithm.

which pretty much seems to exclude ordering. Of course an extension could go 
beyond that, but I don't see any amazing advantage to LDP Paging that would 
make us go nuts for it and try to break out of protocol for it. For anyone who 
is _REALLY_ interested in this question, there's a thread [3] that goes into 
considerable detail about the reasoning behind LDP Paging. 

ajs6f

[1] https://www.w3.org/2012/ldp/hg/ldp-paging.html
[2] https://www.w3.org/2012/ldp/hg/ldp-paging.html#ldpr-PagingIntro
[3] https://lists.w3.org/Archives/Public/public-ldp-comments/2014Sep/0003.html

> On Jan 29, 2019, at 12:33 PM, Benjamin Young <byo...@bigbluehat.com> wrote:
> 
> Great start! I added some links there. 😊
> 
> Given that Web Annotation's have their own protocol (based on LDP), I'd 
> prefer we aim for that target.
> 
> The LDP style paging was considered by the Working Group, but we went with 
> ActivityStreams-style paging because ordering matters--see this note from the 
> spec:
> "Activity Streams Collection 
> [activitystreams-core<https://www.w3.org/TR/annotation-protocol/#bib-activitystreams-core>]
>  model is used for paging, as in-page ordering is an important requirement."
> -- see https://www.w3.org/TR/annotation-protocol/#h-summary
> 
> LDP's ordering, iirc, was "random" or at least didn't express explicit 
> ordering, but you know more about LDP than I do. 😊
> 
> Thoughts?
> 
> 
> --
> 
> http://bigbluehat.com/
> 
> http://linkedin.com/in/benjaminyoung
> 
> ________________________________
> From: ajs6f <aj...@apache.org>
> Sent: Tuesday, January 29, 2019 12:17 PM
> To: dev@annotator.incubator.apache.org
> Cc: Randall Leeds
> Subject: Re: LDP and persistence Was: introduction
> 
> Sure-- I've made a page at:
> 
> https://github.com/apache/incubator-annotator/wiki/LDP-and-Web-Annotation-Protocol-Implementations
> 
> although I don't know that there's really a wrong way for us to go about 
> this! :grin:
> 
> I'm afraid that I'm not aware of any other Web Annotation Protocol-specific 
> impls, but that says more about my ignorance than anything else.
> 
> On paging in particular, are we committed to building on the Activity Streams 
> model via
> 
> https://www.w3.org/TR/annotation-protocol/#annotation-pages
> 
> ?
> 
> ajs6f
> 
>> On Jan 23, 2019, at 1:51 PM, Benjamin Young <byo...@bigbluehat.com> wrote:
>> 
>> Agreed! Perhaps we could start by building a list on the wiki (and later the 
>> site) of LDP and Web Annotation Protocol (specific) implementations.
>> 
>> Once we have that, I'd reckon some browser-side client plumbing would be in 
>> order (i.e. annotation service discovery, code to get a collection of 
>> annotations based on the current documents URI, pagination across annotation 
>> collections, etc).
>> 
>> Sound about right?
>> 
>> 
>> --
>> 
>> http://bigbluehat.com/
>> 
>> http://linkedin.com/in/benjaminyoung
>> 
>> ________________________________
>> From: Randall Leeds <rand...@apache.org>
>> Sent: Wednesday, January 23, 2019 1:16 PM
>> To: dev@annotator.incubator.apache.org
>> Subject: Re: LDP and persistence Was: introduction
>> 
>> This makes good sense to me.
>> 
>> On Wed, Jan 23, 2019, 09:59 ajs6f <aj...@apache.org wrote:
>> 
>>> Hi, Benjamin--
>>> 
>>> No problem. I'm obviously not all that good about quick response myself! :0
>>> 
>>> It seems to me that these two things (the relationship to LDP and the
>>> question of backend persistence) could be connected: is it not possible to
>>> choose LDP for the data storage abstraction layer for Annotator? Of course,
>>> we would probably have to pick at least one LDP implementation to package
>>> with Annotator as a choice for those who "choose not to choose" for
>>> themselves or for people who are just interested in playing with web
>>> annotation and don't need to think about production deployment.
>>> 
>>> If we chose LDP for the abstraction layer, then we could also choose a
>>> default component that can use whatever we think are appropriate concrete
>>> forms for persistence. (Benjamin Goering mentioned using widely-available
>>> RDBMSes, for example, which is certainly a good and common pattern, and
>>> plenty of LDP impls can use them.)
>>> 
>>> One reason I suggest this: if we choose for a lower-level persistence
>>> abstraction (e.g. working directly against an SQL backend) and given that
>>> the Web Annotation protocol extends LDP, we will find ourselves rewriting
>>> code that LDP implementations have already written and which already is
>>> tested in use.
>>> 
>>> ajs6f
>>> 
>>>> On Jan 15, 2019, at 9:55 AM, Benjamin Young <byo...@bigbluehat.com>
>>> wrote:
>>>> 
>>>> Hey Adam!
>>>> 
>>>> First, huge apologies for letting this slip through the cracks caused by
>>> all the holiday-ing (at least for me ;) )!
>>>> 
>>>> Second, you're spot on about Web Annotation Protocol being essentially
>>> an extension of the Linked Data Platform (LDP) [1] spec. Also, Web
>>> Annotations, being based on JSON-LD, can be stored into any triple store.
>>> The server-side implementations tested by the W3C so far [2] have used the
>>> filesystem, a relational database, or a JSON-friendly NoSQL database
>>> (MongoDB, Apache CouchDB, PouchDB, etc).
>>>> 
>>>> Honestly, database selection is one of the things that has tripped me up
>>> in contributing a server implementation. I want it to be database/store
>>> agnostic, ideally, but that comes with it's own "tyranny of choice" among
>>> data storage abstraction layers. 😋
>>>> 
>>>> In the end, it's up to the group to decide what to build and what to
>>> build on and in what language...etc.
>>>> 
>>>> Most of the work has gone into the DOM connective tissue code, and I've
>>> brought over some of the Web Annotation Data Model validation code [3].
>>> There's still more to do on all fronts. 😊
>>>> 
>>>> Let me know if you have thoughts on the plans here. Your experience with
>>> Jena (both as a project and a tool) would be very helpful!
>>>> 
>>>> Cheers!
>>>> Benjamin
>>>> 
>>>> 
>>>> [1] https://www.w3.org/TR/ldp/
>>>> [2]
>>> https://github.com/w3c/test-results/tree/gh-pages/annotation-protocol#index-of-implementations-tested
>>>> [3]
>>> https://github.com/apache/incubator-annotator/blob/master/test/data-model.mjs
>>>> 
>>>> 
>>>> --
>>>> 
>>>> http://bigbluehat.com/
>>>> 
>>>> http://linkedin.com/in/benjaminyoung
>>>> 
>>>> ________________________________
>>>> From: ajs6f <aj...@apache.org>
>>>> Sent: Wednesday, January 2, 2019 4:14 PM
>>>> To: dev@annotator.incubator.apache.org
>>>> Subject: introduction
>>>> 
>>>> Hi, Annnotator folks!
>>>> 
>>>> My name is Adam Soroka and I'm a committer for Apache Jena. For a day
>>> job I work at the Smithsonian Institution and I've been interested in
>>> semantic technology for quite a while in the context of so-called cultural
>>> heritage. I watched the W3C Web Annotation WG with interest and I was happy
>>> to see extensions developed for the International Image Interoperability
>>> Framework [1].
>>>> 
>>>> I'm still a little uncertain about the scope of the Annotator project.
>>> It seems to include a node.js server component to store and manage
>>> annotations as well as browser-side tooling. I was under the impression
>>> (very likely wrong!) that annotations, as RDF graphs, could be stored in
>>> anything that can store RDF (triplestores, etc.) and that in particular,
>>> LDP implementations should be able to support the annotation protocol
>>> (almost?) directly. Is this wrong? Are there special requirements on
>>> annotation servers that make it appropriate to use a special-purpose part?
>>>> 
>>>> Thanks for any clarification/info/advice!
>>>> 
>>>> ajs6f
>>>> 
>>>> [1] https://iiif.io/api/annex/openannotation/index.html
>>> 
>>> 
> 

Reply via email to