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 explicitly 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.
- Arguments:
-
HaveModified | - is bound to a timestamp (number) if we already
have a copy and that copy was modified at HaveModified. |
Modified | - is bound to unknown , not_modified or a
timestamp. |
- ssl_verify(+SSL, +ProblemCert, +AllCerts, +FirstCert, +Error)
- 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.
- See also
- - Discussion http://richard.cyganiak.de/blog/2008/03/what-is-your-rdf-browsers-accept-header/
- - N-Quadruples http://www.w3.org/ns/formats/N-Quads
- - N-Triples http://www.w3.org/ns/formats/N-Triples
- - N3 http://www.w3.org/ns/formats/N3
- - RDFa http://www.w3.org/ns/formats/RDFa
- - TriG http://www.w3.org/ns/formats/TriG
- - Turtle http://www.w3.org/ns/formats/Turtle
- - XML/RDF http://www.w3.org/ns/formats/RDF_XML
- bug
- - The turtle parser only parses a subset of n3.
(The N3 format is treated as if it were Turtle.)