Для начала вам нужно смоделировать ребра с помощью свойств RDF, например:
:propose rdf:type rdf:Property;
rdfs:label "propose".
:accept rdf:type rdf:Property;
rdfs:label "accept".
Затем вы можете использовать их, чтобы связать M (1..N):
:M1 :propose :M2.
:M2 :propose :M3.
Это примерно сформирует график RDF, представляющий диаграмму, которая у вас есть выше. Вы можете прикрепить дополнительные свойства к каждому M (1..N) в соответствии с требованиями вашего приложения или смоделировать их как объекты rdfs: Class и связать свои свойства с экземплярами этих классов.
Если вы не читали учебник, это неплохое место для начала, там есть несколько примеров, которые будут выглядеть красиво близко к тому, что вы пытаетесь моделировать. Для разработки схем или онтологий создание и поддержание простой схемы вручную в текстовом редакторе не так уж и плохо, но вы, возможно, захотите использовать Protege по мере роста сложности, особенно если вы хотите начать использовать OWL.
Что касается инструментов для создания вашего приложения, лучше всего начать с Sesame или Jena API. Они предоставляют все необходимое для чтения, записи и использования RDF. Я рекомендую «Сезам», я думаю, что им проще пользоваться, и в нем доступно больше опций для баз данных. Если вы не программист на Java, есть несколько вариантов, например rdflib для python и dotNetRdf для .Net.
person
Michael
schedule
20.02.2012