Saved query runs just fine but in the VoicBox interface it returns columns such as:
Name
Name1
Name2
The select statement in my query is: SELECT ?control ?controlName ?effectivenessScore ?implementationStatus ?asset ?assetName ?exposureValue ?risk ?riskLevel ?nistCode ?nistName
Perhaps investigate not explicity querying ?controlName and ?assetName. (If you examine a query built by Explorer Query builder you’ll see that Labels are not explicitly requested in the query by default.)
Explorer and Voicebox make use of Stardog Label service
You can add the predicates for ?controlName and ?assetName to the database property label.properties. Then Voicebox will be be inclined to give you the label of returned IRIs.
Perhaps investigate not explicity querying ?controlName and ?assetName. (If you examine a query built by Explorer Query builder you’ll see that Labels are not explicitly requested in the query by default.)
Explorer and Voicebox make use of Stardog Label service
You can add the predicates for ?controlName and ?assetName to the database property label.properties. Then Voicebox will be be inclined to give you the label of returned IRIs.
Ok - Not suggesting you write all your queries in Explorer (though you can implement OPTIONAL by using OR in query builder) but that you are aware and make use of the label service if appropriate.
Do you have attributes named Name, Name1, Name 2 in the dataset?
We make no guarantees about consistency of names used for variables in generated queries. There’s no reason for them to be the same between invocations, they have no semantics; the two versions of your query, one using ?name and the other using ?controlName are isomorphic.
If you want control over how result sets are displayed you should build a custom application that reflects the UX you are after. Our MCP and Langchain integrations make this easy.
Thanks for your reply. So, you are saying that no matter how I tweak the saved queries voicebox will make it’s own mind how to name the variables in the generated queries, right?
Correct, it will use whatever variable names it deems appropriate. Same with the ordering of the variables in a projection, that holds no semantics whatsoever, so the agent is free to order them arbitrarily.