This document serves as the manifest describing [[MICRODATA-RDF]] tests to be used by processor implementations claiming conformance.

Alternative versions of the test manifest can be found in Turtle and JSON-LD.

Running tests

Tests are described with individual HTML files containing microdata (identified by the object of the mf:action property), which when parsed into a graph or dataset, parses the expected result (identified by the object of the mf:result property) into another graph or dataset, and those two graphs/datasets are isomorphic (see [[RDF11-CONCEPTS]]). A Microdata Positive Evaluation Test (TestMicrodataEval) represents a A positive Microdata evaluation test.

A negative test is passed if an implementation parses the input (identified by the object of the mf:action property) into a graph or dataset, parses the expected result (identified by the object of the mf:result property) into another graph or dataset, and those two graphs/datasets are not isomorphic (see [[RDF11-CONCEPTS]]). A Microdata Negative Evaluation Test (TestMicrodataNegativeEval) represents a A negative Microdata evaluation test.

These test descriptions generally correspond to the descriptions of Evaluation Tests in [[RDF11-TESTCASES]]

All tests should be performed with an assumed base of http://w3c.github.io/microdata-rdf/tests/ along with the base-name of the specific test document (excluding any format extension) for both input and result files.

This document serves as the test manifest for both positive and negative parser tests using the Data Access Test Manifest and Data Access Test Query vocabularies.

Properly parsing this document with a conforming Microdata to RDF processor, as well as the individual test cases requires that the processor use the Test Registry. Additionally, individual tests may require that the processor use a different registry using the an additional registry property, indicating the URL of a Test Registry to load when executing a particular Test. typically a file co-located and numbered along with the test itself.

Example Test Entry

An example test entry parsed from this manifest might have the following form:

@prefix rdf:    <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs:	  <http://www.w3.org/2000/01/rdf-schema#> .
@prefix rdft:   <http://www.w3.org/ns/rdftest#> .
@prefix mf:     <http://www.w3.org/2001/sw/DataAccess/tests/test-manifest#> .
@prefix qt:     <http://www.w3.org/2001/sw/DataAccess/tests/test-query#> .

[ rdf:type mf:Manifest ;
  rdfs:comment "Turtle good syntax test cases (must pass)" ;
  mf:entries (
    [ a mf:ManifestEntry, rdft:TestMicrodataEval;
      mf:name "Test 0001";
      rdfs:comment  "Item with no itemtype and literal itemprop";
      mf:action <0001.html>;
      rdft:registry <test-registry.json>;
      mf:result <0001.ttl>
    ]
  )
] .
    

Processor tests

