Skip to content

QueryExecution create(Query query, Model model) return no result with named model #75

Description

@AlexTo

I'm having strange behaviour with QueryExecution create(Query query, Model model)

I created a named model and add triples to it as follows

Dataset ds = dg.toDataset();
ds.addNamedModel("urn:x-arq:LearningRecord", ModelFactory.createDefaultModel());
Model model = ds.getNamedModel("urn:x-arq:LearningRecord");
\\ read triples into model

Now, using Mark Logic query console, I can confirm that urn:x-arq:LearningRecord has been created with triples in it.
But now if I query with QueryExecutionFactory like this

QueryExecution qexec = QueryExecutionFactory.create(query, dg.toDataset().getNamedModel("urn:x-arq:LearningRecord"));
ResultSet resultSet = qexec.execSelect();

then resultSet.hasNext() is false
But if I query without getNamedModel like this

QueryExecution qexec = QueryExecutionFactory.create(query, dg.toDataset());
ResultSet resultSet = qexec.execSelect();

then I can retrieve expected results. From IntelliJ debugger, I can also see that urn:x-arq:LearningRecord is part of the DatasetGraph

untitled

Is it possible to query triples in a specific named model? seems like the query will return triples from the union of all models.

FYI, Jena or Virtuoso doesn't have such issue.

Thanks

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions