A semantic web architecture for advocate agents to determine preferences and facilitate decision making