Re: ваш первый вопрос - почему вы хотите использовать RDF для поиска по ключевым словам? Поиск по ключевым словам не является семантическим, и существует множество устоявшихся структур и API для поиска по ключевым словам, таких как Lucene.
Re: ваш второй вопрос, сравнивая RDF и OWL, сравнивает яблоки и апельсины. RDF в основном предназначен для объявления данных, но OWL - это слой поверх RDF, который предназначен для объявления онтологий (схем). Более значимым было бы сравнение между RDFS (RDF Schema) и OWL, которые оба относятся к уровню онтологии.
Пример:
В RDF вы можете заявить, что Джон Смит - это Человек, которому исполнилось 42 года, и он женат на Джилл Смит.
В RDFS или OWL вы бы объявили, что Person - это класс, hasAge - это свойство (с доменом Person и диапазоном xsd: integer), а замужние - это свойство (с доменом и диапазоном Person).
В OWL вы также можете объявить, что замужние - это симметричное свойство (если А состоит в браке с В, то B должен быть женат на А). RDF не такой мощный, поэтому вы не можете сделать это конкретное утверждение, поэтому не можете делать выводы о симметричных свойствах и т. Д.