Validation errors for TTL model import

I am trying to follow the import process described at Getting Started Part 3: Creating a Knowledge Graph in Designer | Stardog Documentation Latest for the BrickSchema ontology (TTL from https://github.com/BrickSchema/Brick/releases/download/nightly/Brick.ttl). According to SHACL shape validator the file is generally SHACL W3C conforming. But the Stardog Studio Text Editor shows me 627 validation errors related to SHACL constructs:

If I save the file I get quite some edges and nodes added to the database but no classes, relationships, etc. shown for the model.

Am I following wrong assumptions about the import process? What's guidance you can direct me to?

Hi Chris,

you are correct, it is valid SHACL file. The editor in Studio does not recognize that and complains because e.g., for sh:or it expects a list but gets a single IRI bsh:NumericValue. Yet it does not realize that bsh:NumericValue refers to an RDF list and thus is valid according to the syntax.

In the editor, if you choose TURTLE as the syntax in the bottom right, does the issue still persist?

Best regards,
Lars

Hi Lars, yes, the screenshot is from the "Turtle" mode. So, as you also said, the SHACL is valid, so what do the errors mean to me and for the import process? Basically, how do I get forward here?

Hi Chris,

interesting, for me in TURTLE mode the Studio editor does not complain only in SHACL mode. This syntax error highlighting, however, should not affect the import of the model to your database.
For example, you should be able to upload the data to your database as follows. In the Databases tab you can select the DB and "Load Data" to upload the data (to a named graph, if required).

Best regards,
Lars

Hi Lars, sorry for the confusion: actually I was in SHACL mode and I don't even get offered a TURTLE mode:

I followed your suggestion and used DB -> Load Data. As before this gives me 55k edges in the database:

But there are still no classes in the "Models" view. Am I maybe on some wrong assumptions about getting classes from that import?

Hi Chris,

once you load the data to the DB, you need to add the model in the Models tab. Click "Create Model" and select the named graph to which you uploaded the model. For example:


Then you should be able to see the classes in the model in the Models view:

Best regards,
Lars

1 Like

Heureka! I see classes! It was new to me that I have to create a (new) model AFTER the import. Previously I followed the process that the above-mentioned tutorial gives and there the model is created BEFORE the import (through the text editor).

Is there documentation about the process that you described me that I can follow up?

Essentially, it is like the process describe in the tutorial, except that you load the model to a named graph before you create a new model with the named graph it in the Models tab. This way, the model is already populated by the data loaded to the named graph. In your case this was necessary because of the incorrectly checked syntax in Studio. Once that Bug is fixed, the process described in the tutorial should work as well.

Ok, did I get it right, that my finding is now a documented bug for Stardog (Studio)? How can I follow the progress of the bug fix? Are you an employee of Stardog?

I need to say, that I'm starting to evaluate Stardog as a possible engine for our company's semantic modelling efforts. So I want to also get an impression about the way and maturity of support, etc. And it was a downer, that the first thing I wanted to accomplish failed (as the only documented way seems to be buggy) and I had a hard time to get information.

Yes, I agree, it is unfortunate that your first attempt to add the model was unsuccessful due to the SHACL validation bug in Studio.
I have reported that bug (VET-5018) and it'll be announced in the Studio release notes once it is fixed.

1 Like

Hello Chris,

I am new to Stardog and the community, but noticed we have overlapping interests based on your questions about loading the Brick ontologies.

I work for a large general contractor in the United States and working on developing managed vocabularies and a data validation framework for project data, including data extracted from building information models, schedules and estimates.

I am investigating/evaluating Stardog and have signed up for the free version. However, it's not immediately clear to me how I would import a ttl shacl ontology and graph file based on the ontology in the free version of designer or studio.

wondering if you could give me a pointer or two ?