Assert a new triple. If O is a literal, certain Prolog terms are
translated to typed RDF literals. These conversions are
described with rdf_canonical_literal/2.
If a type is provided using Value^^Type syntax, additional
conversions are performed. All types accept either an atom or
Prolog string holding a valid RDF lexical value for the type and
xsd:float and xsd:double accept a Prolog integer.