Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Contribute the Extractor Tool to the Brown Dog Service

JSON-LD Metadata Requirements

The DTS returns extracted metadata in the form of JSON-LD, with a graph representing the output of each extractor tool. JSON-LD scopes all data to namespaces, which help keep the various tools from using the same keys for results. For example, here is a response that includes just one extractor graph in JSON-LD:

Code Block
languagejs
[
  {
    "@context": {
      "bd": "http://browndog.ncsa.illinois.edu/metadata/#",
      "@vocab" : "http://browndog.ncsa.illinois.edu/extractors/ncsa.cv.caltech101"
    },
    "bd:created_at": "Mon Mar 07 09:30:14 CST 2016",
    "bd:agent": {
      "@type": "cat:extractor",
      "bd:name": "ncsa.cv.caltech101",
      "bd:extractor_id": "http://browndog.ncsa.illinois.edu/extractors/ncsa.cv.caltech101"
    },
    "bd:content": {
      "basic_caltech101_score": [
        "-0.813741"
      ],
      "basic_caltech101_category": [
        "BACKGROUND_Google"
      ]
    }
  }
]

 

If your metadata is a simple key/value map, without more depth or ordered elements, such as arrays, then submitting a plain JSON dictionary will be fine. Your metadata will be processed into JSON-LD on the server-side and tagged with your extractor as the software agent. All values returned by your extractor will fall in a namespace particular to your extractor

Other Extractor Guidelines

  • Handling failure gracefully
  • How to use Key/Value pairs
  • Different kinds of output data
  • JSON-LD
  • ??