Понимание Семантической сети и ее методов, синтаксиса, словарей и языков - PullRequest
1 голос
/ 14 июня 2010

Я только что познакомился с семантической сетью и ее семейством функций, но мне трудно понять некоторые из них, и я надеялся, что кто-то сможет мне это объяснить.

Насколько я понял, RDF может быть написан в нескольких синтаксисах. RDF / XML, Turtle и др.

Теперь я понимаю XML. Как это представлено и как его можно разобрать. Тем не менее, некоторые люди пишут в синтаксисе черепахи, но как они анализируют эту информацию? Я не могу найти ни одной библиотеки для какого-либо языка, чтобы «извлечь» информацию, записанную в синтаксисе черепахи, в другую форму. То же самое касается N3. Как это можно использовать? Выполнено или еще?

Кажется, я могу понять RDFa. Это способ внедрить RDF в XHTML. Для меня это способ внедрить RDF во что-то. Но как я могу сравнить это с черепахой, N3 или чем-то подобным?

Заранее спасибо.

Ответы [ 2 ]

6 голосов
/ 14 июня 2010

Во-первых, для ясности, когда мы говорим 'RDF', мы имеем в виду (в основе) набор троек:

<subject1> <predicate1> <object1>
<subject2> <predicate2> <object2>
...

Это простая база данных, а не «исполняемая».

Существует много способов написания RDF. RDF / XML является наиболее распространенным, но не самым очевидным, когда вы изучаете. N-Triples - самое простое, вы просто записываете тройки:

<subject1> <predicate1> <object1> .
<subject2> <predicate2> <object2> .
...

Черепаха похожа на N-тройки, но с множеством коротких путей. Это очень легко написать. Например, если у нас было:

<person> <age> 21 .
<person> <friend> <bob> .
<person> <friend> <alice> .
...

В черепахе мы можем избежать повторения, написав:

<person> <age> 21 ; 
         <friend> <bob> ,
         <alice> .

(я написал это в несколько строк, чтобы вы могли видеть, как выглядит тройная версия, но с пропущенными частями)

Вы найдете парсеры черепах для большинства библиотек RDF. Смотрите Jena (java), Redland (C), RDFLib (python), Trine (perl) и т. Д. Они берут черепаху и производят тройки, как это делают парсеры RDF / XML и RDFa.

Как только вы загрузите RDF, вы можете запросить его, обработать его, что бы вы ни делали с любым другим форматом данных.

RDFa - это странный формат RDF, поскольку он встроен во что-то другое (большая часть которого выбрасывается при преобразовании в тройки). Смысл RDFa в том, чтобы RDF более плавно интегрировался в сеть. Наличие как RDF-версии, так и HTML-версии моей личной информации является повторяющимся и сложным для развертывания. С помощью RDFa у меня может быть один документ, который предназначен как для браузеров, так и для пользователей rdf.

0 голосов
/ 15 июня 2010

Как человек с ограниченными навыками программирования, я обнаружил, что библиотеки ARC2 для PHP очень упрощают работу с RDF.На сайте есть хорошая документация и отличные примеры для начала.Он включает в себя парсеры для всех распространенных форматов, включая черепаху, и даже обнаружит формат и выберет правильный парсер, если вам это не нравится.

При анализе RDF ARC создает два различных типа ассоциативныхмассивы, которые довольно просты.Описание этих структур можно найти здесь .

Я никогда не думал, что скажу это, но PHP + ARC фактически сделал работу с RDF ... увлекательной.

...