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

Cross-Entity Search gets 404 from TS when an empty string passed as a query #1751

Open
sentry-dev-app bot opened this issue Oct 13, 2023 · 0 comments
Open

Comments

@sentry-dev-app
Copy link

It looks like we pass a Cross-Entity Search query to Jena with an empty text:query filtering. That causes Jena to fail.

Example query:

PREFIX renku: <https://swissdatasciencecenter.github.io/renku-ontology#>
PREFIX text: <http://jena.apache.org/text#>
PREFIX prov: <http://www.w3.org/ns/prov#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX schema: <http://schema.org/>

SELECT ?workflowTypes ?entityType ?maybeDateModified ?keywords ?projectIdVisibilities ?sameAs ?dateModified ?date ?maybeDatePublished ?visibility ?maybeCreatorName ?name ?matchingScore ?slug ?creatorsNames ?images ?maybeDescription ?idsSlugsVisibilities ?wkId ?maybeDateCreatedWHERE {{SELECT ?entityType ?matchingScore ?name ?slug ?visibility(MIN(?someDateCreated) AS ?maybeDateCreated)(MAX(?someDateModified) AS ?dateModified)(MAX(?someDateModified) AS ?date)(SAMPLE(?someCreatorName) AS ?maybeCreatorName)?maybeDescription(GROUP_CONCAT(DISTINCT ?keyword; separator=',') AS ?keywords)(GROUP_CONCAT(?encodedImageUrl; separator=',') AS ?images)WHERE {BIND ('project' AS ?entityType)
      # textQuery
      {SELECT ?projectId (MAX(?score) AS ?matchingScore)WHERE {{(?id ?score) text:query (schema:name schema:keywords schema:description renku:projectNamespaces '')} {
            GRAPH <http://schema.org/Project> {?id a renku:DiscoverableProject}BIND (?id AS ?projectId)} 
          UNION {
            GRAPH <http://schema.org/Project> {?projectId schema:creator ?id;a renku:DiscoverableProject}}}GROUP BY ?projectId} GRAPH <http://schema.org/Project> {?projectId a renku:DiscoverableProject;schema:name ?name;renku:projectPath ?slug;schema:dateModified ?someDateModified;schema:dateCreated ?someDateCreated.?projectId renku:projectVisibility ?visibility .Graph <https://swissdatasciencecenter.github.io/renku-ontology#ProjectAuth> {?projectId a schema:Project.{?projectId renku:visibility 'private';renku:memberId 45130.} 
          UNION {  ?projectId renku:visibility 'public'.  } UNION 
          {  ?projectId renku:visibility 'internal'.  }}GRAPH ?projectId {?projectId renku:projectNamespace ?namespace.}OPTIONAL {?projectId schema:creator ?creatorId.GRAPH <http://schema.org/Person> {?creatorId schema:name ?someCreatorName}}OPTIONAL { ?projectId schema:description ?maybeDescription }OPTIONAL { ?projectId schema:keywords ?keyword }OPTIONAL {?projectId schema:image ?imageId.?imageId schema:position ?imagePosition;schema:contentUrl ?imageUrl.BIND (CONCAT(STR(?imagePosition), STR(':'), STR(?imageUrl)) AS ?encodedImageUrl)}}}GROUP BY ?entityType ?matchingScore ?name ?slug ?visibility ?maybeDescription}}ORDER BY DESC(?matchingScore) DESC(xsd:dateTime(?date))
LIMIT 24
OFFSET 0

Sentry Issue: RENKU-GRAPH-E5

RestClientError$BadRequestException: POST http://renku-jena-master:3030/projects/sparql returned 400 Bad Request; body: Query parse error:PREFIX renku: <https://swissdatasciencecenter.github.io/renku-ontology#>PREFIX text: <http://jena.apache.org/text#>PREFIX prov: <http://www.w3.org/ns/prov#>PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>PREFIX schema: <http://schema.org/>SELECT ?workflowTypes ?entityType ?maybeDateModified ?keywords ?projectIdVisibilities ?sameAs ?dateModified ?date ?maybeDatePublished ?visibility ?maybeCreatorName ?name ?matchingScore ?slug ?creatorsNames ?images ?maybeDescription ?idsSlugsVisibilities ?wkId ?maybeDateCreatedWHERE {{SELECT ?entityType ?matchingScore ?name ?slug ?visibility(MIN(?someDateCreated) AS ?maybeDateCreated)(MAX(?someDateModified) AS ?dateModified)(MAX(?someDateModified) AS ?date)(SAMPLE(?someCreatorName) AS ?maybeCreatorName)?maybeDescription(GROUP_CONCAT(DISTINCT ?keyword; separator=',') AS ?keywords)(GROUP_CONCAT(?encodedImageUrl; separator=',') AS ?images)WHERE {BIND ('project' AS ?entityType)# textQuery{SELECT ?projectId (MAX(?score) AS ?matchingScore)WHERE {{(?id ?score) text:query (schema:name schema:keywords schema:description renku:projectNamespaces '')} {GRAPH <http://schema.org/Project> {?id a renku:DiscoverableProject}BIND (?id AS ?projectId)} UNION {GRAPH <http://schema.org/Project> {?projectId schema:creator ?id;a renku:DiscoverableProject}}}GROUP BY ?projectId}GRAPH <http://schema.org/Project> {?projectId a renku:DiscoverableProject;schema:name ?name;renku:projectPath ?slug;schema:dateModified ?someDateModified;schema:dateCreated ?someDateCreated.?projectId renku:projectVisibility ?visibility .Graph <https://swissdatasciencecenter.github.io/renku-ontology#ProjectAuth> {?projectId a schema:Project.{?projectId renku:visibility 'private';renku:memberId 45130.} UNION {  ?projectId renku:visibility 'public'.  } UNION {  ?projectId renku:visibility 'internal'.  }}GRAPH ?projectId {?projectId renku:projectNamespace ?namespace.}OPTIONAL {?projectId schema:creator ?creatorId.GRAPH <http://schema.org/Person> {?creatorId schema:name ?someCreatorName}}OPTIONAL { ?projectId schema:description ?maybeDescription }OPTIONAL { ?projectId schema:keywords ?keyword }OPTIONAL {?projectId schema:image ?imageId.?imageId schema:position ?imagePosition;schema:contentUrl ?imageUrl.BIND (CONCAT(STR(?imagePosition), STR(':'), STR(?imageUrl)) AS ?encodedImageUrl)}}}GROUP BY ?entityType ?matchingScore ?name ?slug ?visibility ?maybeDescription}}ORDER BY DESC(?matchingScore) DESC(xsd:dateTime(?date))LIMIT 24OFFSET 0Text search parse error:Cannot parse 'name: keywords: description: projectNamespaces: ': Encountered " ":" ": "" at line 1, column 14.Was expecting one of:<EOF><AND> ...<OR> ...<NOT> ..."+" ..."-" ...<BAREOPER> ..."(" ..."*" ..."^" ...<QUOTED> ...<TERM> ...<FUZZY_SLOP> ...<PREFIXTERM> ...<WILDTERM> ...<REGEXPTERM> ..."[" ..."{" ...<NUMBER> ...
    at io.renku.http.client.RestClient$$anonfun$raiseBadRequest$1.$anonfun$applyOrElse$1(RestClient.scala:155)
    at flatMap @ fs2.Compiler$Target.flatMap(Compiler.scala:163)
    at flatMap @ fs2.Compiler$Target.flatMap(Compiler.scala:163)
    at flatMap @ fs2.Compiler$Target.flatMap(Compiler.scala:163)
    at flatMap @ fs2.Compiler$Target.flatMap(Compiler.scala:163)
...
(12 additional frame(s) were not displayed)

Cross-entity search failed
@jachro jachro moved this from Not Ready to Ready in KG's kanban Oct 13, 2023
@github-project-automation github-project-automation bot moved this to Not Ready in KG's kanban Oct 13, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Ready
Development

No branches or pull requests

0 participants