On 21/09/2022 08:00, Lorenz Buehmann wrote:
Interesting question. I think currently the Fuseki SHACL service expects a Turtle file for the shapes acording to [1]. I agree that this seems to be rather inefficient.

@Sebastian - how much data is there? (in triples ideally)
What does 300mb translate into in terms of numbers of triples and shapes?

How long (lcoally from a file) does it take to parse the shapes?


@Andy:

- the code expects only Turtle format, right? RDF/XML would fail to parse the shapes then, correct?

No. The Content-Type header is used - if that fails, the default lang provided is used.

- the shapes are parsed into a Graph, wouldn't it be possible to reuse a named graph of the backend dataset containing the shapes?

Possible to implement, yes.

Do you mean the same dataset as the data? (that is, using the dataset as a collection of graphs). Or a different dataset for storing shapes separately from the data (maybe default union graph is being used on the data).

Both are possible, the first is easier. The second gets into naming named graphs in other datasets. "http://example/dataset#encoded-named-graph-uri"; could be be used (does not work ATM - it needs implementing.)

> Or would it be
> too slow to use shaped from e.g. a TDB backend?

Jena SHACL parses the shapes and then executes from an in-memory datastructure (a bit more than the AST but not much) so execution is not dipping in and out of the database. It should be fast enough.

The parsing is cacheable. Cache invalidation is hard if it's a different dataset.


This would be a good example of adding more capabilities by using a Fuseki Module:

https://jena.apache.org/documentation/fuseki2/fuseki-modules

The idea is to make the fuseki-server jar
(1) Fuseki main
(2) A set of modules (for now, admin, UI; later - open ended set)

and the user can choose the server functionality by the selection of modules.

    Andy



Cheers,

Lorenz


[1] https://github.com/apache/jena/blob/main/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/SHACL_Validation.java#L66

On 20.09.22 17:22, Sebastian Faubel wrote:
Hello everyone,

I am using Jena Fuseki 4.6.1 with a dataset that I want to validate using
SHACL. I've seen the documentation on the SHACL feature in Apache Jena
Fuseki here:

https://jena.apache.org/documentation/shacl/

My issue is that my SHACL shapes graph has around 300mb. Uploading this
every time I want to validate would be pretty slow and inefficient. I was
wondering if it is possible to persist the shapes graph in the dataset
somehow?

Thank you! :)

~Sebastian

*Semiodesk GmbH | *Werner-von-Siemens-Str. 6 Geb. 15k, 86159 Augsburg,
Germany | Phone: +49 821 8854401 | Fax: +49 821 8854410 | www.semiodesk.com


This e-mail message may contain confidential or legally privileged
information and is intended only for the use of the intended recipient(s).
Any unauthorized disclosure, dissemination, distribution, copying or the
taking of any action in reliance on the information herein is prohibited.
E-mails are not secure and cannot be guaranteed to be error free as they
can be intercepted, amended, or contain viruses. Anyone who communicates
with us by e-mail is deemed to have accepted these risks. Semiodesk GmbH is
not responsible for errors or omissions in this message and denies any
responsibility for any damage arising from the use of e-mail. Any opinion
and other statement contained in this message and any attachment are solely those of the author and do not necessarily represent those of the company.

Reply via email to