Я думаю, что мы можем (должны?) Использовать стандартные префиксы с помощью предоставленных интерфейсов вместо их жесткого кодирования. Итак ...
?- rdf(S,P,O^^xsd:integer).
S = number,
P = (is),
O = 1.
?- rdf(S,P,O),rdf_equal(O,N^^xsd:integer).
S = number,
P = (is),
O = 1^^'http://www.w3.org/2001/XMLSchema#integer',
N = 1.
SWI-Prolog стремится к эффективности, и мы должны использовать предоставленные интерфейсы, потому что rdf_prefixes получают специальную обработку от термина переписать инфраструктуру, то есть литералы обрабатываются при компиляции / загрузке исходных файлов.
Имейте в виду: мы можем определить собственные префиксы аппликативного домена, чтобы использовать тот же режим, что и для стандартных.