A context-aware and QoS-enabled approach is described that uses a knowledge-based semantic recommendation method, a fuzzy logic-based decision-making strategy, and an adaptive QoS mapping mechanism to support content provisioning in ubiquitous learning. Three ontologies were designed to ease knowledge interoperability and sharing. They are a context ontology, a learning content ontology, and a domain ontology. The content recommendation procedure consists of four steps, semantic relevance calculation, recommendation refinement, learning path generation, and recommendation augmentation. The student can get a recommendation list with respect to semantic relevance but it could include overwhelming amounts of information or contents that don't match the student's preferences. When the student selects an item from the recommendation list, the system generates a learning path that connects prerequisite contents with the target content.