RDFa 1.1 Processor Conformance

EARL results from the RDFa 1.1 Test Suite

Unofficial Draft 23 April 2012

Editor:
Gregg Kellogg, Kellogg Associates
Authors:
Gregg Kellogg, Kellogg Associates
Iván Herman, W3C
Manu Sporny, Digital Bazaar

Abstract

This document reports processor conformance for [RDFA-CORE] and related specifications according to the requirements of the Evaluation and Report Language (EARL) 1.0 Schema [EARL10-SCHEMA].

This document describes RDFa Test Suite running at http://rdfa.info/ .

This report is also available in alternate formats: Turtle and JSON-LD

Status of This Document

This document is merely a public working draft of a potential specification. It has no official standing of any kind and does not represent the support or consensus of any standards organisation.

Table of Contents

1. RDFa 1.1

RDFa Core 1.1 [RDFA-CORE] defines core processing rules for independent of host language, and provides default processing rules for XML-based host languages.

1.1 XHTML1

XHTML+RDFa 1.1 [XHTML-RDFA] extends RDFa Core 1.1 [RDFA-CORE] with host-language specific processing rules.
Test any23 clj-rdfa librdfa pyRdfa RDF::RDFa
0001 Predicate establishment with @property Tests @property to establish the predicate; literal object is in the content of the element. PASS PASS PASS PASS PASS
0006 @rel and @rev Tests @rev and @rel together, with the object being specified by @href, ignoring content PASS PASS PASS PASS PASS
0007 @rel, @rev, @property, @content Tests @rel, @rev, @property, and @content together to generate several RDF triples. PASS PASS PASS PASS PASS
0008 empty string @about Tests empty @about. PASS PASS PASS PASS PASS
0009 @rev Tests @rev. PASS PASS PASS PASS PASS
0010 @rel, @rev, @href Tests @rel, @rev, and @href to generate two RDF triples. PASS PASS PASS PASS PASS
0012 @xml:lang Tests @xml:lang FAIL PASS PASS PASS PASS
0013 @xml:lang inheritance Tests @xml:lang inheritance FAIL PASS PASS PASS PASS
0014 @datatype, xsd:integer Tests setting the @datatype to xsd:integer PASS PASS PASS PASS PASS
0015 meta and link Tests meta and link with no parent @about PASS PASS PASS PASS PASS
0017 Related blanknodes Tests creation of statements involving explicitly created blank nodes. PASS PASS PASS PASS PASS
0018 @rel for predicate Tests @rel to establish predicate. PASS PASS PASS PASS PASS
0019 @about for subject Tests @about to establish subject. PASS PASS PASS PASS PASS
0020 Inheriting @about for subject Tests @about inheritance to establish subject. PASS PASS PASS PASS PASS
0021 Subject inheritance with no @about Tests inheritance of subject when no @about can be found PASS PASS PASS PASS PASS
0023 @id does not generate subjects Tests that @id does not generate subjects PASS PASS PASS PASS PASS
0025 simple chaining test Tests simple chaining with cascade of @resource and @property PASS PASS PASS PASS PASS
0026 @content Tests @content for literal object PASS PASS PASS PASS PASS
0027 @content, ignore element content Tests @content for literal object, overriding element content. PASS PASS PASS PASS PASS
0029 markup stripping with @datatype Tests markup stripping from a span element with @datatype=xsd:string PASS PASS PASS PASS PASS
0030 omitted @about Tests omitted @about. PASS PASS PASS PASS PASS
0031 simple @resource Tests if @resource sets URIref object correct. PASS PASS PASS PASS PASS
0032 @resource overrides @href Tests if @resource overrides @href to set the URIref object. PASS PASS PASS PASS PASS
0033 simple chaining test with bNode Tests simple chaining with cascade of bNode and @property PASS PASS PASS PASS PASS
0034 simple img[@src] test Tests if a @src (in img element) correctly sets the URIref object PASS PASS PASS PASS PASS
0035 @src/@href test Tests if @href overwrites @src PASS PASS PASS PASS PASS
0036 @src/@resource test Tests if @resource overwrites @src PASS PASS PASS PASS PASS
0037 @src/@href/@resource test Tests if @resource overwrites both @href and @src PASS PASS PASS PASS PASS
0038 @rev - img[@src] test Tests if a @src (in img element) correctly sets the URIref subject (due to @rev) PASS PASS PASS PASS PASS
0039 @rev - @src/@href test Tests if @href overwrites @src correctly to set the URIref subject (due to @rev) PASS PASS PASS PASS PASS
0041 @rev - @src/@href/@resource test Tests if @resource overwrites both @href and @src correctly to set the URIref subject (due to @rev) PASS PASS PASS PASS PASS
0048 @typeof with @about and @rel present, no @resource Tests @typeof with @about and @rel present, no @resource PASS PASS PASS PASS PASS
0049 @typeof with @about, no @rel or @resource Tests @typeof with @about, no @rel or @resource PASS PASS PASS PASS PASS
0050 @typeof without anything else Tests @typeof without anything else PASS PASS PASS PASS PASS
0051 @typeof with a single @property Tests @typeof with a single @property PASS PASS PASS PASS PASS
0052 @typeof with @resource and nothing else Tests to ensure that @typeof does not apply to @resource PASS PASS PASS PASS PASS
0053 @typeof with @resource and nothing else, with a subelement Tests to make sure that @typeof does not apply to @resource, but @resource sets the subject for the next triple to be generated PASS PASS PASS PASS PASS
0054 multiple @property Tests multiple @property separated by white spaces PASS PASS PASS PASS PASS
0055 multiple @rel Tests multiple @rel separated by white spaces PASS PASS PASS PASS PASS
0056 @typeof applies to @about on same element with hanging rel Tests if @typeof applies to @about on same element with hanging @rel PASS PASS PASS PASS PASS
0057 hanging @rel creates multiple triples Tests if hanging @rel creates multiple triples PASS PASS PASS PASS PASS
0059 multiple hanging @rels with multiple children Tests multiple hanging @rels with multiple children PASS PASS PASS PASS PASS
0060 UTF-8 conformance Tests conformance with UTF-8 encoding PASS PASS PASS PASS PASS
0061 @rel in head using reserved, non-prefixed XHTML value Tests @rel in head using reserved, non-prefixed XHTML value PASS PASS PASS PASS PASS
0062 @rev in head using reserved, non-prefixed XHTML value Tests @rev in head using reserved, non-prefixed XHTML value PASS PASS PASS PASS PASS
0063 @rel in head using reserved XHTML value and empty-prefix CURIE syntax Tests @rel in head using reserved XHTML value and empty-prefix CURIE syntax PASS PASS PASS PASS PASS
0064 @about with safe CURIE Tests if @about generates a proper triple when a safe CURIE is used PASS PASS PASS PASS PASS
0065 @rel with safe CURIE Tests if @rel properly connects triples generated when safe CURIEs are used PASS PASS PASS PASS PASS
0066 @about with @typeof in the head Test to make sure that @about (with current document) is implied in the head, and the proper triples are generated using @typeof FAIL PASS PASS PASS PASS
0067 @property in the head Test to make sure that @property in head uses the implied current document as the subject if no other subject is specified PASS PASS PASS PASS PASS
0068 Relative URI in @about Tests to ensure that relative URI is resolved correctly when used in @about PASS PASS PASS PASS PASS
0069 Relative URI in @href Tests to ensure that relative URI is resolved correctly when used in @href PASS PASS PASS PASS PASS
0070 Relative URI in @resource Tests to ensure that relative URI is resolved correctly when used in @resource PASS PASS PASS PASS PASS
0071 No explicit @about Tests to ensure that a triple is generated even if @typeof and @about is not specified anywhere in the document PASS PASS PASS PASS PASS
0072 Relative URI in @about (with XHTML base in head) Tests to ensure that relative URIs are resolved correctly when used in @about with XHTML base set in head PASS PASS PASS PASS PASS
0073 Relative URI in @resource (with XHTML base in head) Tests to ensure that relative URIs are resolved correctly when used in @resource with XHTML base set in head PASS PASS PASS PASS PASS
0074 Relative URI in @href (with XHTML base in head) Tests to ensure that relative URIs are resolved correctly when used in @href with XHTML base set in head PASS PASS PASS PASS PASS
0075 Reserved word 'license' in @rel with no explizit @about Tests to ensure that the XHTML+RDFa reserved word 'license' when used in @rel (with no @about) generates the proper triple PASS PASS PASS PASS PASS
0076 All reserved XHTML @rel values Tests to ensure that all reserved XHTML words are supported in @rel PASS PASS PASS PASS PASS
0077 All reserved XHTML @rev values Tests to ensure that all reserved XHTML words are supported in @rev PASS PASS PASS PASS PASS
0079 @resource and @href in completing incomplete triples Tests role of @resource and @href in completing incomplete triples (including their mutual priorities) FAIL PASS PASS PASS PASS
0080 @about overrides @resource in incomplete triples Tests if @about has a higher priority than @resource in handling incomplete triples PASS PASS PASS PASS PASS
0083 multiple ways of handling incomplete triples (merged) Tests multiple ways of handling incomplete triples; the first two triples should use the same bNode as subject ('merged'); the third case should use @about PASS PASS PASS PASS PASS
0084 multiple ways of handling incomplete triples, this time with both @rel and @rev Tests multiple ways of handling incomplete triples, this time with both @rel and @rev. There is an intermediate div that should be ignored by the process PASS PASS PASS PASS PASS
0085 @resource and @href in completing incomplete triples Tests the role of @resource and @href in completing incomplete triples (including their mutual priorities), but with an intermediate layer (ie, bNode) added FAIL PASS PASS PASS PASS
0087 All reserved XHTML @rel values (with :xxx) Tests to ensure that all reserved XHTML words are supported in @rel (with :xxx) PASS PASS PASS PASS PASS
0088 Interpretation of the CURIE "_:" Test the interpretation of the CURIE "_:" PASS PASS PASS PASS PASS
0089 @src sets a new subject (@typeof) Tests to ensure that @src sets a new subject (focuses on @typeof). PASS PASS PASS PASS PASS
0091 Non-reserved, un-prefixed CURIE in @property Tests to ensure that non-reserved, un-prefixed CURIEs, when used in @property, generate triples. PASS PASS PASS PASS PASS
0093 Tests XMLLiteral content with explicit @datatype (user-data-typed literal) Tests the explicit specification of an RDF XMLLiteral with @datatype using a non-RDF namespace, yielding a user-data-typed literal PASS PASS PASS PASS PASS
0099 Preservation of white space in literals Tests the preservation of white space in literals. FAIL PASS PASS PASS PASS
0104 rdf:value Tests rdf:value with blank nodes to give a value with a unit PASS PASS PASS PASS PASS
0106 chaining with empty value in inner @rel Tests the behavior of triple generation in the case where the inner @rel is defined, but is blank, which halts chaining. PASS PASS PASS PASS PASS
0107 no garbage collecting bnodes Checks to make sure that that while we shouldn't garbage collect bnodes no triples are generated. FAIL PASS PASS PASS PASS
0108 plain literal with datatype="" and xml:lang preservation Checks to make sure that the RDFa parser emits a plain literal when the datatype is specified as "" and preserves the xml:lang value. The text, with control characters and whitespace preserved, reads "Greek white space ". FAIL PASS PASS PASS PASS
0109 Tests to ensure @xml:base is ignored Tests to make sure that @xml:base is ignored in XHTML+RDFa 1.0. The input test document is invalid XHTML. PASS PASS PASS PASS PASS
0110 bNode generated even though no nested @about exists Tests to make sure that a bNode is generated even though no nested @about exists. PASS PASS PASS PASS PASS
0111 two bNodes generated after three levels of nesting Tests to make sure that two bNodes are generated after three levels of nesting and that the last div does not generate a triple. PASS PASS PASS PASS PASS
0112 plain literal with datatype="" Checks to make sure that the RDFa parser emits a plain literal when the datatype is specified as "". FAIL PASS PASS PASS PASS
0113 element with @property and no child nodes generates empty plain literal Checks to make sure that an element with @property and no child nodes generates empty plain literal. PASS PASS PASS PASS PASS
0114 Relative URI dot-segment removal Checks to make sure that a relative URI is resolved correctly according to RFC3986, section 5 (even when the relative URI is invalid, in this case). FAIL PASS PASS PASS PASS
0115 XML Entities must be supported by RDFa parser Checks to make sure that XML Entities are treated properly by the RDFa parser. PASS PASS PASS PASS PASS
0117 Fragment identifiers stripped from BASE Checks to make sure that fragment identifiers are stripped from [base] when used to generate triples. FAIL PASS PASS PASS PASS
0118 empty string "" is not equivalent to NULL - @about Checks to make sure that the empty string "" isn't considered as NULL in languages such as Javascript when generating triples. This test sets the subject in a chain using @href and then immediately changes the subject using @about and generates a triple. A buggy parser may use the @href subject (http://example.org/javascript.html) instead of the one defined by @about. PASS PASS PASS PASS PASS
0119 "[prefix:]" CURIE format is valid Checks to make sure that an RDFa processor expands CURIEs having only a prefix and a colon if a prefix is properly defined using xmlns. PASS PASS PASS PASS PASS
0120 "[:]" CURIE format is valid Checks to make sure that an RDFa processor expands CURIEs having only a colon to the default prefix "http://www.w3.org/1999/test-cases/vocab#". FAIL PASS PASS PASS PASS
0121 "[]" is a valid safe CURIE Checks to make sure RDFa processors resolve the empty CURIE correctly. Note that this is not valid HTML due to recursive FAIL PASS PASS PASS PASS
0122 resource="[]" does not set the object Checks to make sure that resource="[]" does not set the object since RDFa does not allow non-prefixed CURIEs. PASS PASS PASS PASS PASS
0126 Multiple @typeof values Checks to ensure that multiple (white space separated) values in @typeof trigger multiple rdf:type triples. PASS PASS PASS PASS PASS
0131 Whitespace alternatives in attributes Ensures that multiple whitespace alternatives in attributes are allowed. PASS PASS PASS PASS PASS
0134 Uppercase reserved words Ensures that mixed-case reserved words generate triples. FAIL PASS PASS PASS PASS
0140 Blank nodes identifiers are not allowed as predicates The RDF data model does not allow blank node identifiers in predicates. This test ensures that RDFa processors do not emit invalid triples. PASS PASS PASS PASS PASS
0147 xmlns prefix 'xmlzzz' (reserved) Ensures that RDFa processors allow the prefix 'xmlzzz', even though it is a reserved prefix in XML. PASS PASS PASS PASS PASS
0172 @datatype="" generates plain literal in presence of child nodes Checks to ensure that when @datatype="" is used on an element that contains child nodes, that the literal that is generated is a plain literal. FAIL PASS PASS PASS PASS
0173 @xml:lang="" clears language setting Checks to ensure that when @xml:lang="" is used that any parent element language setting is cleared and a language-less literal is generated. PASS PASS PASS PASS PASS
0174 Support single character prefix in CURIEs Checks to ensure that the RDFa processor correctly processes single character prefixes when processing CURIEs. PASS PASS PASS PASS PASS
0175 IRI for @property is allowed Checks to make sure that a URI may be used as a @property value FAIL PASS PASS PASS PASS
0176 IRI for @rel and @rev is allowed Checks to make sure that a URI may be used as @rel and @rev values FAIL PASS PASS PASS PASS
0177 Test @prefix Checks to make sure @prefix with a single entry creates a URI mapping FAIL PASS PASS PASS PASS
0178 Test @prefix with multiple mappings Checks to make sure @prefix with multiple entires creates multiple URI mappings FAIL PASS PASS PASS PASS
0179 Test @prefix vs @xmlns priority Checks to make sure @prefix has a higher priority than @xmlns FAIL PASS PASS PASS PASS
0180 Test @prefix with empty mapping Checks to make sure @prefix with empty prefix does not create a mapping. PASS PASS PASS PASS PASS
0181 Test default XHTML vocabulary Checks Tests a CURIE with default namespace uses XHTML Vocabulary namespace. PASS PASS PASS PASS PASS
0182 Test prefix locality Checks to be sure that prefixes are defined within the element hierarchy. FAIL PASS PASS PASS PASS
0183 Test @xmlns redefines @prefix A new @xmlns definition should override a previous @prefix definition at this element. FAIL PASS PASS PASS PASS
0186 @vocab after subject declaration Check that @vocab establishes a new default vocabulary when declared on the same element as a subject declaration via @about. FAIL PASS PASS PASS PASS
0187 @vocab redefinition Check that a more deeply nested @vocab attribute overloads a previous @vocab definition. FAIL PASS PASS PASS PASS
0188 @vocab only affects predicates Check that @vocab definitions on parent elements only affect predicate establishment. FAIL PASS PASS PASS PASS
0189 @vocab overrides default term Check that @vocab changes a default term from XHV. Lookup checks default vocabulary before local term mappings. FAIL PASS PASS PASS PASS
0190 Test term case insensitivity Check to ensure a mixed case term matches a case insensitive definition FAIL PASS PASS PASS PASS
0196 Test process explicit XMLLiteral XMLLiteral must be explicitly specified, otherwise a normal untyped literal is created PASS PASS PASS PASS PASS
0197 Test TERMorCURIEorAbsURI requires an absolute URI TERMorCURIEorAbsURI requires an absolute URI FAIL PASS PASS PASS PASS
0198 datatype XMLLiteral with other embedded RDFa Checks to ensure that when datatype is the default the parser generates triples for embedded content. FAIL PASS PASS PASS PASS
0206 Usage of Initial Context Tests whether the default RDFa 1.1 context (which contains prefix definitions, among others, to the Semantic Web Standard vocabularies) is properly handled. FAIL PASS PASS PASS PASS
0207 Vevent using @typeof Tests Vevent using @typeof (inlc. dtstart, dtend, etc.) PASS PASS PASS PASS PASS
0213 Datatype generation for a literal with XML content, version 1.1 In RDFa 1.1, even if a literal contains XML elements, and no explicit datatype is set, the result is plain literal FAIL PASS PASS PASS PASS
0214 Root element has implicit @about="" All documents have an implicit @about="" FAIL PASS PASS PASS PASS
0216 Proper character encoding detection in spite of large headers Character encoding should work even in view of a large set of characters as attributes in the header, ie, when content sniffing may not work to establish encoding. FAIL PASS PASS PASS PASS
0217 @vocab causes rdfa:usesVocabulary triple to be added When encountering @vocab, a processor generates a triple with the base URI, rdfa:usesVocabulary and the IRI of the added vocabulary. FAIL PASS PASS PASS PASS
0218 @inlist to create empty list @inlist on @rel with no incomplete triples creates an empty list. FAIL PASS PASS PASS PASS
0219 @inlist with literal @inlist with @property creates a list having a literal as a single element. FAIL PASS PASS PASS PASS
0220 @inlist with IRI @inlist with @rel and @href creates a list having an IRI as a single element. FAIL PASS PASS PASS PASS
0221 @inlist with hetrogenious membership @inlist with @rel and @property creates a list with both IRI and Literal elements. FAIL PASS PASS PASS PASS
0222 @inlist with multi-level elements @inlist with @property at different levels of descendence creates single list. FAIL PASS PASS PASS PASS
0223 @inlist with non-list property Use of predicate with @inlist and without @inlist creates both list and non-list triples. FAIL PASS PASS PASS PASS
0224 @inlist hanging @rel Use of @rel and @inlist with decendent IRI elements creates list FAIL PASS PASS PASS PASS
0225 @inlist on different elements with same subject @inlist with same property and subject on different elements creates multiple lists FAIL PASS PASS PASS PASS
0226 confusion between multiple implicit collections (resource) Use of @inlist with implicit subject uses different list FAIL PASS PASS PASS PASS
0227 confusion between multiple implicit collections (about) Use of @inlist with implicit subject uses different list FAIL PASS PASS PASS PASS
0228 1.1 alternate for test 0040: @rev - @src/@resource test @src is a lower priority than @resource FAIL PASS PASS PASS PASS
0229 img[@src] test with omitted @about Tests if a @src (in img element) does not set the URIref object (with omitted @about) -- from 0042 FAIL PASS PASS PASS PASS
0230 @src does not set a new subject (@rel/@href) Tests to ensure that @src does not set a new subject (oposite of 0090 for 1.0). FAIL PASS PASS PASS PASS
0231 Set image license information Tests new behavior of @src in 1.1 PASS PASS PASS PASS PASS
0232 @typeof with @rel present, no @href, @resource, or @about (1.1 behavior of 0046); Tests @typeof with @rel present, no @href, @resource, or @about creates a BNode object FAIL PASS PASS PASS PASS
0233 @typeof with @rel and @resource present, no @about (1.1 behavior of 0047) Tests @typeof with @rel and @resource present, no @about adds type to object FAIL PASS PASS PASS PASS
0234 All defined HTML link relation values Tests to ensure that all defined linked relations expand FAIL PASS PASS PASS PASS
0235 rdfagraph='processor' does not generate standard triples Setting rdfagraph query parameter to 'processor' does not output standard triples PASS PASS PASS PASS PASS
0236 rdfagraph='processor' with a markup error generates rdfa:Error Setting rdfagraph query parameter to 'processor' generates an rdf:Error FAIL PASS PASS PASS PASS
0237 rdfagraph='processor' with invalid SafeCURIE generates rdfa:Warning Setting rdfagraph query parameter to 'processor' generates an rdf:Warning when given a SafeCURIE with an invalid prefix. FAIL PASS PASS PASS PASS
0238 rdfagraph='processor' with missing Term definition generates rdfa:Warning Setting rdfagraph query parameter to 'processor' generates an rdf:Warning when given a missing Term definition. FAIL PASS PASS PASS PASS
0239 rdfagraph='processor' with undefined prefix generates rdfa:Warning Setting rdfagraph query parameter to 'processor' generates an rdf:Warning when given a SafeCURIE with an undefined prefix. FAIL PASS PASS PASS PASS
0246 hanging @rel creates multiple triples, @typeof permutation; RDFa 1.1 version Tests if hanging @rel creates multiple triples with @typeof permutation FAIL PASS PASS PASS PASS
0247 Multiple incomplete triples, RDFa 1.1version Tests multiple ways of handling incomplete triples; the first two triples should use the same bnode as subject ('merged'). The third should have a separate bNode. FAIL PASS PASS PASS PASS
0248 multiple ways of handling incomplete triples (with @rev); RDFa 1.1 version Tests multiple ways of handling incomplete triples, this time with @rev FAIL PASS PASS PASS PASS
0249 multiple ways of handling incomplete triples (with @rel and @rev); RDFa 1.1 version Tests multiple ways of handling incomplete triples, this time with both @rel and @rev FAIL PASS PASS PASS PASS
0250 Checking the right behaviour of @typeof with @about, in presence of @property Tests that @typeof is clearly bound to @about, and @property therefore creates a Literal object FAIL PASS PASS PASS PASS
0258 The underscore character is not allowed in xmlns Ensures that a prefix cannot start with an underscore character when specified using xmlns or prefix. FAIL PASS PASS PASS PASS
0259 XML+RDFa Initial Context All processors must load the RDFa Core Initial Context. FAIL PASS PASS PASS PASS
0260 XHTML+RDFa Initial Context XHTML+RDFa initial context. PASS PASS PASS PASS PASS
0261 White space preservation in XMLLiteral Whitespace must be maintained in an XMLLiteral, too PASS PASS PASS PASS PASS
0262 Predicate establishment with @property, with white spaces before and after the attribute value Tests @property to establish the predicate; literal object is in the content of the element. There are extra whitespaces before and after the property attribute value which should be ignored FAIL PASS PASS PASS PASS
0263 @property appearing on the html element yields the base as the subject @property appearing on the html element without @content or @datatype yields the base as the subject FAIL PASS PASS PASS PASS
0264 @property appearing on the head element gets the subject from , ie, parent @property appearing on the head element gets the subject from , ie, parent FAIL PASS PASS PASS PASS
0265 @property appearing on the head element gets the subject from , ie, parent @property appearing on the head element gets the subject from , ie, parent; in this case the parent subject is explicitly set via @about FAIL PASS PASS PASS PASS
0266 @property without @content or @datatype, typed object set by @href and @typeof @property without @content or @datatype, typed object set by @href and @typeof FAIL PASS PASS PASS PASS
0267 @property without @content or @datatype, typed object set by @resource and @typeof @property without @content or @datatype, typed object set by @resource and @typeof FAIL PASS PASS PASS PASS
0268 @property without @content or @datatype, typed object set by @src and @typeof @property without @content or @datatype, typed object set by @src and @typeof FAIL PASS PASS PASS PASS
0269 @property appearing on the html element yields the base as the subject, also with @content @property appearing on the html element without @content or @datatype yields the base as the subject, also with @content FAIL PASS PASS PASS PASS
0271 Use of @property in HEAD with explicit parent subject via @about @property appearing on the head element gets the subject from parent, also with @content and explicit @about at the top FAIL PASS PASS PASS PASS
0289 @href becomes subject when @property and @content are present When @property and @content are present but @about, @rel and @rev are not, @href is used as subject. FAIL PASS PASS PASS PASS
0290 @href becomes subject when @property and @datatype are present When @property and @datatype are present but @about, @rel and @rev are not, @href is used as subject and element content is used as an object literal. FAIL PASS PASS PASS PASS
0291 @href as subject overridden by @about When @property, @datatype, @href and @about are present but @rel and @rev are not, @about is used as subject. PASS PASS PASS PASS PASS
0292 @about overriding @href as subject is used as parent resource When @property, @datatype, @href and @about are present but @rel and @rev are not, @about is used as subject and is also applied to nested descriptions. PASS PASS PASS PASS PASS
0293 Testing the ':' character usage in a CURIE RDFa 1.1 CURIE allows the ':' to appear in the reference part of a CURIE. FAIL PASS PASS PASS PASS

