Skip to content

Clarification of @set and expansion #87

Closed
@lanthaler

Description

@lanthaler

Hi all,

I went through the resolved issues and tried to update the specs
accordingly. I wasn't 100% sure what to do with @set so I thought it might
be better to check if have consensus on this first here.

So, let me just ask a couple of questions based on a few examples. For
instance, is the following allowed?

{
  "@context": {
    ..
  },
  "test": { "@set": [ ... ] }
}

I would say yes to keep the "symmetry" with @list.

What about

{
  "@context": {
    ..
  },
  "test": { 
    "@value": [ ... ],
    "@container": "@set"
  }
}

Is it even allowed to have an arrays as the value of @value?

The other thing I wasn't really sure about was how expansion now works in
detail. E.g., what would be the expanded version of the following document?

{
  "@id": "id1",
  "@type": "t1",
  "term1": "v1",
  "term2": { "@value": "v2", "@type": "t2" },
  "term3": { "@value": "v3", "@language": "en" },
  "term4": 4,
  "term5": [ 50, 51 ],
}

Would it be (plus IRI expansion)

{
  "@id": "id1",
  "@type": [ "t1" ],
  "term1": [ "v1" ],
  "term2": [ { "@value": "v2", "@type": "t2" } ]
  "term3": [ { "@value": "v3", "@language": "en" } ]
  "term4": [ { "@value": "4", "@type": "xsd:integer" } ]
  "term5": [
    { "@value": "50", "@type": "xsd:integer" }
    { "@value": "51", "@type": "xsd:integer" }
  ]
}

Same question as above, can the value of @value be an array?
Shouldn't strings also be converted to the expanded form (term1 and term2)?
Looking at the result above, I wouldn't be opposed to keep numbers as
numbers in the expanded form instead (term4 & term5) and leave that
automatic typing to normalization.

Originally raised on the mailing list

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions