-
Notifications
You must be signed in to change notification settings - Fork 54
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Require exactly one type for all resources #1185
Comments
👍 |
Urgh, just realised that the same applies to If you have a Image service, with an extension, you would need:
We can minimize this in JSON-LD 1.1 with the use of type and property specific contexts, but the above is still a problem. |
Community Call on 7/5: Make the requirement to type-check the exception rather than the rule. |
Reflected the issue to JSON-LD for W3C discussion: json-ld/json-ld.org#512 |
Discussion at Getty AV: 👍 |
Further discussion: Need to distinguish between URIs and Resources (e.g. profile URIs don't need types, but licenses do) |
👍 agreed at Toronto WG meeting |
How do you intend to handle structures like this with only one type? "resource":{
"@id": "http://example.org/iiif/book1/res/music.mp3",
"@type": "dctypes:Sound",
"format": "audio/mpeg"
} http://example.org/iiif/book1/res/music.mp3 has at least two types, an ref: #1280 |
Done: http://prezi3.iiif.io/api/presentation/3.0/#type (Noting small typo, missing a space) |
@christopher-johnson Indeed implicitly. One explicit type in the serialization. |
Agree done but I think we should fix typo before closing... PR #1294 |
#1131 suggests that all relationships that can ever have more than one value must always be an array.
This is possible in the JSON-LD context by using
@container:@set
. It will be possible for language tagged strings in languagemaps in JSON-LD 1.1.The current definition of type (
@type
,rdf:type
) is that all resources must have at least one type, not exactly one type. Thus, by #1131, it should always be an array.However, as per #1106, it is not possible to re-define the behavior of
@type
, you can only add aliases to it, liketype
. Meaning that I believe it is invalid to assert@container:@set
for@type
... and we would be inconsistent. The definition of@type
is in this section of JSON-LD: https://www.w3.org/TR/json-ld/#node-objectsGiven that we have not come across any use cases for multiple types in 5 years, I propose that the solution is to require exactly one type for every resource.
The text was updated successfully, but these errors were encountered: