Re: [core] Designs to resolve streaming issues in SenML

Christian Amsüss <c.amsuess@energyharvesting.at> Tue, 26 January 2016 12:01 UTC

Return-Path: <c.amsuess@energyharvesting.at>
X-Original-To: core@ietfa.amsl.com
Delivered-To: core@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 050221B29B6 for <core@ietfa.amsl.com>; Tue, 26 Jan 2016 04:01:35 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1
X-Spam-Level:
X-Spam-Status: No, score=-1 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, J_CHICKENPOX_44=0.6, MIME_8BIT_HEADER=0.3] autolearn=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id KleRPvY6dRiy for <core@ietfa.amsl.com>; Tue, 26 Jan 2016 04:01:32 -0800 (PST)
Received: from prometheus.amsuess.com (prometheus.amsuess.com [5.9.147.112]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 609D51B29B5 for <core@ietf.org>; Tue, 26 Jan 2016 04:01:31 -0800 (PST)
Received: from poseidon-mailhub.amsuess.com (095129206250.cust.akis.net [95.129.206.250]) by prometheus.amsuess.com (Postfix) with ESMTPS id C565B419D4; Tue, 26 Jan 2016 13:01:29 +0100 (CET)
Received: from poseidon-mailbox.amsuess.com (poseidon-mailbox.amsuess.com [10.13.13.231]) by poseidon-mailhub.amsuess.com (Postfix) with ESMTP id 38A132D; Tue, 26 Jan 2016 13:01:27 +0100 (CET)
Received: from hephaistos.amsuess.com (hephaistos.amsuess.com [10.13.13.129]) by poseidon-mailbox.amsuess.com (Postfix) with ESMTPSA id 060A655; Tue, 26 Jan 2016 13:01:27 +0100 (CET)
Received: (nullmailer pid 4689 invoked by uid 1000); Tue, 26 Jan 2016 12:01:26 -0000
Date: Tue, 26 Jan 2016 13:01:26 +0100
From: Christian Amsüss <c.amsuess@energyharvesting.at>
To: Michael Koster <michaeljohnkoster@gmail.com>
Message-ID: <20160126120126.GD7789@hephaistos.amsuess.com>
References: <20160118110500.GA7789@hephaistos.amsuess.com> <1B2E05E6-1FA3-4AC4-95ED-E6045B6F94E0@gmail.com> <20160118165811.GF7454@hephaistos.amsuess.com> <EDC3E5A7-1577-4E03-8376-8766A1A65064@gmail.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg="pgp-sha256"; protocol="application/pgp-signature"; boundary="IMjqdzrDRly81ofr"
Content-Disposition: inline
In-Reply-To: <EDC3E5A7-1577-4E03-8376-8766A1A65064@gmail.com>
User-Agent: Mutt/1.5.24 (2015-08-30)
Archived-At: <http://mailarchive.ietf.org/arch/msg/core/A9-pSgmd0QVubz3-z1fmxPJSh6A>
Cc: "Cullen Jennings (fluffy)" <fluffy@cisco.com>, core <core@ietf.org>
Subject: Re: [core] Designs to resolve streaming issues in SenML
X-BeenThere: core@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "Constrained RESTful Environments \(CoRE\) Working Group list" <core.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/core>, <mailto:core-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/core/>
List-Post: <mailto:core@ietf.org>
List-Help: <mailto:core-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/core>, <mailto:core-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 26 Jan 2016 12:01:35 -0000

On Mon, Jan 18, 2016 at 09:30:47AM -0800, Michael Koster wrote:
> “bn": {"@id": “some:baseURI", "@type": "@id"}
> “n": {"@id": “some:baseURI", "@type": "@id”}

I think that this is one point where any of the existing SenML drafts
fail to produce meaningful statements for arbitrary SenML documents;
with a context as sketched above, the bn would be ignored completely,
and the value of the event's n would be a concatenation of the document
URI and the n.

After processing this into RDF, there wouldn't even be enough
information left to post-process bn into the names even if that were
somehow more practical than pre-processing the JSON.

Unless we go full JSON-LD by changing "bn" into "@base" in some way, or
JSON-LD is extended to allow something like {"@base":{"@query":
"[0].bn"}} (like xpath for json, no idea if something exists or is
feasible), I don't see how we can have the semantics of SenML
transformed into RDF by JSON-LD.

We could probably describe a subset of SenML that works for a specific
context (for example by completely ruling out bn), but how useful would
that be out in the wild?

(Similar issues exist with the whitespace separated fields in the rt
field in link-format. draft-ietf-core-links-json-04 mentions JSON-LD,
but at the same time makes "[n]o attempt [...] to decode the possibly
space-separated values for rt=" -- as long as neither links-json nor
JSON-LD deals with string splitting, we can't have JSON-LD parsing for
generic link-format).


To compare this to RDFa which could probably work with the XML
serialization as JSON-LD could work with the JSON one: To have support
for the HTML base element, RDFa had to specify (X)HTML+RDFa as a "host
language" to cover the base tag -- which basically means that whatever
processes HTML+RDFa needs to do preprocessing.

Unless those issues can be managed in any way, I don't see much point in
engineering the SenML standard towards JSON-LD convertibility. How do
you overcome them in your own applications?

Best regards
Christian

-- 
Christian Amsüss                      | Energy Harvesting Solutions GmbH
founder, system architect             | headquarter:
mailto:c.amsuess@energyharvesting.at  | Arbeitergasse 15, A-4400 Steyr
tel:+43-664-97-90-6-39                | http://www.energyharvesting.at/
                                      | ATU68476614