Что такое RDF-тройка?
С точки зрения непрофессионала, что такое RDF-тройка?
14 ответов
Я думаю, что вопрос нужно разделить на две части - что такое тройка и что делает "тройку RDF" такой особенной?
Во-первых, тройка - это, как уже указывало большинство других комментаторов, оператор в форме "субъект / предикат / объект", т. Е. Оператор, связывающий один объект (субъект) с другим объектом (объектом) или литералом через предикат. Мы все знакомы с тройками: тройка является наименьшим неприводимым представлением для бинарных отношений. Простым английским языком: электронная таблица - это набор троек, например, если столбец в вашей электронной таблице имеет заголовок "Paul", а строка имеет заголовок "has Sister", а значение в ячейке - "Lisa". Здесь у вас есть тройка: у Пола (субъекта) есть Сестра (предикат) Лиза (буквально / объект).
Что делает RDF-тройки особенными, так это то, что КАЖДАЯ ЧАСТЬ тройки имеет URI, связанный с ним, поэтому повседневное утверждение "Майк Смит знает Джона Доу" может быть представлено в RDF как:
uri://people#MikeSmith12 http://xmlns.com/foaf/0.1/knows uri://people#JohnDoe45
Аналогия с электронной таблицей состоит в том, что, присваивая каждой части URI уникальный адрес, вы даете ячейке в электронной таблице все ее адресное пространство... так что вы можете в принципе прикрепить каждую ячейку (если она выражена в тройках RDF) электронную таблицу в другой документ на другом сервере и воссоздать электронную таблицу с помощью одного запроса.
Редактировать: этот раздел официальной документации касается исходного вопроса.
RDF Triple - это оператор, который связывает один объект с другим. Например:
"gcc" "Compiles" "c" .
"gcc" "compiles" "Java" .
"gcc" "compiles" "fortran" .
"gcc" "has a website at" <http://gcc.gnu.org/> .
"gcc" "has a mailing list at" <mailto:gcc-help@gcc.gnu.org> .
"c" "is a" "programming language" .
"c" "is documented in" <http://www.amazon.com/Programming-Language-Prentice-Hall-Software/dp/0131103628/ref=pd_bbs_sr_1?ie=UTF8&s=books&qid=1226085111&sr=8-1> .
Файл RDF должен анализироваться до списка троек.
Тройка состоит из субъекта, предиката и объекта. Но что это на самом деле означает?
Предмет, ну, в общем, предмет. Он определяет, какой объект описывает тройка.
Предикат определяет часть данных в объекте, которому мы присваиваем значение.
Объект является фактической стоимостью.
От: http://www.robertprice.co.uk/robblog/archive/2004/10/What_Is_An_RDF_Triple_.shtml
Что касается ответа Адама Н. Я полагаю, что ФП задал предыдущий вопрос, касающийся данных для социальной сети, поэтому, хотя ответ отличный, я просто уточню в отношении "оригинального оригинального" вопроса. (Как я чувствую ответственность).
Джон | Друг | Джеймс Джеймс | Друг | Джил Джилл | Любит | Катание на сноуборде Сноуборд | Это | спорт
Используя такие тройки, вы можете получить действительно гибкую структуру данных.
Посмотрите на друга друга (FOAF), возможно, для лучшего примера.
RDF - это язык, т. Е. Система знаков, синтаксиса и семантики для кодирования и декодирования информации (данные в некотором контексте).
В RDF единица наблюдения (Данные) представлена предложением, которое состоит из трех частей: субъект, предикат, объект. По сути, это фундаментальная структура естественной языковой речи.
Знак, используемый для обозначения сущностей (вещей), участвующих в отношениях сущностей, представленных RDF, является IRI (который включает в себя HTTP URI). Каждый субъект и предикат (и, необязательно, объект) компонента предложения RDF обозначается IRI.
Синтаксис (грамматика) является абстрактным (то есть он может быть представлен с использованием различных обозначений) в форме субъекта, предиката и порядка расположения объектов.
Семантика (часть, которую чаще всего упускают из виду) полностью связана со значением ролей субъекта, предиката и объекта в выражении RDF.
Когда вы используете HTTP URI для обозначения субъекта оператора RDF, предикатов и (необязательно) объектов, вы в конечном итоге получаете структурированные данные (коллекции типов отношений сущностей), которые образуют сеть - так же, как вы это делаете сегодня в World Wide Web.
Когда семантика предиката (в частности) в выражении RDF понятна как для машины, так и для человека, у вас есть сеть типов отношений сущностей, которые обеспечивают мощное кодирование информации, которая является основой для знаний (логического вывода и рассуждения).
Вот примеры простых операторов RDF:
{
<#this> a schema:WebPage .
<#this> schema:about dbpedia:Resource_Description_Framework .
<#this> skos:related <https://stackru.com/questions/30742747/convert-a-statement-with-adjective-in-rdf-triple/30836089#30836089> .
}
Я использовал фигурные скобки, чтобы заключить примеры, чтобы этот пост превратился в живую демонстрацию связанных данных на основе RDF, благодаря относительным HTTP-URI и #
основанный идентификатор фрагмента (индексный).
Результаты операторов RDF, встроенных в этот пост, любезно предоставлены nanotation (встраивание операторов RDF везде, где принят текст):
- Страница описания базового объекта - каждый оператор идентифицируется гиперссылкой, которая разрешается в его описании (субъект, предикат, части объекта)
- Страница с более глубоким граненым просмотром - альтернативное представление, которое позволяет глубже исследовать и обнаруживать, следуя по гиперссылкам, которые составляют сеть данных или сеть связанных данных.
- Описание встроенного оператора - О конкретном операторе RDF.
Вот визуализация, сгенерированная из троек, встроенных в этот пост (с использованием нашего расширения браузера для структурированных данных с использованием RDF-Turtle Notation:
Обратите внимание, что это может быть немного сложнее. RDF-тройки также могут рассматриваться как Субъекты или Объекты, поэтому у вас может быть что-то вроде: Барт -> сказал -> (тройки -> может быть -> объекты)
Я собираюсь согласиться с A Pa частично, даже если за него проголосовали.
Фон: я лингвист, со степенью доктора наук в этой области, и я работаю в компьютерной лингвистике.
Утверждение, что "... предложение, состоящее из трех частей: субъект, предикат, объект. По сути, это фундаментальная структура речи на естественном языке" (которую А Па цитирует из ответа Кингсли Уи Идейена), просто неверно. И это не только то, что Кингсли говорит это, я слышал это от многих сторонников троек RDF.
Это неправильно по многим причинам, например: Предикаты (возможно, в английском и во многих других естественных языках) состоят из глагола (или глаголоподобной вещи) + объекта (и, возможно, других дополнений). Это определенно НЕ тот случай, когда синтаксическая структура английского языка является Subj-Pred-Obj.
Кроме того, не все предложения на естественном языке в английском языке имеют объект; В непереходные глаголы, в частности, по определению не берут объекты. И глаголы погоды (между прочим) даже не берут "реальный" предмет (у "этого" из "идет дождь" нет благоговения). А с другой стороны, дитранзитивные глаголы типа "дать" принимают как прямой, так и косвенный объект. Кроме того, существуют глаголы типа "положить", которые в дополнение к прямому объекту принимают локатор, или "сказать", которые принимают объект и предложение. Не говоря уже о дополнениях, таких как время и манера наречий.
Да, конечно, вы можете представлять встроенные предложения как встроенные тройки (в той степени, в которой вы можете представлять любое утверждение как тройки, что, как я надеюсь, вы пояснили, вы не можете), но я не думаю, что вы можете сделать в RDF (по крайней мере, я никогда не видел, чтобы это было сделано, и кажется, что потребуется четыре) это иметь как объект, так и вложенное предложение. Точно так же как прямой и косвенный объект, или дополнения.
Поэтому, какой бы ни была мотивация для тройки RDF, я бы хотел, чтобы защитники перестали притворяться, что существует лингвистическая мотивация или что тройки в любом случае напоминают синтаксис естественного языка. Потому что они этого не делают.
RDF Triple - это фактическое выражение, которое определяет способ представления отношений между объектами. Тройка состоит из трех частей: субъект, предикат и объект (обычно написанные в одном и том же порядке). Предикат относится к субъекту объекта.
Тема ---- Предикат ---> Объект
Более полезную информацию можно найти по адресу:
Простой ответ может состоять в том, что тройка RDF - это представление некоторых знаний с использованием модели данных RDF. Эта модель основана на идее создания заявлений о ресурсах (в частности, URI веб-ресурсов) в форме выражений субъект-предикат-объект. RDF - это стандартная модель для обмена данными в сети. RDF имеет функции, которые облегчают объединение данных, даже если базовые схемы различаются, и он, в частности, поддерживает эволюцию схем с течением времени, не требуя изменения всех потребителей данных. Я рекомендую эту статью, чтобы узнать как: https://www.w3.org/DesignIssues/RDF-XML.html
Прошло некоторое время с тех пор, как я работал с RDF, но здесь это идет:D
Тройка - это субъект, предикат и объект.
Субъект - это URI, который однозначно идентифицирует что-то. Например, ваш openid однозначно идентифицирует вас.
Объект определяет, как субъект и объект связаны между собой.
Предикат является некоторым атрибутом субъекта. Например имя.
Учитывая это, тройки образуют граф S->P. Учитывая больше триплетов, график растет. Например, вы можете идентифицировать того же человека в качестве субъекта группы троек, затем вы можете соединить все предикаты с помощью этого уникального субъекта.
Тройной объяснил пример
Будь там таблица, которая связывает пользователей и вопросы.
ТАБЛИЦА dc: создатель ------------------------- | Вопрос | Пользователь | ------------------------- | 45 | 485527 | | 44 | 485527 | | 40 | 485528 |
Концептуально это можно выразить в трех тройках RDF, таких как...
<question:45> <dc:creator> <user:485527>
<question:44> <dc:creator> <user:485527>
<question:40> <dc:creator> <user:485528>
... чтобы каждая строка была преобразована в одну triple
это относится пользователя к вопросу. Общая форма каждой тройки может быть описана как:
<Subject> <Predicate> <Object>
Одна из особенностей RDF заключается в том, что вы можете (или должны) использовать URI/ IRI для идентификации объектов, а также отношений. Узнайте больше здесь. Это позволяет каждому повторно использовать уже существующие отношения (предикаты) и публиковать утверждения о произвольных объектах в www.
Пример, относящийся к SO-ответу его создателя:
<https://stackru.com/a/49066324/1485527>
<http://purl.org/dc/terms/creator>
<https://stackru.com/users/1485527>
Можно рассматривать тройку как тип предложения, в котором говорится об одном "факте" о ресурсе. Прежде всего, чтобы понять RDF Triple, вы должны знать, что каждая вещь в RDF определяется с точки зрения URI http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference
или пустой узел http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-blank-node
,
RDF Triple состоит из трех компонентов:- 1) субъект 2) предикат 3) объект Например:- Pranay hasCar Ferrari Здесь субъект - Pranay, hasCar - предикат, а Ferrari - объект. Каждый из них определяется с помощью RDF-URI. Для получения дополнительной информации вы можете посетить: - http://www.w3.org/TR/owl-ref/
Как разработчик, я некоторое время боролся, пока, наконец, не понял, что такое RDF и его шутки, в основном потому, что я всегда видел мир через код, а не через данные.
Учитывая, что это опубликовано в Stackru, вот аналогия с Java, которая в итоге заставила меня щелкнуть: тройка RDF - это данные, которые метод / параметр класса должен кодировать.
Так:
- Класс с именем пакета - это субъект
- Метод этого класса - Предикат
- Параметром (-ами) в методе является Object, которые сами представлены классами
- Контексты являются операторами импорта, чтобы избежать написания полного канонического имени классов
Единственный момент, когда эта аналогия немного нарушается, это то, что предикаты также имеют пространства имен, а методы - нет. Но общие отношения, созданные между экземплярами класса как Subject и Object при использовании Predicate, отражают идею вызова метода для выполнения чего-либо.
По сути, RDF - это данные, а OO - код.
См.: http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/
RDF-тройка содержит три компонента:
- субъект, который является ссылкой UD RDF или пустым узлом
- предикат, который является ссылкой RDF URI
- объект, который является ссылкой URI RDF, литералом или пустым узлом
где литералы - это по существу строки с необязательными языковыми тегами, а пустые узлы также являются строками. URI, литералы и пустые узлы должны быть из попарно непересекающихся множеств.