| Did you know ... | Search Documentation: |
| rdf_litindex.pl -- Search literals |
This module finds literals of the RDF database based on words, stemming and sounds like (metaphone). The normal user-level predicate is
rdf_set_literal_index_option(+Options:list)true, print progress messages while building the
index tables.self (execute in the same thread), thread(N) (execute
in N concurrent threads) or default (depends on number
of cores).
rdf_find_literal(+Spec, -Literal) is nondet
rdf_find_literals(+Spec, -Literals) is detSpec ::= and(Spec,Spec) Spec ::= or(Spec,Spec) Spec ::= not(Spec) Spec ::= sounds(Like) Spec ::= stem(Like) % same as stem(Like, en) Spec ::= stem(Like, Lang) Spec ::= prefix(Prefix) Spec ::= between(Low, High) % Numerical between Spec ::= ge(High) % Numerical greater-equal Spec ::= le(Low) % Numerical less-equal Spec ::= Token
sounds(Like) and stem(Like) both map to a disjunction. First we
compile the spec to normal form: a disjunction of conjunctions
on elementary tokens. Then we execute all the conjunctions and
generate the union using ordered-set algorithms.
Stopgaps are ignored. If the final result is only a stopgap, the predicate fails.
rdf_token_expansions(+Spec, -Extensions)
rdf_delete_literal_index(+Type)
rdf_tokenize_literal(+Literal, -Tokens) is semidet
rdf_stopgap_token(-Token) is nondetexclude_from_index(token, Token) is truedefault_stopgap(Token) is true
rdf_literal_index(+Type, -Index) is dettoken map maps tokens to full
literal texts.stem map maps stemmed to full tokens.metaphone map maps phonetic
keys to tokens.The following predicates are exported from this file while their implementation is defined in imported modules or non-module files loaded by this module.
rdf_find_literal(+Spec, -Literal) is nondet
rdf_find_literals(+Spec, -Literals) is detSpec ::= and(Spec,Spec) Spec ::= or(Spec,Spec) Spec ::= not(Spec) Spec ::= sounds(Like) Spec ::= stem(Like) % same as stem(Like, en) Spec ::= stem(Like, Lang) Spec ::= prefix(Prefix) Spec ::= between(Low, High) % Numerical between Spec ::= ge(High) % Numerical greater-equal Spec ::= le(Low) % Numerical less-equal Spec ::= Token
sounds(Like) and stem(Like) both map to a disjunction. First we
compile the spec to normal form: a disjunction of conjunctions
on elementary tokens. Then we execute all the conjunctions and
generate the union using ordered-set algorithms.
Stopgaps are ignored. If the final result is only a stopgap, the predicate fails.