In oneM2M, the <semanticDescriptor> can be updated with SPARQL UPDATE operation with INSERT/DELETE
and a Semantic Query (SELECT, CONSTRUCT, ASK, DESCRIBE
) can be targeted towards a resource to derive semantic information.
For Update of <semanticDescriptor> resource in TR-0007-Study of Abstraction and Semantics Enablements
example is given:
INSERT DATA { GRAPH
graph_uri
{ .. RDF payload .. } }EXAMPLE 1: Add semantic instance to a resource using INSERT DATA statement:
INSERT DATA {
GRAPH
<http://<Hosting CSE address>/<CSEBase>/<AE>/<semanticDescriptor>>
{saref:WASH_LG_123 msm:hasOperation saref:WashingOperation_123
}
EDITED:
So SPARQL Query and UPDATE operations can have graph_uri
which can be specified in queries, in technical terms Named Graphs.
First Question:
My question is in context of Semantics, as a Semantics Repository (RDF Database) is collection of GRAPHS, so in our case probably each Semantic Descriptor would be represented as a single Graph.
In this context, does oneM2M recommend using structured resource id: <http://<Hosting CSE address>/<CSEBase>/<AE>/<semanticDescriptor>>
to be the IRI for that GRAPH in the Semantics Repository.
As I am not able to find any reference regarding same in TS-0034-Semantics-Support, TS-0001/0004 documents.
Follow-up Question:
If oneM2M doesn't recommend anything for graph_uri
in Semantic Repository, How is an Originator bound to use the IRI/URI in its Semantic Query (SELECT, CONSTRUCT, ASK, DESCRIBE
) or SPARQL UPDATE (INSERT/DELETE
) ??
As every CSE then can have it's own way of giving a graph_uri
to its GRAPHs in Semantic Repository, if it's not standardized.