-
Notifications
You must be signed in to change notification settings - Fork 28
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
Criterion benchmarks for RDF graph instances #20
Comments
I think that tightly coupled to this criterion is "graph building" vs "graph querying" performance. I'll get to it later, but first I'd like to discuss one very specific issue that I've come across while refactoring
Or... perhaps that's fine to leave those URIs as they are? We have an option of letting the user take care of prefix expansion and "absolutizing" URIs. But I don't see why we should force users to resolve "rdf:type" -- after all, if they stick to using "rdf:type" everywhere (building and querying the graph), it's as good as an absolute URI. It would be different however, if we accepted only absolute URIs into So, to summarize, we have 3 options:
And now, for that subtlety of building and querying graphs that I mentioned in the beginning. If we somehow handle URIs in RDF4H (options 1 or 2 above), we still have 2 options where to do it:
I think it largely depends on a given graph implementation and we cannot say in advance which would be faster (although the 2nd option sounds like a lot of coding compared to the 1st option, because one has to ensure consistent output of all functions, while doing so in This, most likely, is a question to graph implementors, and we don't have much to discuss here. Just sharing my thoughts. But we should really sort out things with absolute/relative/prefixed URIs in Nodes first, I believe. What are your thoughts? |
I've made a start with 8a7e6b0 . The preliminary results are:
|
Here are the RDF graph implementation benchmarks from October 2016: |
We don't know what the construction or query performance is for
MGraph
orTriplesGraph
. We should know about this so that we can spot which is faster for each use case of the rdf4h API. We should also have this in place so that any new implementations of anRDF
instance can be measured against existing ones, which relates to #19 .Criterion would give us a robust benchmarking platform to understand the performance of the rdf4h API, and its performance limitations. https://hackage.haskell.org/package/criterion
The text was updated successfully, but these errors were encountered: