| Did you know ... | Search Documentation: |
| Predicate rdf/3 |
Triples consist of the following three terms:
Alias:Local, where Alias and
Local are atoms. Each abbreviated IRI is expanded by the
system to a full IRI.| Datatype IRI | Prolog term |
|---|---|
| xsd:float | float |
| xsd:double | float |
| xsd:decimal | float (1) |
| xsd:integer | integer |
| XSD integer sub-types | integer |
| xsd:boolean | true or false |
| xsd:date | date(Y,M,D) |
| xsd:dateTime | date_time(Y,M,D,HH,MM,SS) (2,3) |
| xsd:gDay | integer |
| xsd:gMonth | integer |
| xsd:gMonthDay | month_day(M,D) |
| xsd:gYear | integer |
| xsd:gYearMonth | year_month(Y,M) |
| xsd:time | time(HH,MM,SS) (2) |
Notes:
(1) The current implementation of xsd:decimal values
as floats is formally incorrect. Future versions
of SWI-Prolog may introduce decimal as a subtype
of rational.
(2) SS fields denote the number of seconds. This can either be an integer or a float.
(3) The date_time structure can have a 7th field that
denotes the timezone offset in seconds as an
integer.
In addition, a ground object value is translated into a properly typed RDF literal using rdf_canonical_literal/2.
There is a fine distinction in how duplicate statements are handled in rdf/[3,4]: backtracking over rdf/3 will never return duplicate triples that appear in multiple graphs. rdf/4 will return such duplicate triples, because their graph term differs.
| S | - is the subject term. It is either a blank node or IRI. |
| P | - is the predicate term. It is always an IRI. |
| O | - is the object term. It is either a literal, a blank
node or IRI (except for true and false that denote the
values of datatype XSD boolean). |
| G | - is the graph term. It is always an IRI. |