- From: Manu Sporny <msporny@digitalbazaar.com>
- Date: Tue, 27 Mar 2012 23:27:02 -0400
- To: Linked JSON <public-linked-json@w3.org>
Thanks to Markus Lanthaler for scribing! The minutes from today's call
are now available here:
http://json-ld.org/minutes/2012-03-27/
Full text of the discussion follows, as well as a link to the complete
audio transcript:
--------------------
JSON-LD Community Group Telecon Minutes for 2012-03-27
Agenda:
http://lists.w3.org/Archives/Public/public-linked-json/2012Mar/0025.html
Topics:
1. ISSUE-81: Data round tripping issues
2. ISSUE-87: Clarification of @set and expansion
3. Explicit term for RDF type?
4. ISSUE-88: Reserved keywords
Resolutions:
1. Terms MAY be defined as any valid JSON string. Terms
starting with an '@' character SHOULD NOT be used as they may
createforward-compatibilit y issues.
Chair:
Manu Sporny
Scribe:
Markus Lanthaler
Present:
Markus Lanthaler, Manu Sporny, Gregg Kellogg, Niklas Lindström,
David I. Lehn
Audio:
http://json-ld.org/minutes/2012-03-27/audio.ogg
Markus Lanthaler is scribing.
Manu Sporny: Any updates or changes to agenda?
Markus Lanthaler: We may want to discuss this:
https://github.com/json-ld/json-ld.org/issues/87
Markus Lanthaler: discuss ISSUE-87 again - clarify compaction.
[scribe assist by Manu Sporny]
Gregg Kellogg: We also have an issue on xsd:double... anything
coerced to double will use %1.16 form - probably meant any
numeric type. [scribe assist by Manu Sporny]
Markus Lanthaler: That's this:
https://github.com/json-ld/json-ld.org/issues/81
Topic: ISSUE-81: Data round tripping issues
Markus Lanthaler: What's the result of expansion at the
top-level?
Manu Sporny: https://github.com/json-ld/json-ld.org/issues/81
Gregg Kellogg: Dave Lehn specified it in the tests as array
Markus Lanthaler: OK, I think we didn't specifiy it anywhere..
fine with that
Discussion about data round-tripping
Gregg Kellogg: issue with 1.16E in Ruby:
Gregg Kellogg: "%1.16E" % 5.2 => "5.2000000000000002E+00"
Gregg Kellogg: "%1.16E" % 5.3 => "5.2999999999999998E+00"
Markus Lanthaler: http://www.w3.org/TR/xmlschema-2/#double is a
64-bit number, you lose precision after that
Gregg Kellogg: the resolution for this is to convert all native
doubles to strings
Gregg Kellogg: that means everything that is coerced will always
be converted to a string
Markus Lanthaler: when should that happen? expansion?
normalization?
Gregg Kellogg: in expansion and normalization
That was last week's resolution: RESOLVED: Unless there are type
coercion rules in the @context that apply, native JSON numbers
and strings are not modified in compacted or expanded form.
Manu Sporny: we want to be consistent in how we handle
xsd:integer and xsd:double
Manu Sporny: we need to specify what happes if you have a native
number and coercion
Manu Sporny: and the other thing is what should happen to
strings such as "foo" that have coercions
Gregg Kellogg: the other thing we could do is to revert that
change and make coercion just apply to strings, not other native
types such as JSON numbers or booleans
Manu Sporny: I'm worried that this would make the algorithms
quite complex
Gregg Kellogg: I don't think it makes sense do apply, e.g.,
xsd:date to a boolean.. similar xsd:double doesn't make sense for
booleans
Niklas Lindström: we have two things to consider: 1) if someone
expresses something as a string with a datatype they would like
to preserve that and 2) convenience.. developers should be able
to work with native types where possible
Niklas Lindström: if someone has given a number in a native type
they gave up on the lexical representation but you can control
the datatype and will know the lexical repr. by specifying the
coercion
Markus Lanthaler: Wouldn't it make sense to specify that numbers
can be coerced to xsd:integer or xsd:double, and round-tripping
is specified in a way that these numbers are 64-bit numbers?
[scribe assist by Manu Sporny]
Niklas Lindström: "%1.16E" % 5.3 => "5.2999999999999998E+00" in
Python 2.7 on OS X
Manu Sporny: "%1.15E" % 5.3 -> '5.300000000000000E+00' in Python
2.6 on Linux
Niklas Lindström: (OS X on an intel core i7 specifically)
last week's resolution: RESOLVED: Unless there are type coercion
rules in the @context that apply, native JSON numbers and strings
are not modified in compacted or expanded form.
Niklas Lindström: .. I think that's problematic since I want
"age": 123 in compact form *and* coerce "age" as xsd:integer...
Manu Sporny: would it be OK to put that back to the mailing
list?
Gregg Kellogg: OK, I'll create some issues for this
Gregg Kellogg: Unfortunately a lot of the recent changes made
the implementation much more complex
Topic: ISSUE-87: Clarification of @set and expansion
Manu Sporny: https://github.com/json-ld/json-ld.org/issues/87
Gregg Kellogg: does coercion to xsd:boolean apply to something
that is not a native boolean or string?
Manu Sporny: no, we don't try to interpret "foo" as boolean e.g.
Niklas Lindström: integer("foo") => {"@value": "foo", "@type":
"xsd:string"}
Gregg Kellogg: "foo"^^xsd:integer in Turtle?
Niklas Lindström: .. integer("foo") => {"@value": "foo", "@type":
"xsd:integer"}
Niklas Lindström: .. just {"@value": "foo", "@type":
"xsd:integer"}
Niklas Lindström: .. integer("foo") => {"@value": "foo", "@type":
"xsd:integer"}
Gregg Kellogg: {"@value": "November 1", "@type": "xsd:date"}
Gregg Kellogg: when compacting we would convert it just to a
native type if the value matches the lexical space
Niklas Lindström: "type": {"@id": "rdf:type", "@container":
"@set"}
Topic: Explicit term for RDF type?
Niklas Lindström: What happens when somebody does this in the
@context? "type": { "@id": "rdf:type", "@container": "@set" }? Do
we need an issue for this? [scribe assist by Manu Sporny]
Manu Sporny: Yes, we need an issue for that. [scribe assist by
Manu Sporny]
Topic: ISSUE-88: Reserved keywords
Manu Sporny: https://github.com/json-ld/json-ld.org/issues/88
Manu Sporny: I think we should make it clear in the spec that we
might use any @-term in the future, but don't throw an exception.
Gregg Kellogg: What if someone aliases @id to @graph and then we
change the semantics of @graph? How do you future-proof?
PROPOSAL: Terms MUST have the lexical form of IRI with the
addition of "@" being an allowed initial character. Authors
SHOULD NOT create terms with an initial "@".
Manu Sporny: +1
Markus Lanthaler: What if someone does this? { "language":
"@language", "language": "en" }
Niklas Lindström: Double keys, can't do that.
Niklas Lindström: What does the coercion mean here? "@type":
{"@id": "rdf:type", "@type": "@id"}
Manu Sporny: We need a new issue for that.
PROPOSAL: Term definitions MUST have the lexical form of an IRI
with the addition of "@" being an allowed initial character.
Authors SHOULD NOT create terms with an initial "@".
Manu Sporny: +1
Gregg Kellogg: +1
Niklas Lindström: +1
David I. Lehn: +0
Markus Lanthaler: -1 - Why don't we just allow any character for
term declarations? Why limit it? Whitespace? Why not?
Discussion about allowing any character that is valid in a JSON
string, resulting in this proposal:
PROPOSAL: Terms MAY be defined as any valid JSON string. Terms
starting with an '@' character SHOULD NOT be used as they may
create forward-compatibility issues.
Gregg Kellogg: +1
Manu Sporny: +1
Niklas Lindström: +1
Markus Lanthaler: +1
David I. Lehn: +0
RESOLUTION: Terms MAY be defined as any valid JSON string. Terms
starting with an '@' character SHOULD NOT be used as they may
create forward-compatibility issues.
--
Manu Sporny (skype: msporny, twitter: manusporny)
President/CEO - Digital Bazaar, Inc.
blog: PaySwarm Website for Developers Launched
http://digitalbazaar.com/2012/02/22/new-payswarm-alpha/
Received on Wednesday, 28 March 2012 03:27:34 UTC