Apache Jena е Java framework (библиотека и инструменти с отворен код), предназначен за изграждане на семантични уеб приложения, които работят с RDF (Resource Description Framework), OWL, SPARQL и други технологии от Semantic Web стандарта, определен от W3C.
Какво може Apache Jena:
Apache Jena ти позволява да:
- Създаваш, съхраняваш и обработваш RDF данни
- Работиш с онтологии (OWL – Web Ontology Language)
- Изпълняваш SPARQL заявки върху RDF тройки
- Импортираш и експортираш данни във формати като Turtle, RDF/XML, N-Triples и др.
- Интегрираш reasoners (логически изводи) за дедуктивно извличане на знание
- Изграждаш RDF triple store, базиран на Fuseki – уеб сървър за SPARQL
Основни компоненти на Jena:
| Компонент | Описание |
|---|---|
| RDF API | Работа с RDF графи и тройки (subject-predicate-object) |
| OWL API | Обработка на онтологии и класови отношения |
| SPARQL Engine | Изпълнение на заявки към RDF графи |
| TDB / TDB2 | Локално съхранение на RDF данни (triple store) |
| Fuseki | HTTP сървър за SPARQL заявки и управление на данни |
| Reasoners | Поддръжка на логика и дедукция по RDFS/OWL правила |
Примерен Java код с Jena:
Model model = ModelFactory.createDefaultModel();
model.read("data.ttl");
String queryString = "SELECT ?s ?p ?o WHERE { ?s ?p ?o }";
Query query = QueryFactory.create(queryString);
try (QueryExecution qexec = QueryExecutionFactory.create(query, model)) {
ResultSet results = qexec.execSelect();
ResultSetFormatter.out(System.out, results, query);
}
Къде се използва:
- Семантични уеб приложения
- Свързани данни (Linked Data)
- Онтологии в науката и образованието
- Интелигентно търсене и препоръчване
- Изграждане на знание-бази за AI