- hdt_open(-HDT, +File) is det
- hdt_open(-HDT, +File, +Options) is det
- Open an existing HDT file and unify HDT with a handle to it. The
handle is an opaque symbol that is subject to (atom) garbage
collection.
File is expanded by absolute_file_name/3, with the default
extension `.hdt`.
Options:
- access(+Access)
- How the file is accessed. One of
map
(map the file
into memory, default) or load
(load the content of the
file).
- indexed(+Boolean)
- Whether an index is created. Default is
true
. Such an index
is needed for partially instantiated calls to hdt_search/4.
The index is maintained in a file with extension `.index.v1-1`
in the same directory as the HDT file. (When the index is
created, some statistics are printed to standard error.)
An index is not needed if you only want to extract all
triples.
- hdt_search(+HDT, ?S, ?P, ?O)
- True if <S,P,O> is a triple in HDT.
- hdt_header(+HDT, ?S, ?P, ?O)
- True if <S,P,O> is a triple in the header of HDT.
- hdt_subject(+HDT, ?S) is nondet
- hdt_predicate(+HDT, ?P) is nondet
- hdt_object(+HDT, ?O) is nondet
- hdt_shared(+HDT, ?SO) is nondet
- hdt_node(+HDT, ?Node) is nondet
- Enumerate possible values for the individual components of the
triples represented in the HDT. Note that these enumarators do
not enumerate blank nodes. The predicate hdt_shared/2
enumerates resources that exist in the dataset both as subject
and object. If the second argument is instantiated
hdt_search/4 is used to perform an indexed search and the
predicates are semidet.
- hdt_suggestions(+HDT, +Base, +Role, +MaxResults, -Results:list) is det
- True when Results is a list of suggestions for Base in the
triple role Role. Some experimentation suggests it performs a
prefix match on the internal string representation. This implies
that literals are only found if the first character of Base is
`"`.
- Arguments:
-
Base | - is a string or atom |
Role | - is one of subject , predicate or object |
- hdt_property(+HDT, ?Property) is nondet
- True if Property is a property of HTD. Defined properties are
mapping(-Mapping)
max_id(-ID)
)
max_object_id(-ID)
)
max_predicate_id(-ID)
)
max_subject_id(-ID)
)
objects(-Count)
)
predicates(-Count)
)
shared(-Count)
)
subjects(-Count)
)
elements(-Count)
)
- hdt_subject_id(+HDT, ?Subject:atom, ?Id:integer) is semidet
- hdt_predicate_id(+HDT, ?Predicate:atom, ?Id:integer) is semidet
- hdt_object_id(+HDT, ?Object:any, ?Id:integer) is semidet
- True if String is mapped to Id in the given role. Fails if the
requested String or Id is not known for the given role in HDT.
- Arguments:
-
Role | - is one of subject , predicate or object |
- hdt_pre_triple(+HDT, ?TripleIn, -TripleID) is det
- hdt_post_triple(+HDT, ?TripleIn, +TripleID) is det
- Perform term->id and id->term translation for triples. The
predicate hdt_search/4 could be defined as:
hdt_search(HDT, S, P, O) :-
Triple = t(S,P,O),
TripleID = t(SID,PID,OID),
hdt_pre_triple(HDT, Triple, TripleID),
hdt_search_id(HDT,SID,PID,OID),
hdt_post_triple(HDT, Triple, TripleID).
- See also
- - hdt_search_id/4.
- hdt_search_id(+HDT, ?S:integer, ?P:integer, ?O:integer) is nondet
- True if a triple with the indicated identifiers exists.
- hdt_search_cost(HDT, ?S, ?P, ?O, -Cost:nonneg) is det
- hdt_create_from_file(+HDTFile, +RDFFile, +Options)
- Create a HDT file from an RDF file. The format of RDFFile
defaults to
ntriples
format. The file names are expanded using
absolute_file_name/3, but without any default extension (this
is different from hdt_open/3 works). Options:
- base_uri(+URI)
- URI is used for generating the header properties (see
http_header/4.
- format(+Notation)
- Notation is one of:
ntriples
, nt
, turtle
, ttl
, nquads
, nq
, trig
(also upper/lower case variants such as "TriG" or "TTL")
defaults to ntriples
.
Undocumented predicates
The following predicates are exported, but not or incorrectly documented.
- hdt_open(Arg1, Arg2, Arg3)
- hdt_close(Arg1)
- hdt_predicate(Arg1, Arg2)
- hdt_shared(Arg1, Arg2)
- hdt_object(Arg1, Arg2)
- hdt_node(Arg1, Arg2)
- hdt_predicate_id(Arg1, Arg2, Arg3)
- hdt_object_id(Arg1, Arg2, Arg3)
- hdt_post_triple(Arg1, Arg2, Arg3)