The Free On-line Dictionary of Computing (30 December 2018):
Any kind of programming language that specifies
output in terms of some property and some arguments. For
example, if Tom has two brothers, Dick and Harry, a relational
language will respond to the query "Who is Tom's brother?"
with either Dick or Harry. Notice that unlike functional
languages, relational languages do not require a unique
output for each predicate/argument pair. Prolog is the
best known relational language.