jhu-digital-manuscripts / AnIOp

to track the activities of the Mellon funded Annotation Interoperability project
0 stars 0 forks source link

Document WebAnnotation samples that represent GraphQL queries to ATLAS #21

Closed cyork closed 4 years ago

cyork commented 5 years ago

Eldarion will serve up web annotation for GraphQL (First version 9/23)

jacobwegner commented 5 years ago

Produce a document that describes a few options for representing GraphQL as a web annotations

jacobwegner commented 5 years ago

A web annotation with a link to a query:

https://delarose-atlas.herokuapp.com/wa/urn:cts:medievalmss:rose.SeldenSupra57:001r/dataset/

A web annotation containing the results of an ALTAS query:

https://delarose-atlas.herokuapp.com/wa/urn:cts:medievalmss:rose.SeldenSupra57:001r/textual-body/

jacobwegner commented 5 years ago

(GraphiQL link for further discussion of the "shape" of the GraphQL query:

https://delarose-atlas.herokuapp.com/graphql/#query=%7B%0A%20%20pages(version_Urn%3A%20%22urn%3Acts%3Amedievalmss%3Arose.SeldenSupra57%22%2C%20identifier%3A%20%22001r%22)%20%7B%0A%20%20%20%20edges%20%7B%0A%20%20%20%20%20%20node%20%7B%0A%20%20%20%20%20%20%20%20version%20%7B%0A%20%20%20%20%20%20%20%20%20%20urn%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20identifier%0A%20%20%20%20%20%20%20%20idx%0A%20%20%20%20%20%20%20%20columns%20%7B%0A%20%20%20%20%20%20%20%20%20%20edges%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20node%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20idx%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20identifier%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20lineGroups%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20edges%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20node%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20position%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20kind%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20lines%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20edges%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20node%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20position%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20textContent%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20htmlContent%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20xmlContent%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20milestoneNumber%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%7D%0A%7D%0A)

jacobwegner commented 5 years ago

I'll sync up again with @markpatton and @GroovinChip once they have a chance to look at these WA and GraphQL in general.

The top level endpoint is:

https://delarose-atlas.herokuapp.com/graphql/

and you can access the schema explorer by clicking into the page portion of GraphiQL:

image

jacobwegner commented 5 years ago

@markpatton and @GroovinChip:

Thanks for your feedback on the call. I've just deployed a new version of our web annotations endpoints:

https://delarose-atlas.herokuapp.com/wa/urn:cts:medievalmss:rose.SeldenSupra57:001v/graphql-query/

curl https://delarose-atlas.herokuapp.com/wa/urn:cts:medievalmss:rose.SeldenSupra57:001v/graphql-query/ | jq -r .body.value

returns

{
  pages(version_Urn: "urn:cts:medievalmss:rose.SeldenSupra57", identifier: "001v") {
    edges {
      node {
        version {
          urn
        }
        identifier
        idx
        columns {
          edges {
            node {
              idx
              identifier
              lineGroups {
                edges {
                  node {
                    position
                    kind
                    lines {
                      edges {
                        node {
                          position
                          textContent
                          htmlContent
                          xmlContent
                          milestoneNumber
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}

The two prior endpoints are still there:

jacobwegner commented 5 years ago

I plan to AnnotationCollection functionality for paging through the annotations, and will also add the new annotations we had discussed (given a URN, return a simplified HTML structure)

jacobwegner commented 5 years ago

@markpatton and @GroovinChip: I've finished off annotation collections for each of the formats below:

https://delarose-atlas.herokuapp.com/wa/urn:cts:medievalmss:rose.SeldenSupra57/graphql-query/annotation-collection/ https://delarose-atlas.herokuapp.com/wa/urn:cts:medievalmss:rose.SeldenSupra57/textual-body/annotation-collection/ https://delarose-atlas.herokuapp.com/wa/urn:cts:medievalmss:rose.SeldenSupra57/dataset/annotation-collection/

jacobwegner commented 5 years ago

I've created https://github.com/jhu-digital-manuscripts/AnIOp/issues/31 to track the simplified HTML structure; since ATLAS is now returning web annotations, I'm going to consider this issue closed.