-
Notifications
You must be signed in to change notification settings - Fork 70
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
canGoTo
of BitmapTriplesIterator
#212
Comments
By looking at the cpp code, I'll say they are wrong. First the check for the boundaries is inside de goto method and second because it is only for checking the max. A simple test would be to use a S?? pattern with S>1 and then try to goto 1 to see if it creates issues |
Thanks for the reply! You are right, in I used the On the other hand, in the |
I apologize for the inaccurate statement, On WatDiv10M, with the following arbitrary values: Long sId = hdt.getDictionary().stringToId("http://db.uwaterloo.ca/~galuc/wsdbm/City1", TripleComponentRole.SUBJECT);
Long pId = hdt.getDictionary().stringToId("http://www.geonames.org/ontology#parentCountry", TripleComponentRole.PREDICATE);
Long oId = hdt.getDictionary().stringToId("http://db.uwaterloo.ca/~galuc/wsdbm/Country23", TripleComponentRole.OBJECT); Only a few actually manage to skip. assertTrue(indeedSkipped(hdt, sId, 0L, 0L, 1)); // BitmapTriplesIterator fails
assertTrue(indeedSkipped(hdt, sId, pId, 0L, 1)); // BitmapTriplesIterator fails
assertTrue(indeedSkipped(hdt, sId, 0L, oId, 1)); // SequentialSearchIteratorTripleID unsupported operation
assertTrue(indeedSkipped(hdt, 0L, pId, 0L, 1)); // BitmapTriplesIteratorYFOQ fails
assertTrue(indeedSkipped(hdt, 0L, pId, oId, 1)); // BitmapTriplesIteratorZFOQ succeed
assertTrue(indeedSkipped(hdt, 0L, 0L, oId, 1)); // BitmapTriplesIteratorZFOQ succeed
assertTrue(indeedSkipped(hdt, sId, pId, oId, 1)); // BitmapTriplesIterator fails If I remember correctly, there should be more... |
I noticed a discrepancy between the
hdt-version
andhdt-cpp
onBitmapTriplesIterator
's functioncanGoTo
which forbidsgoTo
in the java version, except for?s ?p ?o
:In java, it checks if the triple pattern is fully unbounded.
In cpp, it is just
true
.The rest of the code of
goTo
seems similar, so, should the java version ofcanGoTo
simply returntrue
as well?The text was updated successfully, but these errors were encountered: