Looking for: tensor-library for sparse tensor based triple store

Hi everyone,
I am working on a tensor-based triple store to query triple patterns
(not full SPARQL). Therefor I'm looking for a suitable library
supporting sparse tensor product. The programming language doesn't
matter. But it would be nice if it was optimized for orthonormal-based
tensors (means it doesn't need to distinguish between co- and
contravariant dimensions for multiplication).
In more detail:
I represent my my data like this:
 * I have tensors storing boolean values. 
 * They are n >= 3 dimensional and every dimension has the same
size m>1000000. 
 * Every dimension uses a natural number index 0...m.
 * The tensors are orthonormal-based so I don't need to distinguish
between co- and contraviarant dimensions. 
 * There are only very few true values in every tensor, so the rest of
the values is false. Therefor it should be sparse. Non-sparse is no
option because of at least 1000000^3 entries. 
I'm looking for: 
 * efficient sparse n-D tensor implementation with support of a fast
inner product like: Tαγβ
• Dβδε = Rαγδε
 
 
 



 * optional: support for pipelining multiple operations
 * optional: support for logical and or pointwise multiplication of
equal-dimensioned tensors.
The following libraries don't do the trick for reasons:
 * Tensor flow: misses multiplication with non-dense-none-2D-matrices
 * scipy sparse: supports only 2D representation and would output a
dense narray for dotproduct
 * theano: supports only 2D sparse tensors
 * Shared Scientific Toolbox and Universal Java Matrix Package: don't
support multiplication of n-D sparse tensors
Who is wandering now where the triples are: They are mapped to the
dimensions' index so that the coordinates of a true in a 3D Tensor
represents a triple.
I would be very thankful for any comments or recommendations. 
Kind regards,
Alexander Bigerl

Received on Friday, 19 May 2017 08:10:01 UTC