sul-dlss-deprecated / triannon

Rails engine for working with storage of OpenAnnotations stored in Fedora4
Other
13 stars 1 forks source link

implement triannon:externalReference #59

Closed ndushay closed 10 years ago

ndushay commented 10 years ago

apparently this needs to be reworked a bit due to clarifying emails below. Basically, what should happen is the graph should be checked for URIs that have properties and the graph should be transformed as necessary before writing to Fedora. I think.

ndushay commented 10 years ago

Begin forwarded message:

From: Rob Sanderson azaroth@stanford.edu Subject: Re: external urls in targets Date: October 27, 2014 8:11:46 AM PDT To: Naomi Dushay NDUSHAY@STANFORD.EDU Cc: Willy Mene wmene@stanford.edu

Hi Naomi,

URLs only need to be turned into triannon:externalReference when there's more information about them. So the https://stacks.... URL does have to be, as it has the @type associated with it.

But the conformsTo, and hasSource in the second block don't, as they're just stand alone URLs.

Good question, hope that helps :)

Rob

On 10/24/14, 1:38 PM, Naomi Dushay wrote: Rob,

When we have this:

    "hasTarget": {
      "@type": "oa:SpecificResource",
      "hasSource": {
        "@id": "https://stacks.stanford.edu/image/kq131cs7229/kq131cs7229_05_0032_large.jpg",
        "@type": "dctypes:Image"
      },
      "hasSelector": {
        "@type": "oa:FragmentSelector",
        "value": "xywh=0,0,200,200",
        "conformsTo": "http://www.w3.org/TR/media-frags/"
      }
    }

does the URL in conformsTo need to be a triannon:externalReference in Fedora?

I'm assuming

    "hasTarget": {
      "@type": "oa:SpecificResource",
      "hasSource": "http://purl.stanford.edu/kq131cs7229.html",
      "hasSelector": {
        "@type": "oa:TextPositionSelector",
        "start": 0,
        "end": 66
      }
    }

The URL for hasSource must be a triannon:externalReference in both of the above examples.

ndushay commented 10 years ago

From: Rob Sanderson azaroth@stanford.edu Subject: Re: external urls in targets Date: October 27, 2014 8:13:47 AM PDT To: Naomi Dushay ndushay@stanford.edu Cc: Willy Mene wmene@stanford.edu

Hi Naomi, Willy,

On 10/24/14, 1:51 PM, Naomi Dushay wrote: additional question: is there a small set of OA properties that will potentially have objects that are URLs that need to become externalResources?

I know of: hasBody hasTarget hasSource Definitely all of these, when there's additional information associated with them.

any others? conformsTo?? ConformsTo will never have additional information.

hasScope??

I'm not sure how often this is used, but it has the potential for extra information being associated with it. I would check, to be safe.

Rob

ndushay commented 10 years ago

On 10/27/14, 9:38 AM, Naomi Dushay wrote: Hi Rob,

Wow - really? So

hasTarget "http://purl.stanford.edu/ab123cd4567"

doesn't need to be turned into triannon:externalReference unless it's

hasTarget: {
  @id: "http://purl.stanford.edu/ab123cd4567"
   (something else)
}

??

and ditto for hasBody?

From: Rob Sanderson azaroth@stanford.edu Subject: Re: external urls in targets Date: October 27, 2014 9:40:33 AM PDT To: Naomi Dushay NDUSHAY@STANFORD.EDU Cc: Willy Mene wmene@stanford.edu

Yup.

R

ndushay commented 10 years ago

We decided to leave the current implementation alone -- we create an external ref any time we encounter URIs as objects for hasBody, hasTarget or hasSource, even if there are no additional properties.

We do NOT create external refs for conformsTo

ndushay commented 10 years ago

Finished with pull request #85