PublicShow -- User preference handling

This module defines access to user-preferences. The API for the preference system is based on RDF. This allows for using the RDF-store for storing preferences, typically using the OpenID URI as subject. The actual storage infrastructure must be implemented using hooks in the cliopatria module: cliopatria:user_preference_db/2 and cliopatria:user_preference_default/2.

Preferences are defines in the RDF namespace with prefix user, which expands to:
Source user_preference(?Preference:resource, ?Value:object) is nondet
True if Preference has Value. Preference and Value use the RDF data-representation. E.g.,
?- user_preference(user:lang, literal(Lang))

Lang = en
See also
- cliopatria:user_preference_db/2 provides the storage hook
- cliopatria:user_preference_default/2 provides a hook for defaults
- builtin_default/2 provides built-in defaults