- From: David I. Lehn <dil@lehn.org>
- Date: Tue, 20 Dec 2011 14:41:16 -0500
- To: Linked JSON <public-linked-json@w3.org>
The minutes for today's call are now available here: http://json-ld.org/minutes/2011-12-20/ Full text of the discussion follows: JSON-LD Community Group Telecon Minutes for 2011-12-20 Agenda: http://lists.w3.org/Archives/Public/public-linked-json/2011Dec/0043.html Chair: Manu Sporny Scribe: David I. Lehn Present: David I. Lehn, Manu Sporny, Niklas Lindström, Markus Lanthaler David I. Lehn is scribing. Manu Sporny: add to agenda discussion of recent updates Manu Sporny: add case sensitivity issue Topic: Updates to JSON-LD implementations Manu Sporny: http://lists.w3.org/Archives/Public/public-linked-json/2011Dec/0055.html Manu Sporny: http://json-ld.org/playground/ Manu Sporny: Dave Longley updated all the implementations based on recent decisions. playground updated. Manu Sporny: has context modifications for @id, @type, coerce rules Manu Sporny: dave said due to less keywords need to do more work to figure out what you are dealing with. but it worked out in a deterministic way. Niklas Lindström: removing vocob had some issues. added 30% size to context. Niklas Lindström: vocab removed, needed to generate context from schema with many terms. added heuristics for conversion. used experimental features to get data to be datatype coerced or multiple object properties. Manu Sporny: getting rid of vocab didn't have a negative effect? Niklas Lindström: Yes. Might want to revisit introducing vocab in the future. Might be able to remove @id from terms. Ivan did JSON-LD output from RDFa 1.1 extractor. Everything there could be represented with this changes apart from vocab. Topic: Case sensitivity in JSON-LD Markus Lanthaler: https://github.com/json-ld/json-ld.org/issues/45 Markus Lanthaler: issue is various keywords (type, id, etc) as case sensitive or not. feedback on mailing list was for case sensitive. everyone seems to agree now. PROPOSAL: JSON-LD is case-sensitive. David I. Lehn: +1 Manu Sporny: +1 Niklas Lindström: +1 Markus Lanthaler: +1 RESOLUTION: JSON-LD is case-sensitive. Topic: ISSUE-16: Linking Instance Documents and Context Documents Manu Sporny: https://github.com/json-ld/json-ld.org/issues/16 Markus Lanthaler: http has header parms for link headers and mime type params. could use this for data or context documents. Markus Lanthaler: currently not supported, not clear if it is needed Markus Lanthaler: may want to link to context document for plain json documents Markus Lanthaler: issue with breaking json clients due to mime type changes to ld+json Manu Sporny: against out-of-band data. helpful, but may not use it. Manu Sporny: more comfortable with link header than changing mime type with content type Manu Sporny: not sure if content type is required. may want to make that a SHOULD vs MUST to deal with client handling issue. Manu Sporny: where should this processing happen? should it be at application layer? application can look at header and perform context retrieval and insertion into document. Markus Lanthaler: should look at traditional json documents and json-ld docs Markus Lanthaler: might not know how to handle docs without mimetype hints Manu Sporny: think should leave at application level more likely to have access to http headers Markus Lanthaler: shouldn't require json-ld processors to look at headers. Manu Sporny: another issue is if rel="describedby" is the proper value Markus Lanthaler: http://www.iana.org/assignments/link-relations/link-relations.xml Markus Lanthaler: describedby: "Refers to a resource providing information about the link's context." Niklas Lindström: could be put in a "publishing json-ld" section. give optional mechanism and advice to users. Niklas Lindström: still want to use json mime type but may want to add semantic context via http headers Manu Sporny: described by looks like proper relation PROPOSAL: Support the use of the HTTP "Link" header to associate a JSON-LD context with JSON documents. Manu Sporny: +1 Niklas Lindström: +1 Markus Lanthaler: +1 David I. Lehn: +1 RESOLUTION: Support the use of the HTTP "Link" header to associate a JSON-LD context with JSON documents. David I. Lehn: does describedby conflict with other uses? Markus Lanthaler: Link: <http://www.example.com/context.jsonld>; rel="describedby"; type="application/ld+json"; Markus Lanthaler: due to mimetype uses it should be ok Markus Lanthaler: no PROPOSAL: The relation name used in a Link header to associate a JSON-LD context with a JSON document will be "describedby". Niklas Lindström: +1 Manu Sporny: +1 Markus Lanthaler: +1 David I. Lehn: +1 RESOLUTION: The relation name used in a Link header to associate a JSON-LD context with a JSON document will be "describedby". Niklas Lindström: .. regarding describedby and json schema, look at section for of: http://tools.ietf.org/html/draft-zyp-json-schema-03 Niklas Lindström: .. they recommend one of two approaches: "A MIME type parameter named "profile" or a relation of "describedby" (which could be defined by a Link header)" David I. Lehn: what happens if you have context in document and a header link? PROPOSAL: A JSON-LD document MUST NOT be published with a Link header using the "describedby" publishing pattern. PROPOSAL: A JSON-LD document SHOULD NOT be published with a Link header using the "describedby" publishing pattern. PROPOSAL: A JSON-LD document MUST have all context information required for processing within the body of the document. Manu Sporny: +1 Markus Lanthaler: +1 Niklas Lindström: +1 David I. Lehn: +1 RESOLUTION: A JSON-LD document MUST have all context information required for processing within the body of the document. David I. Lehn: how to resolve multiple contexts issue? Manu Sporny: if json-ld then use context in doc, ignore header. Manu Sporny: if json, then use context in doc if found else use header info Topic: ISSUE-41: IRI expansion within @context Manu Sporny: https://github.com/json-ld/json-ld.org/issues/41 Markus Lanthaler: Greggs email to this issue: http://lists.w3.org/Archives/Public/public-linked-json/2011Dec/0049.html Manu Sporny: previously didn't want a multi-pass algorithm. moving towards multi-pass Manu Sporny: will allow definition of, say, xsd in the context to describe other keys in the same context Manu Sporny: latest implementations support prefixes used everywhere. issue making sure not to define http Markus Lanthaler: looks supported already. may have issues with recursion. PROPOSAL: IRI expansion should work in @context for prefixes used on the right-hand side of prefix declarations, including @type and @id. Markus Lanthaler: playground also supports terms on the right-hand side: http://bit.ly/suonUG Markus Lanthaler: look at dateTime Niklas Lindström: .. we should support: {"title": "dc:title", "dc": "http://purl.org/dc/terms/"} but not: {"title": "dc:title", "dc": "base:terms/", "base": "http://purl.org/dc/"} ... discusion on proposal .. multi pass to handle terms and prefixes Niklas Lindström: this example could require recusrive algorithm Manu Sporny: current js code in playground only does one level, not recursive Markus Lanthaler: dirty PHP code supporting the recursive expansion: https://github.com/lanthaler/JSON-LD-experiments/blob/master/context-coerce-merge.php Niklas Lindström: .. as long as I can use: {"created": {"@iri": "dc:created", "@type": "xsd:date"}, "dc": "http://purl.org/dc/terms/", "xsd:" "http://...#"} I'm happy. Manu Sporny: may be denial of service attack due to recursion can be solved with limits back and forth discussion on recursion issues and resolving prefixes. recursive algorithm may be more flexible and easier to teach. issues with complexity and may require cycle limits. PROPOSAL: IRI expansion should work in @context for prefixes used on the right-hand side of prefix declarations, including @type and @id. The IRI expansion algorithm SHOULD be recursive, in that it continues to execute as long as one prefix is expanded in the current cycle. If a cycle is detected during resolution, then an exception MUST be thrown. Niklas Lindström: +1 Manu Sporny: +1 David I. Lehn: +1 Markus Lanthaler: +1 David I. Lehn: (i'd like more input from dave and/or gregg on this) Markus Lanthaler: In JSON-LD, a context is used to map terms, i.e., keys and values in an JSON document, to IRIs. A term is a short word that may be expanded to an IRI. Markus Lanthaler: ... Niklas Lindström: … {"created": {"@iri": "dc:created", "@type": "date"}, "dc": "http://purl.org/dc/terms/", "date": "xsd:date", "xsd:" "http://...#"} ? s/@iri/@id/! :) RESOLUTION: IRI expansion should work in @context for prefixes and terms used on the right-hand side of prefix/term declarations, including @type and @id. The IRI expansion algorithm SHOULD be recursive, in that it continues to execute as long as one prefix/term is expanded in the current cycle. If a cycle is detected during resolution, then an exception MUST be thrown. Markus Lanthaler: +1 Niklas Lindström: +1 Topic: ISSUE-43: Use of IRIs and CURIEs as @context keys Manu Sporny: https://github.com/json-ld/json-ld.org/issues/43 PROPOSAL: Allow IRI expansion to operate in @context for prefixes on the left-hand side of prefix declarations. The IRI expansion mechanism SHOULD be recursive, in that it continues to execute as long as one prefix/term is expanded in the current cycle. If a cycle is detected during resolution, then an exception MUST be thrown. Manu Sporny: +1 Niklas Lindström: +1 Niklas Lindström: … {"foaf:birthday": {"@coerce": "xsd:date"}} sort of becomes {"foaf:birthday": {@id: "foaf:birthday", @coerce": "xsd:date"}} Niklas Lindström: … (provided that foaf is already defined) David I. Lehn: (gregg had a comment on this issue too) discussion on tricky details of the issue. postpone ISSUE-43 to mailing list and later discussion next telecon Jan 10, 2012 -dave
Received on Tuesday, 20 December 2011 19:41:54 UTC