digitalbazaar/pyld

blank node prefixes are not handled correctly

pchampin opened this issue · 0 comments

Consider the following:

{
  "@context": {
    "t": "_:b"
  },
  "@type": "t:x"
}

It expands to

[
  {
    "@type": [
      "t:x"
    ]
  }
]

while it should expand to

[
  {
    "@type": [
      "_:bx"
    ]
  }
]

Indeed, step 14.2.5 of Create Term Definition clearly states:

If term contains neither a colon (:) nor a slash (/), simple term is true, and if the IRI mapping of definition is either an IRI ending with a gen-delim character, or a blank node identifier, set the prefix flag in definition to true.

(emphasis is mine)

Therefore, step 6.4 of IRI Expansion should apply.