Arrays, Lists and Sequences in RDF


#1

This topic is based on an initial discussion I had with Adrian Gschwend on Monday July 1, 2019.

for further details see:

http://www.lotico.com/index.php/New_ideas_for_coding_with_Arrays,_Lists_and_Sequences_in_RDF

(this page will change and expand over time)

Basic question is how to deal with large set of of data sequences/series in RDF.


#2

You may want to post to https://github.com/w3c/sparql-12/issues.

I think you should first define the (abstract) operations required of a list. Eg you should be able to find quickly all lists that have a given member, I don’t think any opaque literal will work very well, unless you have special indexing (as eg GeoSPARQL engines do for geo:WKTLiteral etc).

Please use a custom datatype to mark your custom literals.


#3

rdf:List should be used as reference as rdf:Bag and rdf:Seq got almost completely replaced by it.

@neumarcx your proposal works for very specific use cases. WKT, like mentioned by @VladimirAlexiev, could be one of it. But I would use a datatype with the literal. It will cause a lot of problems as a generic solution. Actually you are introducing a new RDF serialization. All tools which have to handle the data have to understand it.

A better generic solution would be rdf:List access by index in SPARQL. @VladimirAlexiev also mentioned already the right place to start a discussion about it.

Depending on the use case, it can be even simpler. I have a lot of time series data in data cubes. The timestamps allow me to sort and slice it in SPARQL in the way I need it.


#4

not ready for the SPARQL group. I have already introduced this to a customer and they as expected love the succinct syntax for their use case. I am going to hold back on a public release for now. to further discuss the issue here.

I can live with a datatype and will add them to the pseudo code on the example.

what do you think about this Microsoft Server example here:

btw since I have developed the GeoSPARQL service for Jena I am quite familiar with the WKT notation :wink: and like the notation.

On the other hand I am currently missing out on some of the very nice data cube goodies mentioned above. wonder if there is an elegant way to create symbiosis between the WKT and data cubes.


#5

Serializing an array into a literal is only useful for very specific use cases. Cause I don’t know your use case, I can’t say if it fits or not. Also I doubt it’s something for the SPARQL group. If the group simplifies array access, I expect it will be for rdf:List.

Here an example of an observation which contains population, date and location. If you follow the raum and hasGeometry, you can find the WKT data.