- 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