Wimmics / solid-start

Projet SOLID Inria - Startin'blox
MIT License
1 stars 0 forks source link

Re-test the search query on updated https://api.test7.startinblox.com/users/ #2

Open lecoqlibre opened 1 year ago

lecoqlibre commented 1 year ago

Since we updated the test7 instance and boosted its serialization performance, let's retry the execution of the search query with the Ruben's library and check if the 8min processing time decreases.

comunica-sparql-link-traversal-solid --idp void 'https://api.test7.startinblox.com/users/' "SELECT ?user WHERE { ?user a foaf:user. ?user <http://happy-dev.fr/owl/#skills> ?skills. ?skills <http://www.w3.org/ns/ldp#contains> <https://api.test3.startinblox.com/skills/8/> }" -l debug 2>/tmp/comunica.log
lecoqlibre commented 1 year ago

The execution time is still +8min.

balessan commented 1 year ago

So sad.

lecoqlibre commented 1 year ago

Trying with an TTL file:

comunica-sparql-link-traversal-solid --idp void 'https://cdn.startinblox.com/resources/inria/ttl/users.ttl' "SELECT ?user WHERE { ?user a foaf:user. ?user <http://happy-dev.fr/owl/#skills> ?skills. ?skills <http://www.w3.org/ns/ldp#contains> <https://api.test3.startinblox.com/skills/8/> }" -l debug 2>/tmp/comunica.log

Give the following error:

All actors rejected their test in urn:comunica:default:rdf-join/mediators#main
Actor urn:comunica:default:rdf-join/actors#inner-none can only join zero entries
Actor urn:comunica:default:rdf-join/actors#inner-single can only join a single entry
urn:comunica:default:rdf-join/actors#inner-hash requires 2 join entries at most. The input contained 3.
urn:comunica:default:rdf-join/actors#inner-symmetric-hash requires 2 join entries at most. The input contained 3.
urn:comunica:default:rdf-join/actors#inner-nested-loop requires 2 join entries at most. The input contained 3.
urn:comunica:default:rdf-join/actors#minus-hash can only handle logical joins of type 'minus', while 'inner' was given.
urn:comunica:default:rdf-join/actors#minus-hash-undef can only handle logical joins of type 'minus', while 'inner' was given.
urn:comunica:default:rdf-join/actors#optional-bind can only handle logical joins of type 'optional', while 'inner' was given.
urn:comunica:default:rdf-join/actors#optional-nested-loop can only handle logical joins of type 'optional', while 'inner' was given.
urn:comunica:default:rdf-parse/mediators#parse mediated over all rejecting actors:
Unrecognized media type: text/turle
Unrecognized media type: text/turle
Unrecognized media type: text/turle
Unrecognized media type: text/turle
Unrecognized media type: text/turle
Unrecognized media type: text/turle
urn:comunica:default:rdf-parse/mediators#parse mediated over all rejecting actors:
Unrecognized media type: text/turle
Unrecognized media type: text/turle
Unrecognized media type: text/turle
Unrecognized media type: text/turle
Unrecognized media type: text/turle
Unrecognized media type: text/turle

The file misses the prefix definitions. The verbosity of the file could be reduced using the ';' character. I guess a TTL version of the referenced resources should also be available although the library should be able to do content negotiation.

Any thought @pchampin ?

pchampin commented 1 year ago

s/turle/turtle/ :smiling_imp:

Ping @balessan

balessan commented 1 year ago

s/turle/turtle/ 😈

Ping @balessan

Damned. Fixed. Ping @lecoqlibre !

lecoqlibre commented 1 year ago

I got a first and only result in 30 seconds: {"user":"https://api.test7.startinblox.com/users/balessan/"}. The user "balessan" do have the skill 8, so this is a valid result.

The file does not contain any other user with skill8 (grep "https://api.test3.startinblox.com/skills/8/" users.ttl), so result is complete.

The execution stops at about 1 minute without errors.

The downloaded turtle file is 20 Mo.

So Turtle seems really faster than JSON!

Ping @balessan @pchampin @FabienGandon

balessan commented 1 year ago

Re-test after generation of random skills for existing users on test7 so that we have more results.

pchampin commented 9 months ago

FWIW, the big JSON-LD file is parsed faily quickly by Sophia compiled to WASM:

https://perso.liris.cnrs.fr/pierre-antoine.champin/2023/sowasm/?url=https%3A%2F%2Fapi.test7.startinblox.com%2Fusers%2F

so there is room for improvement on the Comunica side.

balessan commented 8 months ago

@lecoqlibre We should re-test the json-ld version against the latest version of comunica/jsonld-context-parser/jsonld-streaming-parser

balessan commented 8 months ago

@pchampin stated:

comunica-sparql-link-traversal https://api.test7.startinblox.com/users/ "SELECT * { ?s ?p ?o } LIMIT 1" Maximum call stack size exceeded ~ took 3m30s

Did you test with the latest versions ?