rdf_http_plugin.pl -- RDF HTTP Plugin
This module allows loading data into the semantic web library directly from an HTTP server. The following example loads the RDF core data into the RDF database.
:- use_module(library(semweb/rdf_db)). :- use_module(library(semweb/rdf_http_plugin)). ..., rdf_load('http://www.w3.org/1999/02/22-rdf-syntax-ns')
- rdf_extra_headers(-RequestHeaders:list(compound), +Options:list) is det[private]
- Send extra headers with the request. Note that, although we also
process RDF embedded in HTML, we do not explicitely ask for it.
Doing so causes some (e.g., http://w3.org/2004/02/skos/core to
reply with the HTML description rather than the RDF).
When given, option
format(+atom)
is used in order to prioritize the corresponding RDF content types. - rdf_db:rdf_open_hook(+Scheme, +URL, +HaveModified, -Stream, -Cleanup, -Modified, -Format, +Options) is semidet[multifile]
- Load hook implementation for HTTP(S) URLs.
- ssl_verify(+SSL, +ProblemCert, +AllCerts, +FirstCert, +Error)[private]
- Currently we accept all certificates.
- modified_since_header(+LastModified, -ExtraHeaders) is det[private]
- Add an
If-modified-since
if we have a version with the given time-stamp. - open_envelope(+ContentType, +SourceURL, +Stream0, -Stream, ?Format) is semidet[private]
- Open possible envelope formats.
- rdf_accept_header_value(?Format:rdf_format, -AcceptValue:atom) is det[private]
- rdf_content_type(?MediaType:atom, ?QualityValue:between(0.0,1.0), ?Format:rdf_format) is nondet[multifile]
- Quality values are intended to be used in accordance with RFC
2616. Quality values are determined based on the following
criteria:
Label Criterion Value A Supported RDF parser 0.43 B RDF-specific content type 0.33 C Official content type 0.23 For example,
text/turtle
has quality value 0.99 because it is an official content type that is RDF-specific and that has a parser in Semweb.This intentionally allows the user to add another content type with a higher Q-value (i.e., >0.99).
Deduce the RDF encoding from the mime-type. This predicate is defined as multifile such that the user can associate additional content types to RDF formats.