1.2 XML

RDFa Core 1.1 [RDFA-CORE] defines core processing rules for independent of host language, and provides default processing rules for XML-based host languages.
Test clj-rdfa librdfa pyRdfa RDF::RDFa
0001 Predicate establishment with @property Tests @property to establish the predicate; literal object is in the content of the element. PASS PASS PASS PASS
0006 @rel and @rev Tests @rev and @rel together, with the object being specified by @href, ignoring content PASS PASS PASS PASS
0007 @rel, @rev, @property, @content Tests @rel, @rev, @property, and @content together to generate several RDF triples. PASS PASS PASS PASS
0008 empty string @about Tests empty @about. PASS PASS PASS PASS
0009 @rev Tests @rev. PASS PASS PASS PASS
0010 @rel, @rev, @href Tests @rel, @rev, and @href to generate two RDF triples. PASS PASS PASS PASS
0012 @xml:lang Tests @xml:lang PASS PASS PASS PASS
0013 @xml:lang inheritance Tests @xml:lang inheritance PASS PASS PASS PASS
0014 @datatype, xsd:integer Tests setting the @datatype to xsd:integer PASS PASS PASS PASS
0015 meta and link Tests meta and link with no parent @about PASS PASS PASS PASS
0017 Related blanknodes Tests creation of statements involving explicitly created blank nodes. PASS PASS PASS PASS
0018 @rel for predicate Tests @rel to establish predicate. PASS PASS PASS PASS
0019 @about for subject Tests @about to establish subject. PASS PASS PASS PASS
0020 Inheriting @about for subject Tests @about inheritance to establish subject. PASS PASS PASS PASS
0021 Subject inheritance with no @about Tests inheritance of subject when no @about can be found PASS PASS PASS PASS
0023 @id does not generate subjects Tests that @id does not generate subjects PASS PASS PASS PASS
0025 simple chaining test Tests simple chaining with cascade of @resource and @property PASS PASS PASS PASS
0026 @content Tests @content for literal object PASS PASS PASS PASS
0027 @content, ignore element content Tests @content for literal object, overriding element content. PASS PASS PASS PASS
0029 markup stripping with @datatype Tests markup stripping from a span element with @datatype=xsd:string PASS PASS PASS PASS
0030 omitted @about Tests omitted @about. PASS PASS PASS PASS
0031 simple @resource Tests if @resource sets URIref object correct. PASS PASS PASS PASS
0032 @resource overrides @href Tests if @resource overrides @href to set the URIref object. PASS PASS PASS PASS
0033 simple chaining test with bNode Tests simple chaining with cascade of bNode and @property PASS PASS PASS PASS
0034 simple img[@src] test Tests if a @src (in img element) correctly sets the URIref object PASS PASS PASS PASS
0035 @src/@href test Tests if @href overwrites @src PASS PASS PASS PASS
0036 @src/@resource test Tests if @resource overwrites @src PASS PASS PASS PASS
0037 @src/@href/@resource test Tests if @resource overwrites both @href and @src PASS PASS PASS PASS
0038 @rev - img[@src] test Tests if a @src (in img element) correctly sets the URIref subject (due to @rev) PASS PASS PASS PASS
0039 @rev - @src/@href test Tests if @href overwrites @src correctly to set the URIref subject (due to @rev) PASS PASS PASS PASS
0041 @rev - @src/@href/@resource test Tests if @resource overwrites both @href and @src correctly to set the URIref subject (due to @rev) PASS PASS PASS PASS
0048 @typeof with @about and @rel present, no @resource Tests @typeof with @about and @rel present, no @resource PASS PASS PASS PASS
0049 @typeof with @about, no @rel or @resource Tests @typeof with @about, no @rel or @resource PASS PASS PASS PASS
0050 @typeof without anything else Tests @typeof without anything else PASS PASS PASS PASS
0051 @typeof with a single @property Tests @typeof with a single @property PASS PASS PASS PASS
0052 @typeof with @resource and nothing else Tests to ensure that @typeof does not apply to @resource PASS PASS PASS PASS
0053 @typeof with @resource and nothing else, with a subelement Tests to make sure that @typeof does not apply to @resource, but @resource sets the subject for the next triple to be generated PASS PASS PASS PASS
0054 multiple @property Tests multiple @property separated by white spaces PASS PASS PASS PASS
0055 multiple @rel Tests multiple @rel separated by white spaces PASS PASS PASS PASS
0056 @typeof applies to @about on same element with hanging rel Tests if @typeof applies to @about on same element with hanging @rel PASS PASS PASS PASS
0057 hanging @rel creates multiple triples Tests if hanging @rel creates multiple triples PASS PASS PASS PASS
0059 multiple hanging @rels with multiple children Tests multiple hanging @rels with multiple children PASS PASS PASS PASS
0060 UTF-8 conformance Tests conformance with UTF-8 encoding PASS PASS PASS PASS
0063 @rel in head using reserved XHTML value and empty-prefix CURIE syntax Tests @rel in head using reserved XHTML value and empty-prefix CURIE syntax PASS PASS PASS PASS
0064 @about with safe CURIE Tests if @about generates a proper triple when a safe CURIE is used PASS PASS PASS PASS
0065 @rel with safe CURIE Tests if @rel properly connects triples generated when safe CURIEs are used PASS PASS PASS PASS
0067 @property in the head Test to make sure that @property in head uses the implied current document as the subject if no other subject is specified PASS PASS PASS PASS
0068 Relative URI in @about Tests to ensure that relative URI is resolved correctly when used in @about PASS PASS PASS PASS
0071 No explicit @about Tests to ensure that a triple is generated even if @typeof and @about is not specified anywhere in the document PASS PASS PASS PASS
0079 @resource and @href in completing incomplete triples Tests role of @resource and @href in completing incomplete triples (including their mutual priorities) PASS PASS PASS PASS
0080 @about overrides @resource in incomplete triples Tests if @about has a higher priority than @resource in handling incomplete triples PASS PASS PASS PASS
0083 multiple ways of handling incomplete triples (merged) Tests multiple ways of handling incomplete triples; the first two triples should use the same bNode as subject ('merged'); the third case should use @about PASS PASS PASS PASS
0084 multiple ways of handling incomplete triples, this time with both @rel and @rev Tests multiple ways of handling incomplete triples, this time with both @rel and @rev. There is an intermediate div that should be ignored by the process PASS PASS PASS PASS
0085 @resource and @href in completing incomplete triples Tests the role of @resource and @href in completing incomplete triples (including their mutual priorities), but with an intermediate layer (ie, bNode) added PASS PASS PASS PASS
0087 All reserved XHTML @rel values (with :xxx) Tests to ensure that all reserved XHTML words are supported in @rel (with :xxx) PASS PASS PASS PASS
0088 Interpretation of the CURIE "_:" Test the interpretation of the CURIE "_:" PASS PASS PASS PASS
0089 @src sets a new subject (@typeof) Tests to ensure that @src sets a new subject (focuses on @typeof). PASS PASS PASS PASS
0091 Non-reserved, un-prefixed CURIE in @property Tests to ensure that non-reserved, un-prefixed CURIEs, when used in @property, generate triples. PASS PASS PASS PASS
0093 Tests XMLLiteral content with explicit @datatype (user-data-typed literal) Tests the explicit specification of an RDF XMLLiteral with @datatype using a non-RDF namespace, yielding a user-data-typed literal PASS PASS PASS PASS
0099 Preservation of white space in literals Tests the preservation of white space in literals. PASS PASS PASS PASS
0104 rdf:value Tests rdf:value with blank nodes to give a value with a unit PASS PASS PASS PASS
0106 chaining with empty value in inner @rel Tests the behavior of triple generation in the case where the inner @rel is defined, but is blank, which halts chaining. PASS PASS PASS PASS
0107 no garbage collecting bnodes Checks to make sure that that while we shouldn't garbage collect bnodes no triples are generated. PASS PASS PASS PASS
0108 plain literal with datatype="" and xml:lang preservation Checks to make sure that the RDFa parser emits a plain literal when the datatype is specified as "" and preserves the xml:lang value. The text, with control characters and whitespace preserved, reads "Greek white space ". PASS PASS PASS PASS
0112 plain literal with datatype="" Checks to make sure that the RDFa parser emits a plain literal when the datatype is specified as "". PASS PASS PASS PASS
0113 element with @property and no child nodes generates empty plain literal Checks to make sure that an element with @property and no child nodes generates empty plain literal. PASS PASS PASS PASS
0115 XML Entities must be supported by RDFa parser Checks to make sure that XML Entities are treated properly by the RDFa parser. PASS PASS PASS PASS
0118 empty string "" is not equivalent to NULL - @about Checks to make sure that the empty string "" isn't considered as NULL in languages such as Javascript when generating triples. This test sets the subject in a chain using @href and then immediately changes the subject using @about and generates a triple. A buggy parser may use the @href subject (http://example.org/javascript.html) instead of the one defined by @about. PASS PASS PASS PASS
0119 "[prefix:]" CURIE format is valid Checks to make sure that an RDFa processor expands CURIEs having only a prefix and a colon if a prefix is properly defined using xmlns. PASS PASS PASS PASS
0120 "[:]" CURIE format is valid Checks to make sure that an RDFa processor expands CURIEs having only a colon to the default prefix "http://www.w3.org/1999/test-cases/vocab#". PASS PASS PASS PASS
0121 "[]" is a valid safe CURIE Checks to make sure RDFa processors resolve the empty CURIE correctly. Note that this is not valid HTML due to recursive PASS PASS PASS PASS
0122 resource="[]" does not set the object Checks to make sure that resource="[]" does not set the object since RDFa does not allow non-prefixed CURIEs. PASS PASS PASS PASS
0126 Multiple @typeof values Checks to ensure that multiple (white space separated) values in @typeof trigger multiple rdf:type triples. PASS PASS PASS PASS
0140 Blank nodes identifiers are not allowed as predicates The RDF data model does not allow blank node identifiers in predicates. This test ensures that RDFa processors do not emit invalid triples. PASS PASS PASS PASS
0147 xmlns prefix 'xmlzzz' (reserved) Ensures that RDFa processors allow the prefix 'xmlzzz', even though it is a reserved prefix in XML. PASS PASS PASS PASS
0174 Support single character prefix in CURIEs Checks to ensure that the RDFa processor correctly processes single character prefixes when processing CURIEs. PASS PASS PASS PASS
0175 IRI for @property is allowed Checks to make sure that a URI may be used as a @property value PASS PASS PASS PASS
0176 IRI for @rel and @rev is allowed Checks to make sure that a URI may be used as @rel and @rev values PASS PASS PASS PASS
0180 Test @prefix with empty mapping Checks to make sure @prefix with empty prefix does not create a mapping. PASS PASS PASS PASS
0181 Test default XHTML vocabulary Checks Tests a CURIE with default namespace uses XHTML Vocabulary namespace. PASS PASS PASS PASS
0196 Test process explicit XMLLiteral XMLLiteral must be explicitly specified, otherwise a normal untyped literal is created PASS PASS PASS PASS
0206 Usage of Initial Context Tests whether the default RDFa 1.1 context (which contains prefix definitions, among others, to the Semantic Web Standard vocabularies) is properly handled. PASS PASS PASS PASS
0207 Vevent using @typeof Tests Vevent using @typeof (inlc. dtstart, dtend, etc.) PASS PASS PASS PASS
0213 Datatype generation for a literal with XML content, version 1.1 In RDFa 1.1, even if a literal contains XML elements, and no explicit datatype is set, the result is plain literal PASS PASS PASS PASS
0214 Root element has implicit @about="" All documents have an implicit @about="" PASS PASS PASS PASS
0229 img[@src] test with omitted @about Tests if a @src (in img element) does not set the URIref object (with omitted @about) -- from 0042 PASS PASS PASS PASS
0235 rdfagraph='processor' does not generate standard triples Setting rdfagraph query parameter to 'processor' does not output standard triples PASS PASS PASS PASS
0236 rdfagraph='processor' with a markup error generates rdfa:Error Setting rdfagraph query parameter to 'processor' generates an rdf:Error PASS PASS PASS PASS
0237 rdfagraph='processor' with invalid SafeCURIE generates rdfa:Warning Setting rdfagraph query parameter to 'processor' generates an rdf:Warning when given a SafeCURIE with an invalid prefix. PASS PASS PASS PASS
0238 rdfagraph='processor' with missing Term definition generates rdfa:Warning Setting rdfagraph query parameter to 'processor' generates an rdf:Warning when given a missing Term definition. PASS PASS PASS PASS
0239 rdfagraph='processor' with undefined prefix generates rdfa:Warning Setting rdfagraph query parameter to 'processor' generates an rdf:Warning when given a SafeCURIE with an undefined prefix. PASS PASS PASS PASS
0246 hanging @rel creates multiple triples, @typeof permutation; RDFa 1.1 version Tests if hanging @rel creates multiple triples with @typeof permutation PASS PASS PASS PASS
0247 Multiple incomplete triples, RDFa 1.1version Tests multiple ways of handling incomplete triples; the first two triples should use the same bnode as subject ('merged'). The third should have a separate bNode. PASS PASS PASS PASS
0248 multiple ways of handling incomplete triples (with @rev); RDFa 1.1 version Tests multiple ways of handling incomplete triples, this time with @rev PASS PASS PASS PASS
0249 multiple ways of handling incomplete triples (with @rel and @rev); RDFa 1.1 version Tests multiple ways of handling incomplete triples, this time with both @rel and @rev PASS PASS PASS PASS
0250 Checking the right behaviour of @typeof with @about, in presence of @property Tests that @typeof is clearly bound to @about, and @property therefore creates a Literal object PASS PASS PASS PASS
0258 The underscore character is not allowed in xmlns Ensures that a prefix cannot start with an underscore character when specified using xmlns or prefix. PASS PASS PASS PASS
0259 XML+RDFa Initial Context All processors must load the RDFa Core Initial Context. PASS PASS PASS PASS
0261 White space preservation in XMLLiteral Whitespace must be maintained in an XMLLiteral, too PASS PASS PASS PASS
0262 Predicate establishment with @property, with white spaces before and after the attribute value Tests @property to establish the predicate; literal object is in the content of the element. There are extra whitespaces before and after the property attribute value which should be ignored PASS PASS PASS PASS
0263 @property appearing on the html element yields the base as the subject @property appearing on the html element without @content or @datatype yields the base as the subject PASS PASS PASS PASS
0264 @property appearing on the head element gets the subject from , ie, parent @property appearing on the head element gets the subject from , ie, parent PASS PASS PASS PASS
0265 @property appearing on the head element gets the subject from , ie, parent @property appearing on the head element gets the subject from , ie, parent; in this case the parent subject is explicitly set via @about PASS PASS PASS PASS
0266 @property without @content or @datatype, typed object set by @href and @typeof @property without @content or @datatype, typed object set by @href and @typeof PASS PASS PASS PASS
0267 @property without @content or @datatype, typed object set by @resource and @typeof @property without @content or @datatype, typed object set by @resource and @typeof PASS PASS PASS PASS
0268 @property without @content or @datatype, typed object set by @src and @typeof @property without @content or @datatype, typed object set by @src and @typeof PASS PASS PASS PASS
0269 @property appearing on the html element yields the base as the subject, also with @content @property appearing on the html element without @content or @datatype yields the base as the subject, also with @content PASS PASS PASS PASS
0271 Use of @property in HEAD with explicit parent subject via @about @property appearing on the head element gets the subject from parent, also with @content and explicit @about at the top PASS PASS PASS PASS
0289 @href becomes subject when @property and @content are present When @property and @content are present but @about, @rel and @rev are not, @href is used as subject. PASS PASS PASS PASS
0290 @href becomes subject when @property and @datatype are present When @property and @datatype are present but @about, @rel and @rev are not, @href is used as subject and element content is used as an object literal. PASS PASS PASS PASS
0291 @href as subject overridden by @about When @property, @datatype, @href and @about are present but @rel and @rev are not, @about is used as subject. PASS PASS PASS PASS
0292 @about overriding @href as subject is used as parent resource When @property, @datatype, @href and @about are present but @rel and @rev are not, @about is used as subject and is also applied to nested descriptions. PASS PASS PASS PASS
0293 Testing the ':' character usage in a CURIE RDFa 1.1 CURIE allows the ':' to appear in the reference part of a CURIE. PASS PASS PASS PASS

