Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • 01:27
    jeenbroekstra commented #4290
  • 01:11
    jeenbroekstra commented #4290
  • Nov 25 00:52
    sergkop starred eclipse/rdf4j
  • Nov 23 08:36
    damyan-ognyanov synchronize #4291
  • Nov 23 08:36

    damyan-ognyanov on GH-3781-namespaces-prefix-regression

    GH-3781 exception message chang… (compare)

  • Nov 23 05:33

    jeenbroekstra on develop

    small tweaks to Dockerfile for … small tweaks to Dockerfile and … Merge main into develop (#4288) (compare)

  • Nov 23 05:33
    jeenbroekstra closed #4288
  • Nov 22 14:14
    hmottestad commented #4249
  • Nov 22 11:34
    damyan-ognyanov reopened #3781
  • Nov 22 11:32
    hmottestad commented #4289
  • Nov 22 11:19
    damyan-ognyanov review_requested #4291
  • Nov 22 11:18
    damyan-ognyanov review_request_removed #4291
  • Nov 22 11:17
    damyan-ognyanov review_requested #4291
  • Nov 22 11:17
    damyan-ognyanov edited #4291
  • Nov 22 11:16
    damyan-ognyanov edited #4291
  • Nov 22 11:16
    damyan-ognyanov edited #4291
  • Nov 22 11:16
    damyan-ognyanov edited #4291
  • Nov 22 11:16
    damyan-ognyanov edited #4291
  • Nov 22 11:16
    damyan-ognyanov opened #4291
  • Nov 22 11:14

    damyan-ognyanov on GH-3781-namespaces-prefix-regression

    GH-3781 accept only valid SPARQ… (compare)

Bart Hanssens
@barthanssens
@abrokenjester:matrix.org could it be that the website is case-sensitive ? link from news section https://rdf4j.org/news/ points to https://rdf4j.org/release-notes/4.0.0-M2 but that seems to generate a 404 (lowercase 4.0.0-m2 works)
2 replies
Adrian Hamod
@AdrianHamod
Hi everyone. I'm not able to write the lucene in-memory repo configuration from https://rdf4j.org/documentation/programming/lucene/ (the one using the native store) as a config.ttl for a remote repo on a RDF4J server. I will keep digging, but I'm wondering if someone already accomplished this.
3 replies
Florian Kleedorfer
@fkleedorfer
Hey, how does one clear only the default graph using RepositoryConnection? clear() clears everything. I've tried to use http://www.openrdf.org/schema/sesame#nil and http://rdf4j.org/schema/rdf4j#nil as context ids but to no avail...
5 replies
Adrian Hamod
@AdrianHamod
Regarding the spring integration. How can I work with rdf collections? How would I bind/map entities in this case? @fkleedorfer
Florian Kleedorfer
@fkleedorfer
No special support for that (yet). Not sure how to approach that generically. Do you have a toy example?
Florian Kleedorfer
@fkleedorfer
It might be something to tackle with a new sparqlbuilder feature...
Jeen
@abrokenjester:matrix.org
[m]
There are various utility functions available for converting Java collections to RDF lists and back
Jeen
@abrokenjester:matrix.org
[m]
:point_up: Edit: There are various utility functions available for converting Java collections to RDF lists (returned as a Model) and back
Iwan Aucamp
@aucampia
We sometimes find the need to write some tests on some well defined graph in RDFLib. We currently have some random files: https://github.com/RDFLib/rdflib/tree/master/test/consistent_test_data - but this is not ideal IMO - it would be nice to use something more official.
One option I considered is to just use actual ontologies, like https://www.w3.org/1999/02/22-rdf-syntax-ns# or http://www.w3.org/2000/01/rdf-schema#
and then write tests using them as graphs
but this may seem a bit confusing at first glance
another option is to use these datasets: https://www.w3.org/2000/10/rdf-tests/
but they seem a bit dated
not sure if you have some suggestions
Iwan Aucamp
@aucampia
will just use published schemas for now, will go for RDFS
I can of course use this: https://www.w3.org/2013/TurtleTests/ - but they are kind of small
Jeen
@abrokenjester:matrix.org
[m]
@aucampia: for testing compliance with specs we use the official test suites, but for our own functional testing we tend to use artifical graphs for the most part in RDF4J. For benchmarking purposes we include a couple of external datasets (we have a snapshot of data.gov.be, for example), but for most unit testing small fake files that can accurately express certain specific corner cases work fine IMHO.
Florian Kleedorfer
@fkleedorfer
We are migrating our application to RDF4J-4.0, which talks to a GraphDB running RDF4J-3.7.6(that is the latest GraphDB version 9.11.0). When testing with an in-memory repo, our test suite passes, but testing against GraphDB fails caused by: org.eclipse.rdf4j.repository.RepositoryException: Incompatible format version: 2. Some digging reveals that some protocol version has been incremented to 2 in 4.0. Is there a way to talk to a remote repo that runs protocol version 1?
Frens Jan Rumph
@frensjan
Do you have a stack trace?
Is Binary RDF being used?
Jeen
@abrokenjester:matrix.org
[m]
Protocol here refers to Rdf4j 's own remote protocol, which is an extension of SPARQL protocol, used by the Http repository. If the version doesn't match its incompatible I'm afraid. However you can use the SPARQLRepository instead, that should work with an older version of RDF4J on the server side
Frens Jan Rumph
@frensjan
(I've said nothing :'D)
Florian Kleedorfer
@fkleedorfer
Thanks Jeen! Any downside to doing that even with compatible repos? Higher data volume? Slower?
No transactions?
Jeen
@abrokenjester:matrix.org
[m]
Actually come to think of it I might be wrong here. That number looks off for the REST protocol version. Frensjan might be right that this has to do with the binary format instead..
Can you log a bug report? I may have some time to take a closer look this weekend (no promises, just intentions😄)
Florian Kleedorfer
@fkleedorfer
Will do but probably not before the weekend, sdly.
Jon Harper
@jonenst

Hi, I'm trying to upgrade from rdf4j 3.3 to 4.01 and I'm facing a problem with invalid iri (ValidatingValueFactory rejecting my name because it has a space).

Previously I would use:

 var repo =new SailRepository(new MemoryStore());
 var conn =  repo.getConnection()

// Report invalid identifiers but do not fail
// (sometimes RDF identifiers contain spaces or begin with #)
// This is the default behavior for other triple store engines (Jena)
conn.getParserConfig().addNonFatalError(XMLParserSettings.FAIL_ON_INVALID_NCNAME);
conn.getParserConfig().addNonFatalError(BasicParserSettings.VERIFY_URI_SYNTAX);
conn.getParserConfig().addNonFatalError(XMLParserSettings.FAIL_ON_DUPLICATE_RDF_ID);

conn.getValueFactory().createIRI(namespace, localName);

Now I get this stack trace:

java.lang.IllegalArgumentException: java.net.URISyntaxException: Unexpected character U+20 at index 34: contexts:foo bar.xml
    at org.eclipse.rdf4j.model.impl.ValidatingValueFactory.createIRI(ValidatingValueFactory.java:88)
    at org.eclipse.rdf4j.model.util.Values.iri(Values.java:175)
    at org.eclipse.rdf4j.model.util.Values.iri(Values.java:111)
    at org.eclipse.rdf4j.sail.memory.model.MemValueFactory.createIRI(MemValueFactory.java:329)

Looking at the code Looking at the code https://github.com/eclipse/rdf4j/commit/31eae61980b#diff-316111ad63bae0052ae1214d4e3abff22b8f951323f25287e24be2af0205e81eR336 is there a way to avoid calling ValidatingValueFactory which throws on whitespace ?
Thanks,
jon

Jeen
@abrokenjester:matrix.org
[m]
Hi @jonenst sorry for not responding sooner - this channel is a bit quiet these days. The parser configs you set only control the behavior of the RDF parsers used internally, for example when uploading a file to the repo. The ValueFactory class' behavior is not influenced by this.
However, taking a closer look, I think there is indeed a change in behavior in the MemoryStore. For this particular case it seems to now be using a ValidatingValueFactory, rather than what it previously did.
By the way I assume you're aware that whitespaces really are just not allowed in IRIs, and while there's ways to bypass that in RDF4J, you're probably better off making sure your IRIs are legal? I realize you don't always have full control over the input of course :)
Jeen
@abrokenjester:matrix.org
[m]
By the way you can bypass the behavior by using the SimpleValueFactory instead of the one supplied by the connection:
SimpleValueFactory.getInstance().createIRI(namespace, localName);
Jeen
@abrokenjester:matrix.org
[m]
Jon Harper
@jonenst
Hi, thanks a lot for taking the time to look into this ! I'm glad you fixed it so that I don't have to update my code :)
Btw, don't worry about "responding sooner", having the PR merged on main only a week after the initial bug report in a chat is stellar maintenance ! thanks a lot
Zachary Whitley
@zacharywhitley
I wrote a plugin for executing custom functions via webassembly and wanted to see if there was any interest in my porting it over to rdf4j. I think it addresses a lot, if not all, the shortcomings of using custom functions. It's performant, functions can be distributed either over HTTP or IPFS (a distributed P2P system) or stored in the database itself and the webassembly is cached locally so it can be run offline.
Jeen
@abrokenjester:matrix.org
[m]
Sounds pretty cool! Might be worth posting about on the discussion forum, good spot to do a bit of a show & tell...
Bart Hanssens
@barthanssens
nice use case by Norwegian Maritime Authority (http://www.lotico.com/index.php/Data_Shapes_in_Action), apparently using RDF4J as part of their pipeline (see youtube video around 10:20 and 19:10)
Florian Kleedorfer
@fkleedorfer
Hi, we had a mixup when posting #3935 as an improvement rather than a bug, and consequently the PR #3936 fixing it didn't make it into 4.0.1 - rather, it is scheduled for 4.1. The problem is, the bug really bites us and we cannot migrate our project to 4.0 - which is starting to cause quite some inconvenience on our end... is there something that can be done?
Dimitirje Mitić
@RedCrusaderJr
Hi lovely people! :))
what's the progress status of this one? eclipse/rdf4j#3041
is that a required step for this feature? eclipse/rdf4j#3001
Huib Verweij
@hhv
Hi, we have inherited an app that uses RDF4J and we're having trouble understanding the use of SPARQL-query parameters (through the REST API). We can't get the syntax right it seems. The documentation mentions $<varname> as a URL-parameter to pass the a value for a query variable. Or so it seems https://rdf4j.org/documentation/reference/rest-api/ Specifying query=...&$ourdate=2022-01-01 sort of works (I believe) but does not returns the expected results. In the query text the variable ?ourdate is written as "${ourdate}". Does anybody have a working example of passing a value for a SPARQL variable using the REST interface? Or perhaps you have another suggestion? Any help is appreciated!
Jeen
@abrokenjester:matrix.org
[m]
@hhv: happy to help but it's not clear to me what's going on to be honest. Would you mind posting your question on the GitHub discussion forum with perhaps a few more details about what you've tried and what you're expecting vs getting?
Huib Verweij
@hhv
@abrokenjester:matrix.org Thanks Jeen, will do.
Iwan Aucamp
@aucampia

Hi, just want to double check this is accurate https://github.com/aucampia/rdflib/blob/iwana-20220907T2055-resolver/docs/decisions/20220911-uri_loading.rst#rdf4j

It does not seem like RDF4J has a general mechanism for URI loading and mapping, there is however a JSON-LD specific mechanism for this provided by JSONLD Java in com.github.jsonldjava.core.DocumentLoader.

Bart Hanssens
@barthanssens
@aucampia it should be possible to set a custom DocumentLoader via https://rdf4j.org/javadoc/4.1.0/org/eclipse/rdf4j/rio/helpers/JSONLDSettings.html#DOCUMENT_LOADER
so basically creating a parser via Rio.createParser and then using rdfParser.getParserConfig().set() to specify the DocumentLoader should work...
Iwan Aucamp
@aucampia
Thanks for the info Bart, but just to clarify, this is still only for JSONLD?