diff options
author | David Robillard <d@drobilla.net> | 2012-03-30 02:19:52 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2012-03-30 02:19:52 +0000 |
commit | ff3c6fc88657d2e94847ceb00adea7597894d897 (patch) | |
tree | 95931a641722a75fb3ed306e7960f3f179680eaf /src/sord.c | |
parent | 43ee05bf7402c47e7034490bfebf08d3f57900e7 (diff) | |
download | sord-ff3c6fc88657d2e94847ceb00adea7597894d897.tar.gz sord-ff3c6fc88657d2e94847ceb00adea7597894d897.tar.bz2 sord-ff3c6fc88657d2e94847ceb00adea7597894d897.zip |
Add convenient sord_search(), sord_ask(), and sord_count().
Add sord_validate tool for validating data against RDF/OWL schemas.
git-svn-id: http://svn.drobilla.net/sord/trunk@211 3d64ff67-21c5-427c-a301-fe4f08042e5a
Diffstat (limited to 'src/sord.c')
-rw-r--r-- | src/sord.c | 38 |
1 files changed, 38 insertions, 0 deletions
@@ -816,6 +816,44 @@ sord_find(SordModel* sord, const SordQuad pat) return sord_iter_new(sord, cur, pat, index_order, mode, n_prefix); } +SordIter* +sord_search(SordModel* model, + const SordNode* s, + const SordNode* p, + const SordNode* o, + const SordNode* g) +{ + SordQuad pat = { s, p, o, g }; + return sord_find(model, pat); +} + +bool +sord_ask(SordModel* model, + const SordNode* s, + const SordNode* p, + const SordNode* o, + const SordNode* g) +{ + SordQuad pat = { s, p, o, g }; + return sord_contains(model, pat); +} + +uint64_t +sord_count(SordModel* model, + const SordNode* s, + const SordNode* p, + const SordNode* o, + const SordNode* g) +{ + SordIter* i = sord_search(model, s, p, o, g); + uint64_t n = 0; + for (; !sord_iter_end(i); sord_iter_next(i)) { + ++n; + } + sord_iter_free(i); + return n; +} + bool sord_contains(SordModel* sord, const SordQuad pat) { |