packages-semweb
packages-semweb copied to clipboard
The SWI-Prolog RDF store
Blank nodes that are generated while parsing RDF/XML look a bit complicated. A simple example: ```prolog ?- rdf_load('http://www.gemeentegeschiedenis.nl/gemeentenaam/rdfxml/Adorp'). ?- rdf(S, 'http://www.opengis.net/ont/geosparql#asWKT', _). S = '_:http://www.gemeentegeschiedenis.nl/gemeentenaam/rdfxml/Adorp#_:Description1', ``` This seems to be...
The official list with errata for RDF 1.1 specifications (https://www.w3.org/2001/sw/wiki/RDF1.1_Errata) has recently been extended with a better version of the N-Triples 1.1 grammar: https://lists.w3.org/Archives/Public/public-rdf-comments/2017Jun/0000.html This version makes the occurrence of...
'Predicates' are sometimes called 'properties', e.g., `rdf_statistics/1`. 'Instances' are sometimes called 'individuals', e..g, `rdfs_individual_of/2`.
The following documentation seems outdated: ```text rdf_global_id(?Id, :GlobalId) is det. Convert between NS:Local and global atomic identifier. To be completed. Note that the predicate is a meta-predicate on the output...
When we perform Basic Graph Pattern (BGP) queries we can often deduce that instantiations must be of a specific type. E.g., in the following BGP there is no need to...
Keri's algorithm for resizing the atom table is way cleaner with less time and space overhead than the one used in the RDF library. Rewriting most likely also fixes the...
CHR and RDF do not play well together ATM. This is because of the following reasons: 1. RDF prefix expansion does not work in CHR rules. 2. The CHR store...
If `O` in `rdf(S, P, O)` is an expensive literal (in terms of `in_ground_type_hook/3` and `out_type_hook/3`) then it may be better to first match to the unparsed `rdf_db` term `literal(type(D,Lex))`...
Proposals 1. Introduce abbreviations into the `rdf/[3,4]` syntax, e.g., the use of `a` in predicate position and the use of lists of RDF terms i.o. singular RDF terms. 2. Quasiquotation...
Made a first attempt that is not very performant. There seems to be some looping. Proposed API: - `rdf_mt(?S, ?P, ?O)` - `rdf_mt(?S, ?P, ?O, -Tree)` - `rdf_property(?P)` - `rdfs_class(?C)`...