In many applications, tasks can be delegated to intelligent agents. In order to carry out a task, an agent should reason about what types of resources the task requires. However, determining the right resource types requires extensive expertise and domain knowledge. In this paper, we propose means to automate the selection of resource types that are required to fulfill tasks. Our approach combines ontological reasoning and logic programming for a flexible matchmaking of resources to tasks. Using the proposed approach, intelligent agents can autonomously reason about the resources and tasks in various real-life settings. Using a case-study, we describe and evaluate how agents can use the proposed approach to promote resource sharing. Our evaluations show that the proposed approach is efficient and very useful for multi-agent systems. Categories and Subject Descriptors I.2.11 [Distributed Artificial Intelligence]: Multiagent Systems General Terms Design, Experimentation Keywords Knowled...