Как кодировать RDF/XML простого интереса

Я новичок в написании схемы RDF, и мне было интересно, как мне правильно использовать концепцию URI и создать документ RDF, представляющий простой интерес. Я пытаюсь создать RDF следующего утверждения:

Jeffy is a Graduate student
Jeffy likes yoga
Jeffy is seeking Tennis.

Как мне написать RDF на основе этих трех предложений. Любой свет на это будет очень полезно.

3 ответа

Могу ли я порекомендовать вам не использовать RDF/XML? Это довольно сложный синтаксический формат, чтобы научиться писать от руки. Вам лучше писать свой RDF, используя что-то вроде синтаксиса Turtle, и в этом случае ваш пример будет выглядеть примерно так:

@prefix my: <http://example.org/mynamespace/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .

my:jeffy rdf:type my:GraduateStudent ;
         my:likes my:yoga ;
         my:isSeeking my:Tennis .

Если по той или иной причине вам нужен RDF / XML, рассмотрите возможность использования любого инструментария синтаксического анализатора RDF (сезам OpenRDF, Apache Jena, dotNetRDF и т. Д.) Для преобразования из одного синтаксиса в другой.

Вы можете использовать OWL вместо RDF, потому что:

1) это расширенный набор RDF

2) это более мощный

Например:

<?xml version="1.0"?>

<!DOCTYPE rdf:RDF [
  <!ENTITY owl "http://www.w3.org/2002/07/owl#" >
  <!ENTITY xsd "http://www.w3.org/2001/XMLSchema#" >
  <!ENTITY rdfs "http://www.w3.org/2000/01/rdf-schema#" >
  <!ENTITY rdf "http://www.w3.org/1999/02/22-rdf-syntax-ns#" >
  <!ENTITY base "http://www.example.com/example/" >
  ]>

<rdf:RDF
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
   xmlns:owl="http://www.w3.org/2002/07/owl#"
   xmlns:base="http://www.example.com/example/"
   >

  <owl:Class rdf:about="#GraduateStudent" />

  <owl:DatatypeProperty rdf:about="&base;Likes">
    <rdfs:domain rdf:resource="&base;GraduateStudent" />
    <rdfs:range rdf:resource="string" />
  </owl:DatatypeProperty>

  <owl:DatatypeProperty rdf:about="&base;IsSeeking">
    <rdfs:domain rdf:resource="&base;GraduateStudent" />
    <rdfs:range rdf:resource="string" />
  </owl:DatatypeProperty>

  <base:GraduateStudent rdf:about="&base;GraduateStudent/001">
    <base:Likes>yoga</base:Likes>
    <base:IsSeeking>Tennis</base:IsSeeking>
  </base:GraduateStudent>

</rdf:RDF>

Вы можете заметить, что модель И данные находятся в одном файле.

3 особенности импортеров:

1) Класс: объявить класс

2) DatatypeProperty: объявить буквальное свойство

3) ObjectProperty (не здесь): объявить ссылку на другой узел семантического графа

В вашем случае вы можете создать класс "Спорт", изменить DatatypeProperty на ObjectProperty, обновить диапазон и создать экземпляры 2 видов спорта.

FOAF:

Вы можете использовать foaf:Person для "Jeffy" (вы можете дать имя с помощью foaf: name или foaf: данное имя или foaf: nick).

Вы можете использовать foaf: Interest для интереса к йоге (вы должны будете использовать foaf:Document, который представляет "йогу"; см . Foaf: isPrimaryTopicOf). Или вы можете использовать foaf: topic_interest (диапазон owl:Thing).

Быть аспирантом можно (возможно!) По образцу foaf: Group.


Смотрите пример в Википедии, он в сериализации Turtle.

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