Question mark, plus, minus preceding Prolog variable names

I've searched for an explanation to this but haven't found one. What do the question mark, plus sign, and minus sign that sometimes precede variable names in the description of a Prolog predicate mean?

Example:

predicate(?Variable1,+Variable2,-Variable3)
22
задан sentinel 18 November 2010 в 23:17
поделиться