2016-01-19 4 views
1

Я просто вхожу в семантический мир, и я не могу понять некоторые вещи. Я пытаюсь выяснить, как проверить, какой элемент является элементом HTML, на основе тегов Microdata на нем. Я работаю с расширением Firefox, поэтому у меня нет ограничений на запросы и материалы с низкими привилегиями. Мне просто нужно выяснить, что это за элемент и отобразить предупреждение на понятном пользователю языке (например, MusicRecording), зная тип определенной «вещи» в схеме. Рассмотрим микроданных пример:Потребление данных JSON от getschema.org IOT получить имя «вещь»

<div itemscope itemtype="http://schema.org/MusicRecording"> 
    <span itemprop="byArtist" itemscope itemtype="http://schema.org/MusicGroup"> 
    British rock band 
    <span itemprop="name">Queen</span> 
    </span> 
    for their 
    <span itemprop="inAlbum" itemscope itemtype="http://schema.org/MusicAlbum"> 
    <span itemprop="dateCreated">1977</span> album 
    <span itemprop="name">News of the World</span> 
    </span> 
<div> 

Читая ItemType мне нужно, чтобы иметь возможность получить имя вещи (что-то вроде «Music Recording»), но не анализируя строки; «правильно», запросив что-то и прося об этом. Дело в том, что я не могу найти REST api или что-то подобное для получения имени, и мне нужно сделать это с помощью чистого javascript.

Итак ... Любая подсказка/идея? (помимо запроса DOM такого URL-адреса)

+0

Я не уверен, что понимаю ... Для вашего примера разметки вы хотите получить строку «Music Recording» для 'div' с' itemtype = "http://schema.org/MusicRecording" '? Значит, вам нужен ярлык элемента itemtype? – unor

+0

@unor да, это пункт. Теперь я понимаю, что, возможно, это не так просто, как кажется, потому что вы можете получить такие связанные данные файла, но ... эй, это не метка определена :( – gal007

ответ

1

canonical machine-readable representation словаря Schema.org в RDFa: http://schema.org/docs/schema_org_rdfa.html

В этом файле, каждый тип Schema.org (rdfs:Class) имеет значение для rdfs:label property, который «может быть использован для обеспечения доступная для человека версия имени ресурса ».

Тем не менее, кажется, что команда Schema.org решила предоставить этикетку, как это дано в URL, поэтому для http://schema.org/MusicRecording это "MusicRecording", а не "Music Recording":

<div typeof="rdfs:Class" resource="http://schema.org/MusicRecording"> 
    <span class="h" property="rdfs:label">MusicRecording</span> 
    <span property="rdfs:comment">A music recording (track), usually a single song.</span> 
    <span>Subclass of: <a property="rdfs:subClassOf" href="http://schema.org/CreativeWork">CreativeWork</a></span> 
</div> 
1

Я думаю, что RDF translator app поможет вам. В дополнение к пользовательскому интерфейсу он предоставляет службу REST, которую вы можете использовать для преобразования Microdata в другие сериализации RDF, такие как черепаха и т. Д. Затем вы сможете допросить эти данные с помощью SPARQL. Существуют реалии для любого языка, который вы могли себе представить.

В качестве альтернативы может быть библиотека, которая понимает Microdata напрямую, но я не уверен в этом.

 Смежные вопросы

  • Нет связанных вопросов^_^