Git Product home page Git Product logo

web-annotation-tests's People

Contributors

bigbluehat avatar halindrome avatar iherman avatar janinaj avatar jjett avatar plehegar avatar tcole3 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

web-annotation-tests's Issues

annotation.id is a MUST

But common/id.json only has a warning if the test fails.

If the thinking is to use common/id.json to test for ids on any resource, then the bug is actually in the title, description and errorMessage fields.

That said ... it is valid to send an annotation without an ID in a POST via the protocol to create a new annotation. Then there isn't any existing URI for it, as the server must assign one anyway. Worth flagging such cases in the test json?

Manifest structure must extend general RDF test manifest structure

Looking at the existing test manifests (e.g., https://github.com/w3c/web-annotation-tests/blob/c9d3b8b084c509ef9fa7e8ed66e8f9a931348908/framework/annotations/model.test), the form is somewhat ad-hoc. In w3c/web-annotation#290 (comment) I was asked to help create the reports, which as mentioned there, uses the earl-report gem. This expects to find one or more test manifests, which are generally like those described for the RDF tests, for example, the Turtle test manifest. That is, there is an entry of type mf:Manifest, with an entries property referencing a list of entries; the built-in SPARQL query used to access the manifest is the following:

PREFIX mf: <http://www.w3.org/2001/sw/DataAccess/tests/test-manifest#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>

SELECT ?uri ?testAction ?manUri
WHERE {
  ?uri mf:action ?testAction .
  OPTIONAL {
    ?manUri a mf:Manifest; mf:entries ?lh .
    ?lh rdf:first ?uri .
  }
}

But, this can query be overridden if there is some reason to use a different structure. But, to get name and description information for each test, each test entry is expected to have rdfs:label and rdfs:comment entries, in addition to the action. Note, that the names in a JSON-LD version of the manifest can be arbitrary, as long as the context maps them to rdfs:label and rdfs:comment. The mf:action is used to retrieve the test source, and mf:result used to get the expected results, but these aren't strictly necessary, and the query could access some other entry from each test to enumerate all tests.

The earl-report software reads in the manifest and turns it into framed JSON-LD, which is then available to the template.haml which iterates over that to create output for each test. The template will read each mf:action and mf:result file to include in the output, but this isn't necessary. However, it would probably be good to include some information for each test in addition to label and comment, for example we could show each assertion.

The main thing I'm calling for here is to get the test manifests in some normalized form consistent with our reporting needs include a manifest entry with an ordered list for each test including a label and comment using some properties such that this can be transformed to RDF and queried.

Write access?

ERROR: Permission to w3c/web-annotation-tests.git denied to BigBlueHat.
fatal: Could not read from remote repository.

In the meantime, I'll send a PR. ๐Ÿ˜‰

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.