Понимание семантической сети и ее методов, синтаксиса, словарей и языков

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

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

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

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

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


person bleakgadfly    schedule 14.06.2010    source источник


Ответы (2)


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

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

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

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

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

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

<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.

person user205512    schedule 14.06.2010

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

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

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

person wynz    schedule 15.06.2010