- From: Manu Sporny <msporny@digitalbazaar.com>
- Date: Tue, 13 Dec 2011 14:24:08 -0500
- To: Linked JSON <public-linked-json@w3.org>
The minutes for yesterday's call are now available here, thanks to
Markus for scribing:
http://json-ld.org/minutes/2011-12-13/
Full text of the discussion follows:
JSON-LD Community Group Telecon Minutes for 2011-12-13
Agenda:
http://lists.w3.org/Archives/Public/public-linked-json/2011Dec/0034.html
Chair:
Manu Sporny
Scribe:
Markus Lanthaler
Present:
Markus Lanthaler, Manu Sporny, Gregg Kellogg, Niklas Lindström,
David I. Lehn
Markus Lanthaler is scribing.
Topic: Reducing the number of keywords in JSON-LD
Manu Sporny:
http://lists.w3.org/Archives/Public/public-linked-json/2011Dec/0037.html
Manu Sporny: let's take a little time to talk about this email
Markus Lanthaler: Basically, I went through the entire spec and
looked at all of the keywords that we currently define. Without
considering framing, we have 10 keywords, some of them are
redundant and others don't necessarily provide functionality that
are required. [scribe assist by Manu Sporny]
Markus Lanthaler: For example, @subject and @iri are redundant -
@iri is kind of a special case, we use it as a datatype in the
@context. [scribe assist by Manu Sporny]
Markus Lanthaler: We use @iri to specify a datatype for
coercion. [scribe assist by Manu Sporny]
Markus Lanthaler: The same applies to @list [scribe assist by
Manu Sporny]
Markus Lanthaler: They're a bit different from all of the other
keywords in JSON-LD... [scribe assist by Manu Sporny]
Markus Lanthaler: @datatype and @type are subtly different in
JSON-LD (for an average developer). In RDF, it matters... that
may be why people with more RDF background don't want to merge
them together. Others like @language and @literal usage is very
clear... [scribe assist by Manu Sporny]
Markus Lanthaler: @base and @vocab don't have very clear use
cases - that is, they make reading the JSON-LD more difficult
because they have to keep 3 base URIs in their head. Base URI of
the document, @base, and @vocab... hard to keep all of those in
your head, maybe it would be better to be more explicit. [scribe
assist by Manu Sporny]
Markus Lanthaler: Gets worse when you include external
contexts... makes debugging more complex. [scribe assist by Manu
Sporny]
Markus Lanthaler: There is a proposal to drop @base and
@vocab... you could use prefixes if you need those types of
things. I tried to remove keywords w/o losing any functionality.
In the end we could go from 10 keywords to just 6. [scribe assist
by Manu Sporny]
Markus Lanthaler: Even with 6 keywords, we don't lose any
functionality. [scribe assist by Manu Sporny]
Markus Lanthaler: In some cases, it makes it even easier. Some
people may be confused with having two concepts @datatype vs.
@type - if they don't have an RDF background, they don't
understand the difference. People w/o a RDF background will be
using JSON-LD - they probably don't care about RDF. [scribe
assist by Manu Sporny]
Gregg Kellogg: I'm not sure if we can drop @base
Gregg Kellogg: it might be necessary to describe something
without needing to care where the document came from
Gregg Kellogg: @vocab could be eliminated and we could use an
empty prefix instead
Gregg Kellogg: looking at the rest.. I could see merging @type
and @datatype
Gregg Kellogg: I would eliminate @datatype instead of @type
Niklas Lindström: I'm simpathetic to the ideal that Markus
proposed
Niklas Lindström: but in reality it's difficult to find a simple
form
Niklas Lindström: I agree that @base is important for cases
where you wanna use relative IRIs independent of where the
document is stored
Niklas Lindström: if we allow relative IRIs I believe we should
allow @base as well
Niklas Lindström: alternative would be to have absolute IRIs
everywhere
Niklas Lindström: to @datype and @type.. I'm trying to support
it but the biggest problem I have with it is that in practice
they don't have the same value space
Niklas Lindström: so they are distinct concepts
Niklas Lindström: if we where to merge them we couldn't extract
statistics e.g. which types/datatypes are used
Niklas Lindström: it's not impossible to work around it but it's
a potential problem
Manu Sporny: I was actually against of changing alot
Manu Sporny: but I think the part of Markus' argumentation that
convinced me was trying to simplify JSON-LD especially for people
without RDF background
Manu Sporny: I don't see using absolute IRIs or prefixes
everywhere as being a bad thing
Manu Sporny: Alexandre posted an example with @base but it took
me about 15 seconds to figure out what was meant
Manu Sporny: that makes it much more difficult for people with
less involvement in JSON-LD
Manu Sporny: in XML it was a necessary evil
Manu Sporny: because a lot of editing was done manually
Manu Sporny: JSON-LD is different since large parts are
machine-generated
Manu Sporny: what convinced me most was Markus' argument that we
should make it as simple as possible without losing functionality
Manu Sporny: this doesn't have to be a final decision though
Manu Sporny: we can always add in @vocab, e.g., at a later point
in time
Niklas Lindström: I think that's a good point.. let's try to
reduce it
Topic: ISSUE-15: Are @subject and @iri redundant?
Manu Sporny: https://github.com/json-ld/json-ld.org/issues/15
Manu Sporny: is there anyone who thinks it's a bad idea to merge
them?
Manu Sporny: my only concern is that people might get confused
whether something is just a IRI or the subject
Gregg Kellogg: the only thing is that IRI is very specific
Gregg Kellogg: so it might be better to choose a better term
Gregg Kellogg: e.g. @id
Niklas Lindström: … @itemid? (ducks and covers) ;D
Markus Lanthaler: so you would coerce a foaf:homepage to @id?
Gregg Kellogg: yes
David I. Lehn: we could get rid of naming issues and just move
back to "@" which we started with :)
Manu Sporny: the other reason for this is that a lot of people
don't know what an IRI is
Niklas Lindström: I'm almost in favour of @id
Niklas Lindström: maybe also something longer such as
@resourceid
PROPOSAL: Use the same keyword for the concepts of @subject and
@iri.
Manu Sporny: +1
Gregg Kellogg: +1
Markus Lanthaler: +1
Niklas Lindström: +1
David I. Lehn: +1
RESOLUTION: Use the same keyword for the concepts of @subject
and @iri.
David I. Lehn: fwiw, i think dlongley really should be voting on
this stuff too since he knows alot about the implementation
issues
PROPOSAL: Use the keyword '@id' for the combined concept of
@subject and @iri.
Gregg Kellogg: +1
Manu Sporny: +1
David I. Lehn: +1
Markus Lanthaler: +1
Niklas Lindström: +0.5
Markus Lanthaler: the only thing I don't really like is that we
are using @id in coercion then...
RESOLUTION: Use the keyword '@id' for the combined concept of
@subject and @iri.
Topic: ISSUE-26: Drop @base and @vocab
Manu Sporny: https://github.com/json-ld/json-ld.org/issues/26
Manu Sporny: I would be in favour of doing but dropping @vocab
makes me nervous because of schema.org
Niklas Lindström: I believe I'm in the same position as you
Niklas Lindström: we can use absolute IRIs everywhere or a
"base" prefix as Markus suggested
Manu Sporny: that is exactly the problem since it is very
difficult to understand how an IRI is expanded.. what's the
precencende if there's @vocab and a defined term
Manu Sporny: my concern about @vocab was always "what if someone
would like to use schema.org"
Gregg Kellogg: would propose to drop both and specify that IRIs
are absolute
Gregg Kellogg: regarding the use of empty prefixes: it's not a
promoted use case but if relax how terms are specified we could
allow empty terms e.g.
Niklas Lindström: I could try to discard @vocab as well
Niklas Lindström: my favourite use was to reduce the size of the
context
Niklas Lindström: my context would grow quite a bit if we drop
it
Markus Lanthaler: Why should the context grow if we use @vocab?
You could just use a prefix, right? [scribe assist by Manu
Sporny]
Markus Lanthaler: You have to add the prefix to your whole
JSON-LD document, so that might grow a bit. [scribe assist by
Manu Sporny]
Niklas Lindström: Yes, you could do that... [scribe assist by
Manu Sporny]
Gregg Kellogg: we might need to have a better definition of what
a term is
Manu Sporny: do we need this for this issue
Gregg Kellogg: we might need it to get a similarly terse
representation if we drop @base and @vocab
ACTION: gkellogg to create issue to expand on the lexical range of term
identifiers
PROPOSAL: Drop support for @base.
Manu Sporny: +1
David I. Lehn: +0
Markus Lanthaler: +1
Gregg Kellogg: +1
Niklas Lindström: +0.5
RESOLUTION: Drop support for @base.
PROPOSAL: Drop support for @vocab.
Manu Sporny: +1
Gregg Kellogg: +1
Niklas Lindström: +0.5
Markus Lanthaler: +1
David I. Lehn: +0
RESOLUTION: Drop support for @vocab.
Niklas Lindström: should we add a note on the spec that they
existed and they might come back
Niklas Lindström: or that prefixes are they way to replace them
Manu Sporny: I agree
Topic: ISSUE-31: Merge @type and @datatype
Manu Sporny: are there any arguments against doing this?
Niklas Lindström: the value spaces are different
Niklas Lindström: this is my real problem
Niklas Lindström: or just drop @type because you could also do
it yourself with RDF
Manu Sporny: I agree there are different value spaces
Manu Sporny: but there are not many developers knowing or caring
about thi
Manu Sporny: I think we think that @type is more important than
it is actually in practice
Niklas Lindström: .. example of facets from json-ld in our
system: http://service.demo.lagrummet.se/-/publ;stats
Manu Sporny: I think we don't need to make a distinction at the
language level
Gregg Kellogg: there's the danger that people conflate these two
Gregg Kellogg: even though @type is not necessary (in RDF) it
makes it much easier to understand
Markus Lanthaler: Even if we keep them different, people need to
know that they're different. The names are so similar that JSON
developers probably will not understand the difference. You
define the type of a variable the same way. [scribe assist by
Manu Sporny]
Markus Lanthaler: I don't think we can argue that we reduce the
amount of invalid data that is created by having two different
keywords. I'd argue that we increase the problem because people
might put @datatype in the wrong place vs. @type. [scribe assist
by Manu Sporny]
Gregg Kellogg: That is a persuasive argument. [scribe assist by
Manu Sporny]
Manu Sporny: I see that difference is because of the way RDF is
modeled
Manu Sporny: if you think of a graph and a literal being a node
in that graph there's not really a difference there
Manu Sporny: Niklas, I buy the argument in an RDF model but I
don't buy the argument in an general graph model
Manu Sporny: I don't think JSON developers will have much issues
regarding the value space
Error: (IRC nickname not recognized)[11:06] <gkellogg>
"2011-12-13"^^xsd;date => [ rdf;value "2011-12-13"; a xsd:date ]
Niklas Lindström: the thing that makes me nervous is that we
have an extraction of types (link posted before) and I can't work
around it
{ "@literal": ...", "@datatype": "..." }
Markus Lanthaler: Looking at your example Niklas, is there a
solution if we merge @type and @datatype? [scribe assist by Manu
Sporny]
Gregg Kellogg: I think that's more a problem in RDF because you
can't add a type to a literal
Niklas Lindström: Yes, I think so... although, it's not as clean
as it would be if we had @type and @datatype [scribe assist by
Manu Sporny]
PROPOSAL: Merge @datatype keyword with @type - @type will be
used to specify both rdf
Manu Sporny: +1
Markus Lanthaler: +1
Gregg Kellogg: +1
David I. Lehn: +1
Niklas Lindström: +0.5
RESOLUTION: Merge @datatype keyword with @type - @type will be
used to specify both rdf
-- manu
--
Manu Sporny (skype: msporny, twitter: manusporny)
President/CEO - Digital Bazaar, Inc.
Standardizing Payment Links
http://manu.sporny.org/2011/payment-links/
Received on Tuesday, 13 December 2011 19:24:42 UTC