diff --git a/common/terms.html b/common/terms.html index 1a12262..ff660e0 100644 --- a/common/terms.html +++ b/common/terms.html @@ -113,8 +113,9 @@ consists of a string and a non-empty language tag as defined by [[BCP47]]. The language tag MUST be well-formed - according to section 2.2.9 Classes of Conformance of [[BCP47]], - and is normalized to lowercase. + according to section 2.2.9 Classes of Conformance of [[BCP47]]. + Processors MAY normalize language tags to lowercase. +
Linked Data
A set of documents, each containing a representation of a linked data graph or dataset.
RDF graph
diff --git a/index.html b/index.html index 0caa542..a604845 100644 --- a/index.html +++ b/index.html @@ -1747,7 +1747,8 @@

Frame Matching Algorithm

[value object] (value pattern)
A value object, used to match a specific value. Within a value object, the values for @value, @type, and @language - may also be an array of one or more string values.
+ may also be an array of one or more string values, + values of `@language` are compared without regard to case..

The frame matching algorithm takes the framing state (state), @@ -1827,8 +1828,10 @@

Value Pattern Matching Algorithm

Value matches pattern using the following algorithm:

    -
  1. Let v1, t1, and l1 be the values of @value, @type, and @language in value, or null if none exists.
  2. -
  3. Let v2, t2, and l2 be the values of @value, @type, and @language in value pattern, or null if none exists.
  4. +
  5. Let v1, t1, and l1 be the values of @value, @type, and @language in value, or null if none exists, + where values of `@language` are normalized to lower case..
  6. +
  7. Let v2, t2, and l2 be the values of @value, @type, and @language in value pattern, or null if none exists, + where string values of `@language` are normalized to lower case..
  8. Value matches pattern when pattern is wildcard, or:
    1. v1 is in v2, or v1 is not null and v2 is wildcard, and
    2. diff --git a/tests/README.md b/tests/README.md index 7cf58a7..ce057b0 100644 --- a/tests/README.md +++ b/tests/README.md @@ -28,6 +28,7 @@ JSON-LD Object comparison compares JSON objects, arrays, and values recursively * JSON objects are compared member by member without regard to the ordering of members within the object. Each member must have a corresponding member in the object being compared to. Values are compared recursively. * JSON arrays are generally compared without regard to order (the lone exception being if the referencing key is `@list`). Each item within the array must be equivalent to an item in the array being compared to by using the comparison algorithm recursively. For values of `@list`, the order of these items is significant. * JSON values are compared using strict equality. +* Values of `@language`, and other places where language tags may be used are specified in lowercase in the test results. Implementations should either normalize language tags for testing purposes, or compare language tags in a case-independent way. Note that some tests require re-expansion and comparison, as list values may exist as values of properties that have `@container: @list` and the comparison algorithm will not consider ordering significant. diff --git a/tests/frame-manifest.html b/tests/frame-manifest.html index bfd4ca7..6cb0a1b 100644 --- a/tests/frame-manifest.html +++ b/tests/frame-manifest.html @@ -49,9 +49,10 @@

      JSON-LD Object comparison

      JSON-LD Object comparison compares JSON objects, arrays, and values recursively for equality.

        -
      • JSON objects are compared member by member without regard to the ordering of members within the object. Each member must have a corresponding member in the object being compared to. Values are compared recursively.
      • +
      • JSON objects are compared entry by entry without regard to the ordering of entriess within the object. Each entry must have a corresponding entry in the object being compared to. Values are compared recursively.
      • JSON arrays are generally compared without regard to order (the lone exception being if the referencing key is @list). Each item within the array must be equivalent to an item in the array being compared to by using the comparison algorithm recursively. For values of @list, the order of these items is significant.
      • JSON values are compared using strict equality.
      • +
      • Values of @language, and other places where language tags may be used are specified in lowercase in the test results. Implementations should either normalize language tags for testing purposes, or compare language tags in a case-independent way.

      Note that some tests require re-expansion and comparison, as list values may exist as values of properties that have @container: @list and the comparison algorithm will not consider ordering significant.

      diff --git a/tests/manifest.html b/tests/manifest.html index 0cb2441..5295aeb 100644 --- a/tests/manifest.html +++ b/tests/manifest.html @@ -49,9 +49,10 @@

      JSON-LD Object comparison

      JSON-LD Object comparison compares JSON objects, arrays, and values recursively for equality.

        -
      • JSON objects are compared member by member without regard to the ordering of members within the object. Each member must have a corresponding member in the object being compared to. Values are compared recursively.
      • +
      • JSON objects are compared entry by entry without regard to the ordering of entriess within the object. Each entry must have a corresponding entry in the object being compared to. Values are compared recursively.
      • JSON arrays are generally compared without regard to order (the lone exception being if the referencing key is @list). Each item within the array must be equivalent to an item in the array being compared to by using the comparison algorithm recursively. For values of @list, the order of these items is significant.
      • JSON values are compared using strict equality.
      • +
      • Values of @language, and other places where language tags may be used are specified in lowercase in the test results. Implementations should either normalize language tags for testing purposes, or compare language tags in a case-independent way.

      Note that some tests require re-expansion and comparison, as list values may exist as values of properties that have @container: @list and the comparison algorithm will not consider ordering significant.

      diff --git a/tests/template.haml b/tests/template.haml index ebe68fa..0ff4706 100644 --- a/tests/template.haml +++ b/tests/template.haml @@ -50,9 +50,10 @@ JSON-LD Object comparison compares JSON objects, arrays, and values recursively for equality. - * JSON objects are compared member by member without regard to the ordering of members within the object. Each member must have a corresponding member in the object being compared to. Values are compared recursively. + * JSON objects are compared entry by entry without regard to the ordering of entriess within the object. Each entry must have a corresponding entry in the object being compared to. Values are compared recursively. * JSON arrays are generally compared without regard to order (the lone exception being if the referencing key is `@list`). Each item within the array must be equivalent to an item in the array being compared to by using the comparison algorithm recursively. For values of `@list`, the order of these items is significant. * JSON values are compared using strict equality. + * Values of `@language`, and other places where language tags may be used are specified in lowercase in the test results. Implementations should either normalize language tags for testing purposes, or compare language tags in a case-independent way. Note that some tests require re-expansion and comparison, as list values may exist as values of properties that have `@container: @list` and the comparison algorithm will not consider ordering significant.