In this study we develop a hybrid (dual-strategy) routing protocol for wireless sensor networks. This protocol can be used for two purposes at the same time. First, the protocol is responsible for routing data within sensor networks. These networks are composed of nodes with different capabilities and resources. The routing in this case is data-oriented. That is, it searches for nodes that can provide data with certain attributes rather than nodes with certain addresses. Second, it is used to route data between the capable nodes that are members of the sensor network in an address-oriented fashion. In this latter case, network sensor nodes are not involved in the communications or data routing between the capable nodes, which results in saving the energy and computing resources of these sensor nodes.