Test 0001: Item with itemtype and literal itemprop ( input | result )
Test 0002: Item with no itemtype and 2 elements with equivalent itemprop ( input | result )
Test 0003: Item with itemprop having two properties ( input | result )
Test 0004: Use of meta and @content ( input | result )
Test 0005: Use of audio and @src ( input | result )
Test 0006: Use of embed and @src ( input | result )
Test 0007: Use of iframe and @src ( input | result )
Test 0008: Use of img and @src ( input | result )
Test 0009: Use of source and @src ( input | result )
Test 0010: Use of track and @src ( input | result )
Test 0011: Use of video and @src ( input | result )
Test 0012: Use of a and @href ( input | result )
Test 0013: Use of area and @href ( input | result )
Test 0014: Use of link and @href ( input | result )
Test 0015: Use of object and @data ( input | result )
Test 0016: Web Schemas TF: Schema.org tests: test 1 (format md) ( input | result | registry )
Test 0017: Web Schemas TF: Schema.org tests: test 2 (format md) ( input | result | registry )
Test 0018: Web Schemas TF: Schema.org tests: test 3 (format md) ( input | result | registry )
Test 0019: Web Schemas TF: Schema.org tests: test 4 (format md) ( input | result | registry )
Test 0020: Web Schemas TF: Schema.org tests: test 5 (format md) ( input | result | registry )
Test 0021: Web Schemas TF: Schema.org tests: test 6 (format md) ( input | result | registry )
Test 0022: Web Schemas TF: Schema.org tests: test 7 (format md) ( input | result | registry )
Test 0023: Web Schemas TF: Schema.org tests: test 8 (format md) ( input | result | registry )
Test 0024: Web Schemas TF: Schema.org tests: test 9 (format md) ( input | result | registry )
Test 0025: Web Schemas TF: Schema.org tests: test 10 (format md) ( input | result | registry )
Test 0026: Web Schemas TF: Schema.org tests: test 11 (format md) ( input | result | registry )
Test 0027: Web Schemas TF: Schema.org tests: test 12 (format md) ( input | result | registry )
Test 0028: Web Schemas TF: Schema.org tests: test 13 (format md) ( input | result | registry )
Test 0029: Web Schemas TF: Schema.org tests: test 14 (format md) ( input | result | registry )
Test 0030: Web Schemas TF: Schema.org tests: test 15 (format md) ( input | result | registry )
Test 0031: Web Schemas TF: Schema.org tests: test 16 (format md) ( input | result | registry )
Test 0032: Web Schemas TF: Schema.org tests: test 17 (format md) ( input | result | registry )
Test 0033: Web Schemas TF: Schema.org tests: test 18 (format md) ( input | result | registry )
Test 0034: Web Schemas TF: Schema.org tests: test 19 (format md) ( input | result | registry )
Test 0035: Web Schemas TF: Schema.org tests: test 20 (format md) ( input | result | registry )
Test 0036: Web Schemas TF: Schema.org tests: test 21 (format md) ( input | result | registry )
Test 0037: Web Schemas TF: Schema.org tests: test 22 (format md) ( input | result | registry )
Test 0038: Web Schemas TF: Schema.org tests: test 23 (format md) ( input | result | registry )
Test 0039: Web Schemas TF: Schema.org tests: test 24 (format md) ( input | result | registry )
Test 0040: Web Schemas TF: Schema.org tests: test 25 (format md) ( input | result | registry )
Test 0041: Web Schemas TF: Schema.org tests: test 26 (format md) ( input | result | registry )
Test 0042: Web Schemas TF: Schema.org tests: test 27 (format md) ( input | result | registry )
Test 0043: Web Schemas TF: Schema.org tests: test 28 (format md) ( input | result | registry )
Test 0044: Web Schemas TF: Schema.org tests: test 29 (format md) ( input | result | registry )
Test 0045: Web Schemas TF: Schema.org tests: test 30 (format md) ( input | result | registry )
Test 0046: Use of time with @datetime xsd:time ( input | result )
Test 0047: Use of time with @datetime xsd:dateTime ( input | result )
Test 0048: Use of time with @datetime xsd:duration ( input | result )
Test 0049: Use of time with @datetime invalid ( input | result )
Test 0050: relative URL as object ( input | result )
Test 0051: relative URL as itemid ( input | result )
Test 0052: token property no @itemtype ( input | result )
Test 0053: token property empty @itemtype ( input | result )
Test 0054: token property and relative @itemtype ( input | result )
Test 0055: token property and single @itemtype ( input | result )
Test 0056: token property and multiple @itemtypes from different vocabularies ( input | result )
Test 0057: URI property no @itemtype ( input | result )
Test 0058: URI property empty @itemtype ( input | result )
Test 0059: URI property relative @itemtype ( input | result )
Test 0060: URI property single @itemtype ( input | result )
Test 0061: inherited type and token property ( input | result )
Test 0062: @itemref to single id ( input | result )
Test 0063: @itemref generates property values ( input | result )
Test 0064: @itemref to single id with different types ( input | result )
Test 0065: @itemref to multiple ids ( input | result )
Test 0066: @itemref with chaining ( input | result )
Test 0067: Shared @itemref ( input | result )
Test 0068: Property URI generation (default) 1 ( input | result )
Test 0069: Property URI generation (default) 2 ( input | result )
Test 0070: Property URI generation (default) 3 ( input | result )
Test 0071: Vocabulary Expansion test with schema:additionalType ( input | result | registry )
Test 0073: Vocabulary Expansion test with rdfs:subPropertyOf ( input | result )
Test 0074: Vocabulary Expansion test with owl:equivalentProperty ( input | result )
Test 0075: Use of data and xsd:float ( input | result )
Test 0076: Use of data and xsd:integer ( input | result )
Test 0077: Use of data and string ( input | result )
Test 0078: Use of meter and xsd:double ( input | result )
Test 0079: Use of meter and xsd:integer ( input | result )
Test 0080: Use of meter and xsd:string ( input | result )
Test 0081: Simple @itemprop-reverse (experimental) ( input | result )
Test 0082: @itemprop-reverse with @itemscope value (experimental) ( input | result )
Test 0083: @itemprop-reverse with literal value (experimental) ( input | result )
Test 0084: @itemprop-reverse with @itemprop (experimental) ( input | result )
Test 0085: detects recursion on @itemref ( input )