Knowledge Engineering: Survey and Future Directions