Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cannot invoke "String.length()" because "predicateNameSpace" is null #1306

Open
razoreater opened this issue Jun 6, 2024 · 3 comments
Open
Assignees
Labels
bug Something isn't working to verify

Comments

@razoreater
Copy link

Describe the bug
After setting up a LDES stream, view and pipeline.
And then posting data trough the pipeline or via the server we receive the following error on the view:

Cannot invoke "String.length()" because "predicateNameSpace" is null

image

To Reproduce
Set-up the stream and pipeline with the following config:
See added zipfile for the config files:

config_files.zip

  1. lpdc.ttl for the streamconfig
  2. by-page.ttl for the view
  3. lpdc-pipeline.yaml for the pipeline
  4. Fiche3.json for sample data

Expected behavior
The data is place on the LDES without issues and can be viewed on the stream

Additional context
We are testing this on version 2.14.0, and have no issues with the same config on version 2.10.0.

@razoreater razoreater added the bug Something isn't working label Jun 6, 2024
@Yalz Yalz added the to verify label Jun 6, 2024
@ferre-vaes ferre-vaes self-assigned this Jun 11, 2024
@Yalz
Copy link
Contributor

Yalz commented Jun 17, 2024

Intermediate update from @ferre-vaes (freely translated to English)

The error is thrown in the IngestEndpointFilter.doFilterInternal en is caught by the AdminRestResponseEntityExceptionHandlerbut I don't see why that this filter is now throwing the error since there is no difference in when the code still used to work
The problem is between commit 6d17fda and 4189b19 but there in between are commits that do not even compile so I can not test these using git bisect

@Yalz
Copy link
Contributor

Yalz commented Jun 24, 2024

Hi @razoreater ,
I noticed from your ES config that

  • you were missing your versionOfPath and timestampPath. Previously, we didn't throw a validation error, but now we do:
  • you stated to create versions. This will take in state objects and automatically generate the previously mentioned two statements from the ingested state object. For more detail, see the version object creation vs state object creation. Note that we now, in the 3.x versions, prevent ingesting version objects in a state object configured ES via shacl validation.
</lpdc> a ldes:EventStream ;
	tree:shape [ a shacl:NodeShape ];
	ldes:createVersions true .

So as far as i understand from the data you provided, you try to create a version object from an already versioned object, and then ingest it into an LDES that has been configured to allow only state objects ?
Did I understand that correctly?

@Yalz Yalz assigned Yalz and unassigned ferre-vaes Jun 24, 2024
@razoreater
Copy link
Author

Thanks for the feedback @Yalz , we try to test this as soon as possible.
And we'll keep you posted, this might take a while as the summer vacations almost start.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working to verify
Projects
Status: 📋 Backlog
Development

No branches or pull requests

3 participants