gtfierro/hod-v1

order in query matters more than it should?

Closed this issue · 2 comments

Using the berkeley.ttl dataset, this query in hod (using the latest git version as of the other day, though built on a Mac):

SELECT ?ahu
WHERE {
?ahu bf:feeds soda_hall:vav_C711 .
?ahu rdf:type brick:AHU .

};

gives back one row (ahu_A3)

but if you swap the order:

SELECT ?ahu
WHERE {
?ahu rdf:type brick:AHU .
?ahu bf:feeds soda_hall:vav_C711 .
};

You get back 5 AHUs - A1 through A5.

Running the same two queries through rdflib (using the brick_database_eval code), they both come back with only A3.

Thanks for the bug report! Yeah, that's definitely wrong. I'll take a look when I get a chance.

Pretty sure the error is in the resolveSubject operator. Its probably not properly intersecting the different result sets, but I want to make sure that the fix I have in mind doesn't create issues elsewhere

This should be fixed as of 85efd8a, but I'm leaving this open to remind myself to fix some internal issues with the database