I don't have much experience with it but, as I understand it, you specify rules and facts and, based on those, you execute a query.
Currently it is being used at the university I studied to automatically generate the timetable for each faculty (which class is where and when) since it fits the language very well. You have teachers that are available at a certain time interval each day, rooms that fit a certain number of people, classes that have to be before other classes and so on.
Those are your facts and rules, after which you could tell Prolog "give me all timetables". Using backtracking it will automagically find states that meet those criterias, in this case, a valid timetable.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.