Subject: [T2TRG] Semantic and fast-into-data-structures processing

From: Christian Amsüss <[email-masked]>
Date: Tue, 6 Nov 2018 14:15:02 +0100

Hello research group,

reflecting on today's discussion, I'm trying to get a better
understanding of what goals of different processing approaches to
semantic data are.

The ones that I like to use are:

* Full semantic processing: Process all incoming data as semantic data,
  load all into a triple store, possibly follow your nose to load
  referenced ontologies, and follow instructions based on semantics,
  like the pseudo-SPARQL

  POST TO ?X WHERE {
    <coap://[ff05::1]> rel:hosts ?X .
    ?X attr:rt "core.rd"
  } LIMIT 1
  
  . (Obviously only done on "unconstrained" devices).

* Compiled semantic processing: Feed the same semantics based
  instructions into a compiler that, for known data formats, produces
  compact code for embedded devices, compiles the above into

  body.split(",").filter('rt="core.rd"' in any of record.split(";"))
      .first().extract_between("<", ">").post(...)

  , a JSON path to grab a URI from or a tight loop around the CBOR
  parser for profiled CoRAL.

There is a third way of processing the data:

* Semantics-unaware processing: ignore the semantics, and access data at
  JSON paths or similar manually from knowledge of that representation's
  structure.

I had perceived the latter as an intermediate step so far, but the
comments in the discussion made me doubt that, so for concrete
questions:

Do you see value in that unaware processing approach in the constrained
environment, outside of applications built before semantic annotations
are available?

If so, would that value persist in the presence of adaequate tools[1]
and education material that make development with a semantic mindset
possible in CoRE?

Thanks
Christian

[1]: I do not have such tools myself yet either. Currently, my
transpiler that produces C code from SPARQL requests runs on food, needs
sleep and generally scales badly -- still, I see the the code produced
by it as nothing more than a intermediate build stage from a high-level
application description to flash memory.

-- 
You don't use science to show that you're right, you use science to
become right.
  -- Randall Munroe