- From: Gregg Kellogg <gregg@kellogg-assoc.com>
- Date: Tue, 15 Nov 2011 14:11:00 -0500
- To: "public-linked-json@w3.org JSON" <public-linked-json@w3.org>
Thanks to Markus for scribing! Minutes are now available here: http://json-ld.org/minutes/2011-11-15/ Full text follows. Audio will be uploaded later. JSON-LD Community Group Telecon Minutes for 2011-11-15 Agenda: http://lists.w3.org/Archives/Public/public-linked-json/2011Nov/0022.html Chair: Gregg Kellogg Scribe: Markus Lanthaler Present: Gregg Kellogg, Markus Lanthaler, Niklas Lindström, David I. Lehn Markus Lanthaler is scribing. Topic: ISSUE-35: JSON Vocabulary / Data Round-tripping Gregg Kellogg: https://github.com/json-ld/json-ld.org/issues/35 Markus Lanthaler: http://www.w3.org/TR/turtle/#abbrev ... Decimal floating point double/fixed precision numbers may be written directly and correspond to the XML Schema Datatype xsd:double in both syntax and datatype IRI. ... Decimal floating point arbitrary precision numbers may be written directly and correspond to the XML Schema Datatype xsd:decimal. in both syntax and datatype IRI. Gregg Kellogg: I think there were some JavaScript issues motivating this conversation Niklas Lindström: If you wanna keep precision you should explicitely coerce to type Niklas Lindström: "age": "xsd:double" Niklas Lindström: "age": 33 Gregg Kellogg: 33.0e1 Niklas Lindström: "33.0"^^xsd:double Gregg Kellogg: 3.3e1 Gregg Kellogg: {"foo": "3."} Niklas Lindström: "3"^^xsd:integer Gregg Kellogg: The problem is JSON could be ambigous Gregg Kellogg: Depends on parser Niklas Lindström: "foo": {"@literal": "3.", "@datatype": "xsd:decimal"} Niklas Lindström: :foo 3 Niklas Lindström: If you would like have a explicit RDF output you would have to use the above form Niklas Lindström: foo: 3 Niklas Lindström: foo: 3.0 According to http://jsonlint.com/ that's translated to foo: 3 Markus Lanthaler: I think if we would make JSON-LD work as Turtle in automatic typing I think it would solve our problems http://json-ld.org/spec/latest/json-ld-syntax/#automatic-typing Markus Lanthaler: We currently automatically type to integer, double or boolean ... Why don't we distinguish between double and decimal Niklas Lindström: denormalized JSON | normalized JSON or Turtle short form | explicitly typed Turtle Niklas Lindström: 3.3e10 | 3.3e1 | "3.3e1"^^xsd:double Niklas Lindström: 1.10 | 1.1 | "1.1"^^xsd:decimal Niklas Lindström: 1.0 | 1 | "1"^^xsd:integer Niklas Lindström: 3.30e1 | 3.3e1 | "3.3e1"^^xsd:double Markus Lanthaler: 3.3e10 | 3.3e1 | "3.3e1"^^xsd:double ... 3.31e1 | 3.31e1 | "3.31e1"^^xsd:double Gregg Kellogg: 3.3e20 Gregg Kellogg: 3.3e-20 David I. Lehn: i'm not sure what we're discussing here! the differences in json parsers and serializers are going to cause pain anyway you look at it unless you use explicit typing. David I. Lehn: yes, we're looking into if there is any "baseline" in JSON or if we have to specify it all [scribe assist by Niklas Lindström] PROPOSAL: no change to spec Niklas Lindström: +1 Gregg Kellogg: +1 David I. Lehn: +1 Markus Lanthaler: +1 RESOLUTION: no change to spec Topic: ISSUE-40: Merge @coerce with @context https://github.com/json-ld/json-ld.org/issues/40 Gregg Kellogg: https://github.com/json-ld/json-ld.org/issues/40 Gregg Kellogg: We had agreed to change @coerce Gregg Kellogg: "@context": { Gregg Kellogg: "title": "http://purl.org/dc/terms/title", Gregg Kellogg: "description": "http://purl.org/dc/terms/description", Gregg Kellogg: "identifier": {"http://purl.org/dc/terms/identifier": "xsd:string"}, Gregg Kellogg: "publisher": {"http://purl.org/dc/terms/publisher": "@iri"}, Gregg Kellogg: "created": {"http://purl.org/dc/terms/created": "xsd:dateTime"}, Gregg Kellogg: "authorList": {"http://purl.org/ontology/bibo/authorList": ["@list", "@iri"]} Gregg Kellogg: } Gregg Kellogg: The key is the IRI and the value is the type Gregg Kellogg: "authorList": {"http://purl.org/ontology/bibo/authorList": { "@list": "@iri" }} Gregg Kellogg: "created": { "@iri" : "http://purl.org/dc/terms/created", "@coerce": "xsd:dateTime"} Gregg Kellogg: Alternative: value is object, this says @list entries are of type @iri Niklas Lindström: Really prefer first form Niklas Lindström: https://raw.github.com/rinfo/rdl/1c8c6d2/packages/java/rinfo-service/src/main/resources/json-ld/context.json Niklas Lindström: https://raw.github.com/gist/1340408/context-vocab-array-combined-iri-coerce.json Gregg Kellogg: @vocab would have to specified prior to be used in the context (in a outer context) Gregg Kellogg: Point is when is the active context modified. I think it should be modified before the currently processed context has been fully processed Niklas Lindström: Regardless if we merge coerce and prefix definitions or not it can't be processed in one pass Niklas Lindström: We should discuss: 1) if we merge @coerce into term def. 2) if @list is in array orf object form PROPOSAL: move @coerce into term definitions Niklas Lindström: +1 Gregg Kellogg: +1 David I. Lehn: (i'm afraid i haven't put enough thought into this to vote) Markus Lanthaler: +1 RESOLUTION: move @coerce into term definitions Niklas Lindström: 3) using @vocab to resolve right-hand value expansion Gregg Kellogg: @vocab would have to come before it's used for stream-based parsers Niklas Lindström: that's also applies to expansion in coerce Niklas Lindström: I found it useful to have many contexts.. especially for using groups of terms Niklas Lindström: also useful for keeping memory usage low Gregg Kellogg: Looking at your list of contexts in the example Gregg Kellogg: All the stuff in the first context like terms and @vocab can be used in the second context Niklas Lindström: I implemented it so that first @vocab is taken to expand values, then term definitions are parsed Gregg Kellogg: That would mean processing a context would be a multi-pass operation Niklas Lindström: https://github.com/rinfo/rdl/blob/develop/packages/java/rinfo-base/src/main/groovy/se/lagrummet/rinfo/base/rdf/jsonld/JSONLDContext.groovy PROPOSAL: parsing @context is multi-pass. first to get term mappings, and then to resolve @datatypes Gregg Kellogg: +1 Niklas Lindström: +1 David I. Lehn: +1 Markus Lanthaler: +1 Niklas Lindström: { "foaf": "foaf:foo} { "a" : "b:c", "b" : "a:c" } RESOLUTION: parsing @context is multi-pass. first to get term mappings, and then to resolve @datatypes [rescinded later -- gk] ACTION: discuss that prefixes can't be used for expanding uris within the same context, unless they're part of @datatype portion. PROPOSAL: @vocab is resolved prior to term URI expansion Niklas Lindström: +1 Gregg Kellogg: +1 Markus Lanthaler: -1 David I. Lehn: +0 Niklas Lindström: @context: [{foaf: …, dc: …}, {"title: "dc:title", "homepage": "foaf:homepage"}] ACTION: define prefixes required for expansion in context definitions prior to use. Gregg Kellogg: If we are doing it that way we could also go back to single-pass processing (for datatype expansion) Gregg Kellogg: this removes the need to do 2-pass @context processing. ACTION: rescind previous resolution: parsing @context is multi-pass. first to get term mappings, and then to resolve @datatypes Gregg Kellogg: "created": { "@iri" : "http://purl.org/dc/terms/created", "@coerce": "xsd:dateTime"} "created": { "@iri" : "http://purl.org/dc/terms/created", "@type": "xsd:dateTime"} Gregg Kellogg: "created": {"@iri": "dc:created", "@datatype": "xsd:dateTime"} "created": [ "http://purl.org/dc/terms/created", { "@type": "xsd:dateTime"} ] "created": [ "http://purl.org/dc/terms/created", { "@coerce": "xsd:dateTime"} ] Gregg Kellogg: "created": {"dc:created": "xsd:dateTime"} "created": {"http://purl.org/dc/terms/created": "http://www.w3.org/2001/XMLSchema#dateTime"}, Markus Lanthaler: Could we push this back to the mailing list Niklas Lindström: "created": {"@iri": "dc:created", "@datatype": "xsd:dateTime", "@array": "@list"} Niklas Lindström: "created": {"@iri": "dc:created", "@datatype": "xsd:dateTime", "@list": true} Niklas Lindström: "created": {"@iri": "dc:created", "@datatype": "xsd:dateTime", "@rev": true, "@set": true} Gregg
Received on Tuesday, 15 November 2011 19:12:20 UTC