Как назначить подкласс для форума SIOC в RDF?

Я использую rdflib хранить новый SIOC: Форум на ТВЕРДОЙ ПОД. https://www.w3.org/Submission/sioc-spec/ утверждает, что SIOC:Forum может иметь подтип / подкласс ChatChannel. Как мне смоделировать мой запрос черепахи (.ttl) для хранения этого подкласса?

@prefix sioc: <http://rdfs.org/sioc/ns#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix types: <http://rdfs.org/sioc/types> .
@base <${uri}> .

:forum
  a sioc:Forum ;
  sioc:has_host <https://banyan.msg> ;
  sioc:has_owner <${owner}> ;
  rdf:type types:ChatChannel ; # <- is this correct?
  sioc:has_subscriber [
    a sioc:User ;
    sioc:account_of <${partner}>
  ] .

1 ответ

Решение

Резюме

Мое первое предположение, что вы упускаете # в конце types объявление префикса. Должно быть @prefix types: <http://rdfs.org/sioc/types#> .

Еще одно замечание, благодаря @timbl, заключается в том, что вы можете упростить это, просто перечислив несколько типов на одном a линия и удаление rdf префикс и использование в целом:

a sioc:Forum, types:ChatChannel ;

подробности

С использованием #

Префиксы меняются местами непосредственно для их соответствующих prefix: использования в остальной части документа черепахи. Это означает, что ваша ссылка на types:ChatChannel будет переведен на http://rdfs.org/sioc/typesChatChannel, что явно не то, что вы хотите.

Обратите внимание, что вам не всегда нужно #, Это зависит от пространства имен. В этом случае вы пытаетесь сослаться на конкретную вещь, встроенную в более крупный документ, поэтому для этого вы используете сегмент URL. Некоторые пространства имен, такие как schema.org, назначают разные пути URL для каждой вещи. В этом случае префикс должен заканчиваться на /,

С использованием a

Это совсем не очевидно, если вы еще не знаете, но a Ключевое слово в черепахе является псевдонимом для того же rdf:type сказуемое. Смотрите это одно предложение в документах на черепаху w3. И, учитывая, что это черепаха, вы всегда можете передать список объектов после предиката, используя запятую.

Другие вопросы по тегам