The library provides operations on UUIDs. Please consult other sources for understanding UUIDs and the implications of the different UUID versions. Some typical calls are given below:
?- uuid(X). X = 'ea6589fa-19dd-11e2-8a49-001d92e1879d'. ?- uuid(X, [url('http://www.swi-prolog.org')]). X = '73a07870-6a90-3f2e-ae2b-ffa538dc7c2c'.
- uuid(-UUID) is det
- UUID is an atom representing a new UUID. This is the same as
uuid(UUID, ). See uuid/2 for options.
- uuid(-UUID, +Options) is det
- Create a new UUID according to Options. The following options
- Integer in the range 1..5, which specifies the UUID version that is created. Default is 1.
- Provide additional context information for UUIDs using version 3 or 5. If there is no explicit version option, UUID version 3 is used.
- Representation of the UUID. Default is
atom, yielding atoms such as
8304efdd-bd6e-5b7c-a27f-83f3f05c64e0. The alternative is
integer, returning a large integer that represents the 128 bits of the UUID.
If SWI-Prolog was not built with the OSSP UUID dependency library a simple Prolog alternative that only implements version 4 random UUIDs is provided. In this case the default version is 4 and the only admissible options are
- uuid_property(+UUID, ?Property)
- True when UUID is a property of the given UUID. Supported properties
- Return the version of the UUID (1..5)
- Time using SWI-Prolog's time stamp (float with seconds since January 1, 1970, UTC). Only for version 1 and 2 UUIDs