Comments (4)
This seems like the same situation as when a JSON-LD file typically used as a context document also contains its own data. It's a valuable feature, but does lead to some confusion of intent.
Maybe we need a pros/cons list for the value/risk of using a single JSON-LD document as a context, a frame, and a data document?
from json-ld-framing.
The expansion algorithm will throw an error unless it is invoked with a framing option.
There are some other things that are legal for frames that don’t involve keywords that we should describe as well, but the would all be either in frame objects, or immediate values of frame objects.
from json-ld-framing.
This issue was discussed in a meeting.
RESOLVED: Use ld+json with a profile for media type of frames, import frame keywords to syntax with reference out. {: #resolution7 .resolution}
RESOLVED: the use of the media type for a frame is RECOMMENDED not a MUST {: #resolution8 .resolution}
View the transcript
Define media profile for framesAdam Soroka: #21
Adam Soroka: #28
Gregg Kellogg: the framing document that did not become a rec has a mimetype in it
… but that was a bad idea– we have profiles!
… we have a profile param that identifies a context
… we don’t require that the context be published with that profile
… should we require that of frames?
… you might want to do that because frames use different keywords
Rob Sanderson: if you push a frame document into a regular JSON-LD proc, it should beef
Gregg Kellogg: [describes framing in general]
Rob Sanderson: ref: https://www.w3.org/TR/json-ld11-framing/ ;)
Ivan Herman: gkellogg: should this be a profile or a separate mediatype?
Ivan Herman: a mediatype points to a specific document that describes that mediatype. those docs are different in this case, so the mediatypes should be different
Gregg Kellogg: using the parameter would allow us to negotiate for a context
David Newbury: thinking about the IIIF use case, being able to request docs as either a context or a frame
Gregg Kellogg: if you reference a context but it comes back as a frame, you could change you inx model to account for that
David Newbury: IIIF use a “context” as we use a “profile”, e.g. to include a version
… but that seems okay because we could do it either way
Gregg Kellogg: we describe the behavior of downloading a context and we would need to account for this there.
Ivan Herman: if you don’t register a new mediatype for frame, we will have to change our docs, so which one requires more work?
Rob Sanderson: if we say separate mediatype, we need tests for that
… frames out there in the wild would now fail
Rob Sanderson: if that is decisive, we should rec that a profile SHOULD be used
… to avoid that
Proposed resolution: Use ld+json with a profile for media type of frames, import frame keywords to syntax with reference out. (Rob Sanderson)
Rob Sanderson: +1
Ivan Herman: +1
Harold Solbrig: +1
Gregg Kellogg: +1
Simon Steyskal: +1
Adam Soroka: +1
David I. Lehn: +1
Jeff Mixter: +1
David Newbury: +1
Benjamin Young: +1
Resolution #7: Use ld+json with a profile for media type of frames, import frame keywords to syntax with reference out. {: #resolution7 .resolution}
Proposed resolution: the use of the media type for a frame is RECOMMENDED not a MUST (Rob Sanderson)
Rob Sanderson: +1
Ivan Herman: +1
Adam Soroka: +1
Gregg Kellogg: +1
Simon Steyskal: +1
David Newbury: +1
David I. Lehn: +1
Harold Solbrig: +1
Resolution #8: the use of the media type for a frame is RECOMMENDED not a MUST {: #resolution8 .resolution}
Jeff Mixter: +1
from json-ld-framing.
Hm. I am a bit bothered, but maybe for no good reasons.
The frame objects allow for, say, something like "@id":{}
, right? But that means I can put this into any context whatsover: what does it mean?
In general, there is nothing that distinguish a frame object from any other constituents of a context, so is it absolutely clear what the API does if it encounters such statements as part of normal processing like expansion? If there is already (I presume ignoring) that should be made much more clearly in the document.
from json-ld-framing.
Related Issues (20)
- Should tests for `@embed`: `@last` be restricted to JSON-LD 1.0? HOT 4
- Framing and Arrays HOT 4
- Ex. 41 Playground doesn't contain `@omitGraph: false` + playground does not apply `@omitGraph` HOT 3
- Pattern Matching HOT 4
- Can frames produce id maps? HOT 2
- Possible typos HOT 2
- Use a property several time when framing HOT 1
- validation errors/warnings HOT 1
- Language map with global context HOT 1
- IANA profile should be `frame` not `framed` HOT 5
- how to use the `frame` and `framed` profiles? HOT 12
- Fix invalid WebIDL HOT 1
- Change "Lexicographical Order" (and related) to "Unicode code point order". HOT 1
- Possible bug with `@json` being treated as invalid `type` in frame HOT 24
- How to use specific value inside a frame to filter out credentials those do not contain that value
- Framing on nested graphs
- Add test for `@graph` keyword aliasing
- more JSON-LD framed examples for performance testing
- Type Coercion / Node Conversion HOT 3
- Need tests for: Framing matches on specified value
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from json-ld-framing.