2. RDFa 1.1 Vocabulary

RDFa Core 1.1 [RDFA-CORE] Vocabulary Expansion is an optional RDFa extension used to perform limited OWL and RDFS expansion of terms associated with a Vocabulary.

2.1 XHTML1

XHTML+RDFa 1.1 [XHTML-RDFA] extends RDFa Core 1.1 [RDFA-CORE] with host-language specific processing rules.
Test clj-rdfa pyRdfa RDF::RDFa
0240 vocab_expansion='true' expands sub-property A property having an rdfs:subPropertyOf relationship defined in an in-use vocabulary causes triples to be added to the referenced property. PASS PASS PASS
0241 vocab_expansion='true' expands equivalent-property A property having an owl:equivalentProperty relationship defined in an in-use vocabulary causes triples to be added to the referenced property. PASS PASS PASS
0242 vocab_expansion='true' expands referenced equivalent-property A property which is the target of another property having an owl:equivalentProperty relationship defined in an in-use vocabulary causes triples to be added to the defining property. PASS PASS PASS
0243 vocab_expansion='true' expands sub-class A property having an rdfs:subClassOf relationship defined in an in-use vocabulary causes triples to be added to the referenced class. PASS PASS PASS
0244 vocab_expansion='true' expands equivalent-class A class having an owl:equivalentClass relationship defined in an in-use vocabulary causes triples to be added to the referenced class. PASS PASS PASS
0245 vocab_expansion='true' expands referenced equivalent-class A class which is the target of another class having an owl:equivalentClass relationship defined in an in-use vocabulary causes triples to be added to the defining class. PASS PASS PASS

2.2 XML

RDFa Core 1.1 [RDFA-CORE] defines core processing rules for independent of host language, and provides default processing rules for XML-based host languages.
Test clj-rdfa pyRdfa RDF::RDFa
0240 vocab_expansion='true' expands sub-property A property having an rdfs:subPropertyOf relationship defined in an in-use vocabulary causes triples to be added to the referenced property. PASS PASS PASS
0241 vocab_expansion='true' expands equivalent-property A property having an owl:equivalentProperty relationship defined in an in-use vocabulary causes triples to be added to the referenced property. PASS PASS PASS
0242 vocab_expansion='true' expands referenced equivalent-property A property which is the target of another property having an owl:equivalentProperty relationship defined in an in-use vocabulary causes triples to be added to the defining property. PASS PASS PASS
0243 vocab_expansion='true' expands sub-class A property having an rdfs:subClassOf relationship defined in an in-use vocabulary causes triples to be added to the referenced class. PASS PASS PASS
0244 vocab_expansion='true' expands equivalent-class A class having an owl:equivalentClass relationship defined in an in-use vocabulary causes triples to be added to the referenced class. PASS PASS PASS
0245 vocab_expansion='true' expands referenced equivalent-class A class which is the target of another class having an owl:equivalentClass relationship defined in an in-use vocabulary causes triples to be added to the defining class. PASS PASS PASS

3. Other Host Languages

The following results are for host languages that are not explicitly specified, or for which standards work is not yet complete.

3.1 HTML5

The HTML5 [HTML5] RDFa Host Language is defined in [[HTML+RDFa]]. HTML+RDFa extends RDFa Core 1.1 [RDFA-CORE] with host-language specific processing rules.
Test clj-rdfa librdfa pyRdfa RDF::RDFa
0001 Predicate establishment with @property Tests @property to establish the predicate; literal object is in the content of the element. PASS PASS PASS PASS
0006 @rel and @rev Tests @rev and @rel together, with the object being specified by @href, ignoring content PASS PASS PASS PASS
0007 @rel, @rev, @property, @content Tests @rel, @rev, @property, and @content together to generate several RDF triples. PASS PASS PASS PASS
0008 empty string @about Tests empty @about. PASS PASS PASS PASS
0009 @rev Tests @rev. PASS PASS PASS PASS
0010 @rel, @rev, @href Tests @rel, @rev, and @href to generate two RDF triples. PASS PASS PASS PASS
0014 @datatype, xsd:integer Tests setting the @datatype to xsd:integer PASS PASS PASS PASS
0015 meta and link Tests meta and link with no parent @about PASS PASS PASS PASS
0017 Related blanknodes Tests creation of statements involving explicitly created blank nodes. PASS PASS PASS PASS
0018 @rel for predicate Tests @rel to establish predicate. PASS PASS PASS PASS
0019 @about for subject Tests @about to establish subject. PASS PASS PASS PASS
0020 Inheriting @about for subject Tests @about inheritance to establish subject. PASS PASS PASS PASS
0021 Subject inheritance with no @about Tests inheritance of subject when no @about can be found PASS PASS PASS PASS
0023 @id does not generate subjects Tests that @id does not generate subjects PASS PASS