Tests @property to establish the predicate; literal object is in the content of the element.
Tests @rev and @rel together, with the object being specified by @href, ignoring content
Tests @rel, @rev, @property, and @content together to generate several RDF triples.
Tests @rel, @rev, and @href to generate two RDF triples.
Tests setting the @datatype to xsd:integer
Tests meta and link with no parent @about
Tests creation of statements involving explicitly created blank nodes.
Tests @about inheritance to establish subject.
Tests inheritance of subject when no @about can be found
Tests that @id does not generate subjects
Tests simple chaining with cascade of @resource and @property
Tests @content for literal object, overriding element content.
Tests markup stripping from a span element with @datatype=xsd:string
Tests if @resource sets URIref object correct.
Tests if @resource overrides @href to set the URIref object.
Tests simple chaining with cascade of bNode and @property
Tests if a @src (in img element) correctly sets the URIref object
Tests if @resource overwrites both @href and @src
Tests if a @src (in img element) correctly sets the URIref subject (due to @rev)
Tests if @href overwrites @src correctly to set the URIref subject (due to @rev)
Tests if @resource overwrites @src correctly to set the URIref subject (due to @rev)
Tests if @resource overwrites both @href and @src correctly to set the URIref subject (due to @rev)
Tests if a @src (in img element) correctly sets the URIref object (with omitted @about)
@typeof with @rel present, no @href, @resource, or @about
Tests @typeof with @rel present, no @href, @resource, or @about
@typeof with @rel and @resource present, no @about
Tests @typeof with @rel and @resource present, no @about
@typeof with @about and @rel present, no @resource
Tests @typeof with @about and @rel present, no @resource
@typeof with @about, no @rel or @resource
Tests @typeof with @about, no @rel or @resource
Tests to ensure that @typeof does not apply to @resource
@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
Tests multiple @property separated by white spaces
Tests multiple @rel separated by white spaces
@typeof applies to @about on same element with hanging rel
Tests if @typeof applies to @about on same element with hanging @rel
Tests if hanging @rel creates multiple triples
hanging @rel creates multiple triples, @typeof permutation; RDFa 1.0 version
Tests if hanging @rel creates multiple triples with @typeof permutation
multiple hanging @rels with multiple children
Tests multiple hanging @rels with multiple children
@rel in head using reserved, non-prefixed XHTML value
Tests @rel in head using reserved, non-prefixed XHTML value
@rev in head using reserved, non-prefixed XHTML value
Tests @rev in head using reserved, non-prefixed XHTML value
@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
Tests if @about generates a proper triple when a safe CURIE is used
Tests if @rel properly connects triples generated when safe CURIEs are used
Test to make sure that @about (with current document) is implied in the head, and the proper triples are generated using @typeof
Test to make sure that @property in head uses the implied current document as the subject if no other subject is specified
Tests to ensure that relative URI is resolved correctly when used in @about
Tests to ensure that relative URI is resolved correctly when used in @href
Tests to ensure that relative URI is resolved correctly when used in @resource
Tests to ensure that a triple is generated even if @typeof and @about is not specified anywhere in the document
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
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
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
Reserved word 'license' in @rel with no explicit @about
Tests to ensure that the XHTML+RDFa reserved word 'license' when used in @rel (with no @about) generates the proper triple
Tests to ensure that all reserved XHTML words are supported in @rel
Tests to ensure that all reserved XHTML words are supported in @rev
Multiple incomplete triples, RDFa 1.0 version
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.
@resource and @href in completing incomplete triples
Tests role of @resource and @href in completing incomplete triples (including their mutual priorities)
@about overrides @resource in incomplete triples
Tests if @about has a higher priority than @resource in handling incomplete triples
multiple ways of handling incomplete triples (with @rev); RDFa 1.0 version
Tests multiple ways of handling incomplete triples, this time with @rev
multiple ways of handling incomplete triples (with @rel and @rev); RDFa 1.0 version
Tests multiple ways of handling incomplete triples, this time with both @rel and @rev
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
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
Tests the role of @resource and @href in completing incomplete triples (including their mutual priorities), but with an intermediate layer (ie, bNode) added
All reserved XHTML @rel values (with :xxx)
Tests to ensure that all reserved XHTML words are supported in @rel (with :xxx)
Test the interpretation of the CURIE "_:"
Tests to ensure that @src sets a new subject (focuses on @typeof).
Tests to ensure that @src sets a new subject (focuses on @rel/@href).
Non-reserved, un-prefixed CURIE in @property
Tests to ensure that non-reserved, un-prefixed CURIEs, when used in @property, generate triples.
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
Tests the preservation of white space in literals.
Tests rdf:value with blank nodes to give a value with a unit
Tests the behavior of triple generation in the case where the inner @rel is defined, but is blank, which halts chaining.
Checks to make sure that that while we shouldn't garbage collect bnodes no triples are generated.
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 ".
Tests to make sure that @xml:base is ignored in XHTML+RDFa 1.0. The input test document is invalid XHTML.
bNode generated even though no nested @about exists
Tests to make sure that a bNode is generated even though no nested @about exists.
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.
Checks to make sure that the RDFa parser emits a plain literal when the datatype is specified as "".
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.
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).
XML Entities must be supported by RDFa parser
Checks to make sure that XML Entities are treated properly by the RDFa parser.
Checks to make sure that fragment identifiers are stripped from [base] when used to generate triples.
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.
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.
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#".
Checks to make sure RDFa processors resolve the empty CURIE correctly. Note that this is not valid HTML due to recursive elements.
Checks to make sure that resource="[]" does not set the object since RDFa does not allow non-prefixed CURIEs.
Checks to ensure that multiple (white space separated) values in @typeof trigger multiple rdf:type triples.
Ensures that multiple whitespace alternatives in attributes are allowed.
Ensures that mixed-case reserved words generate triples.
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.
Ensures that RDFa processors allow the prefix 'xmlzzz', even though it is a reserved prefix in XML.
@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.
Checks to ensure that when @xml:lang="" is used that any parent element language setting is cleared and a language-less literal is generated.
Support single character prefix in CURIEs
Checks to ensure that the RDFa processor correctly processes single character prefixes when processing CURIEs.
Checks to make sure that a URI may be used as a @property value
Checks to make sure that a URI may be used as @rel and @rev values
Checks to make sure @prefix with a single entry creates a URI mapping
Checks to make sure @prefix with multiple entires creates multiple URI mappings
Checks to make sure @prefix has a higher priority than @xmlns
Checks to make sure @prefix with empty prefix does not create a mapping.
Checks Tests a CURIE with default namespace uses XHTML Vocabulary namespace.
Checks to be sure that prefixes are defined within the element hierarchy.
A new @xmlns definition should override a previous @prefix definition at this element.
Check that @vocab establishes a new default vocabulary when declared on the same element as a subject declaration via @about.
Check that a more deeply nested @vocab attribute overloads a previous @vocab definition.
Check that @vocab definitions on parent elements only affect predicate establishment.
Check that @vocab changes a default term from XHV. Lookup checks default vocabulary before local term mappings.
7.4.3 General Use of Terms in Attributes
Check to ensure a mixed case term matches a case insensitive definition
XMLLiteral must be explicitly specified, otherwise a normal untyped literal is created
Test TERMorCURIEorAbsURI requires an absolute URI
TERMorCURIEorAbsURI requires an absolute URI
datatype XMLLiteral with other embedded RDFa
Checks to ensure that when datatype is the default the parser generates triples for embedded content.
Tests to make sure that @xml:base is used in SVG+RDFa, XML+RDFa.
Tests to ensure @xml:base, XML+RDFa used in non-root elements in SVG
Tests to make sure that @xml:base is used in non-root elements in SVG+RDFa, XML+RDFa.
Tests whether the default RDFa 1.1 context (which contains prefix definitions, among others, to the Semantic Web Standard vocabularies) is properly handled.
Tests Vevent using @typeof (inlc. dtstart, dtend, etc.)
@prefix should be ignored with version set to 1.0
Tests whether the @prefix attribute is ignored if version is explicitly set to 1.0
@prefix should be ignored with version set to 1.0, and @xmlns should prevail
Tests whether the @prefix attribute is ignored and @xmlns is used instead if version is explicitly set to 1.0
@vocab should be ignored with version set to 1.0
Tests whether the @vocab attribute is ignored if version is explicitly set to 1.0
Datatype generation for a literal with XML content, version 1.0
In RDFa 1.0, if a literal contains XML elements, and no explicit datatype is set, the result is XMLLiteral
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
All documents have an implicit @about=""
Character encoding detection with large header
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.
Proper character encoding detection in spite of large headers
@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.
@inlist on @rel with no incomplete triples creates an empty list.
@inlist with @property creates a list having a literal as a single element.
@inlist with @rel and @href creates a list having an IRI as a single element.
@inlist with @rel and @property creates a list with both IRI and Literal elements.
@inlist with @property at different levels of descendence creates single list.
Use of predicate with @inlist and without @inlist creates both list and non-list triples.
Use of @rel and @inlist with decendent IRI elements creates list
@inlist on different elements with same subject
@inlist with same property and subject on different elements creates multiple lists
confusion between multiple implicit collections (resource)
Use of @inlist with implicit subject uses different list
confusion between multiple implicit collections (about)
1.1 alternate for test 0040: @rev - @src/@resource test
Tests if a @src (in img element) does not set the URIref object (with omitted @about) -- from 0042
@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).
@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
@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
Tests to ensure that all defined linked relations expand
rdfagraph='processor' does not generate standard triples
Setting rdfagraph query parameter to 'processor' does not output standard triples
rdfagraph='processor' with a markup error generates rdfa:Error
Setting rdfagraph query parameter to 'processor' generates an rdf:Error
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.
7.6 Processor Status and 7.4.2 General Use of CURIEs in Attributes
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.
7.6 Processor Status and 7.4.3 General Use of Terms in Attributes
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.
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.
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.
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.
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.
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.
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.
hanging @rel creates multiple triples, @typeof permutation; RDFa 1.1 version
Multiple incomplete triples, RDFa 1.1version
multiple ways of handling incomplete triples (with @rev); RDFa 1.1 version
multiple ways of handling incomplete triples (with @rel and @rev); RDFa 1.1 version
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
plain literal with datatype="" and lang preservation
Checks to ensure that when lang="" is used that any parent element language setting is cleared and a language-less literal is generated.
Tests @xml:lang and @lang on the same element with different values; @xml:lang should prevail.
element with @property and no child nodes generates empty plain literal (HTML5 version of 0113)
The underscore character is not allowed as a prefix or in xmlns
Ensures that a prefix cannot start with an underscore character when specified using xmlns or prefix.
All processors must load the RDFa Core Initial Context.
XHTML+RDFa 1.1 Section 3. Additional RDFa Processing Rules
Whitespace must be maintained in an XMLLiteral, too
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
@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
@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
@property without @content or @datatype, typed object set by @href and @typeof
@property without @content or @datatype, typed object set by @resource and @typeof
@property without @content or @datatype, typed object set by @src and @typeof
@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
Use of @property in HEAD without explicit subject
@property appearing on the head element gets the subject from parent, also with @content
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
The @datetime attribute is used when generating output with valid xsd:date.
The @datetime attribute is used when generating output with valid xsd:time.
time element with @datetime an xsd:dateTime
The @datetime attribute is used when generating output with valid xsd:dateTime.
The time element value is used when generating output with valid xsd:date.
The time element value is used when generating output with valid xsd:time.
The time element value is used when generating output with valid xsd:dateTime.
The @content attribute has a higher priority than @datetime.
@datatype used with @datetime overrides default datatype
If @datatype is specified, it must override the automatic datatype.
time element with @datetime an xsd:duration
The @datetime attribute is used when generating output with valid xsd:duration.
time element with @datetime an xsd:gYear
The @datetime attribute is used when generating output with valid xsd:gYear.
time element with @datetime an xsd:gYearMonth
The @datetime attribute is used when generating output with valid xsd:gYearMonth.
time element with @datetime an invalid datatype generates plain literal
If the lexical scope of @datetime does not exactly match a known datatype a plain literal is generated.
time element not matching datatype but with explicit @datatype
A time element with an unmatched value still generates a typed literal without modification given a @datatype attribute.
time element with @datetime an invalid datatype and in scope @lang generates plain literal with language
If no @datatype is specified and the value does not match a xsd:dateTime, xsd:date, or xsd:time pattern, a plain literal must be generated with the associated language of the node, if available.
time element with @datetime an xsd:dateTime with TZ offset
The @datetime attribute is used when generating output with valid xsd:dateTime and a Time Zone offset.
@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.
@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.
When @property, @datatype, @href and @about are present but @rel and @rev are not, @about is used as subject.
@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.
Testing the ':' character usage in a CURIE
RDFa 1.1 CURIE allows the ':' to appear in the reference part of a CURIE.
Ensure initial context is not used for RDFa 1.0
RDFa 1.1 defines an initial context containing prefixes and terms. RDFa 1.0 must not define such prefixes and terms.
@property does set parent object without @typeof
When @property is used with a resource attribute (@href, @resource, ...) it does not set parent object.
RDFa Core 1.1 section 7.5 step 5.1 and step 11
@about=[] with @typeof does not create a new subject
When the @about resolves to nothing, the typed resource should not create a new subject.
@about=[] with @typeof does not create a new object
When the @about resolves to nothing, the typed resource should not create a new subject (chaining).
@resource=[] with @href or @src uses @href or @src (@rel)
When the @resource resolves to nothing, @href or @src should be used (@rel case).
@resource=[] with @href or @src uses @href or @src (@property)
When the @resource resolves to nothing, @href or @src should be used (@property case).
@property with @typeof creates a typed_resource for chaining
Tests that @typof works with terms, CURIES or IRIs.
For HTML+RDFa 1.1, remove term elements of @rel/@rev when on same element as @property
So that HTML link-relations don't accidentally change the meaning of @property, in HTML+RDFa @rel/@rev term elements are removed from processing, and the entire attribute is removed if it is empty.
Tests that embedded RDF/XML is added to the same graph.
http://www.w3.org/TR/SVGTiny12/metadata.html#Introduction says 'an RDF processor should combine them into the same graph'
role attribute with explicit id and term
When role is specified along with an id the appropriate triple is created.
http://www.w3.org/TR/role-attribute/#using-role-in-conjunction-with-rdfa says 'if @id is present, it is used to supply the subject...'
role attribute with explicit base id and term
role attribute with explicit id and IRI as object
role attribute with explicit id and CURIE as object
The datatype permits multiple whitespace separated roles
http://www.w3.org/TR/role-attribute/#s_role_module_attributes says 'The role attribute takes as its value one or more whitespace separated TERMorCURIEorAbsIRIs'
Ensure no triples are generated when @property is empty
If no terms or CURIEs are present in @property, no triple should be generated from it.
In HTML5, when @property is present on an element, a @rel attribute on the same element containing only non-CURIE and non-URI values must be completely ignored.
rdfagraph='processor' redefining an initial context prefix generates rdfa:PrefixRedefinition warning
Setting rdfagraph query parameter to 'processor' generates an rdfa:PrefixRedefinition warning when an initial context prefix is redefined.
Use of many terms from the default vocabulary
When role is specified using default vocabulary terms the expected triples are created.
http://www.w3.org/TR/role-attribute/#A_role says 'The default vocabulary for use is defined in XHTML-VOCAB'
@property and @typeof with incomplete triples
In HTML5, an element with @property and @typeof with incomplete triples sets uses typed resource.
@property and @typeof with incomplete triples (@href variant)
In HTML5, an element with @property and @typeof with incomplete triples sets uses typed resource (@href variant).
@datatype inhibits new @property behavior
Using @datatype on the same element as @property forces the object to be a literal value.
Setting @vocab to empty strings removes default vocabulary
If the value (of @vocab) is empty, then the local default vocabulary must be reset to the Host Language defined default.
Relative IRI's used with @prefix do not resolve against the document base; they are not processed in any way. However, the returned document does have a base, so when queried, it will seem to have the same base as the original document.
Given @property with @href and @src, @href is used as object and sets new subject.
an rdfa:Pattern can add an additional property value.
Multiple subjects can reference the same rdfa:Pattern.
A subject can reference multiple rdfa:Pattern definitions.
Multiple references to rdfa:Pattern creating a resource
An rdfa:Pattern defining a new blank-node object only creates a single node.
An rdfa:Pattern is removed if referenced, and not otherwise
RDFa reference folding rules are repeated to allow prototypes to be chained.
@content overrides the content of the time element.
Tests recursive triple generation for nested literals.
Tests @datatype is used instead of @lang when @datatype is not empty (e.g. annotating a date).
@datatype overrides inherited @lang, with @content
Tests @datatype is used instead of @lang when @datatype is not empty, and @content is used for the value (e.g. annotating a language with human and machine readable text).
Empty @datatype doesn't override inherited @lang, with @content
Tests @lang is used instead of @datatype when @datatype is empty, and @content is used for the value (e.g. annotating a language with human and machine readable text).
@content overrides @datetime (with @datatype specified)
If @content is specified, it must override the value of @datetime (with @datatype specified).
@resource changes the current subject for the nested elements
@resource should change the current subject of the triples generated from nested HTML elements.