www.machinelearningmastery.ru

Машинное обучение, нейронные сети, искусственный интеллект
Header decor

Home
Занимательная история, выдающиеся люди, малоизвестные факты, находки, открытия, фальсификации. Присоединяйся!

Небольшое введение в Apache Jena

Дата публикации Oct 3, 2019

Jena - это Java API для RDF. Круто. Предположим, вы уже знаете, что такое API, но RDF довольно размыт для большинства из нас, по крайней мере, для тех, кто не запятнал себя в Social Semantic Web. Даже не спрашивайте, что такое Social Semantic Web, потому что для понимания того, что это такое, требуется 3 часа лекции и 40 страниц чтения в неделю. В любом случае, RDF, что означает Resource Description Framework. Хм .. Как я вижу, есть ресурс, который нужно описать. Что это за ресурс? Я не знаю ничего, что можно описать, поэтому есть целая структура для его описания, дох! То, как мы описываем ресурсы, выглядит просто как формат XML, но только как синтаксис, значение совершенно иное, чем у объекта XML. RDF можно описать как модель данных. Мы знаем, что ресурс уже существует, он также может иметь свойства. Каждое свойство имеет значение, а значение называется литералом. Для лучшего понимания посмотрите на это.

У нас есть человек, определенно выдуманный человек, если мы когда-нибудь попытаемся получить доступ к этому сайту через наш браузер, мы ничего не получим Это не потому, что Джон Смит - вымышленный персонаж. Объект эллипса, который вы видите, является ресурсом и идентифицируется унифицированным идентификатором ресурса (URI), а не URL, в данном случае «http: //.../JohnSmith». Если вы не знаете, что такое URI, то проверьте его но позже, пока вы можете думать, что это странно выглядящее имя.

В этом примере есть одно свойство, которое является полным именем Джона Смита. Это свойство представлено дугой. В дуге то, что мы видим перед «:», называется префиксом пространства имен. После «:» мы видим локальное имя, которое является именем в пространстве имен. Кроме того, это VCARD, я не буду много говорить о vCard. vCard онтология используется для описания людей и организаций

Наконец, мы можем рассматривать литералы как строки символов для этого примера.

Вот так может выглядеть базовый RDF. У нас есть ресурс, свойство этого ресурса и значение свойства. В этом случае свойство имеет полное имя и значение «Джон Смит».

Jena - это Java API, который можно использовать для создания и управления RDF-графами, подобными этому, который построен из ресурса, свойства и значения. В Jena есть классы объектов для представления графиков, ресурсов, свойств и литералов. Интерфейсы, представляющие ресурсы, свойства и литералы, называются Resource, Property и Literal соответственно. В Йене граф называется моделью и представлен интерфейсом модели.

Код для создания этого графика или модели выглядит следующим образом:

// some definitions
static String personURI = "http://somewhere/JohnSmith";
static String fullName = "John Smith";

// create an empty Model
Model model = ModelFactory.createDefaultModel();

// create the resource
Resource johnSmith = model.createResource(personURI);

// add the property
johnSmith.addProperty(VCARD.FN, fullName);

Он начинается с некоторых постоянных определений, а затем создает пустую модель, модель, используяModelFactory’s createDefaultModel()создать модель на основе памяти. Jena содержит другие реализации интерфейса Model, я не буду сейчас о них говорить.

Затем создается ресурс Джона Смита и к нему добавляется свойство. Свойство предоставляется «постоянным» классом VCARD, который содержит объекты, представляющие все определения в схеме VCARD. Jena предоставляет константные классы для других хорошо известных схем, таких как RDF и RDF.

Код для создания ресурса и добавления свойства может быть более компактно написан в каскадном стиле:

Resource johnSmith =
model.createResource(personURI)
.addProperty(VCARD.FN, fullName);

Легко начать, как вы видите. Некоторая информация и код взяты изhttps://jena.apache.org/tutorials/rdf_api.html, Там есть больше примеров и более глубокое понимание, определенно проверьте это. Также было бы гораздо лучше, если бы вы сами занимались программированием.

Как вы видите, есть много информации, которую вы должны знать, если вы хотите быть в этой области. Однако это непростая задача, изучая все эти понятия. Apache Jena - хороший способ приблизиться к изучению этих понятий. Поскольку практика помогает усвоить теоретическую часть, при использовании Йены вы будете изучать концепции, и в то же время у вас будет возможность практиковать новые концепции.

Оригинальная статья

Footer decor

© www.machinelearningmastery.ru | Ссылки на оригиналы и авторов сохранены. | map