/ / Създаване и свързване на хора с OWL DL разумник - семантична мрежа, бухал, онтология, защита, разсъждение

Създаване и свързване на хора с OWL DL разумник - семантична мрежа, бухал, онтология, протеже, разсъждение

Имам онтология с различни събития. Ето защо имам три класа: A, B, C и класа на помощник клас.

Искам причинителят да създаде нов човек катоподклас от С за всяка двойка индивиди a (rdf: typeOf A) и b (rdf: typeOf B) намерени. Тези нови физически лица трябва да съдържат информация за а и б.

В миналото използвах разузнавач на яна със собствен файл с правило, за да получи този резултат, но сега искам да преминем към стандартен разумник на OWL DL.

Първоначалната ми идея е да свържа едно und b като:

a onto:hasB b

И рекламата дава типа Temp с ограничението за Temp:

hasbB some B

Сега искам да създам нов човек от тип С с ограничение за Temp:

hasC some C

И над този нов индивид имам достъп до информацията на а и б.

Моите проблеми са:

  1. Как мога да разбера защо свързвате a и b?
  2. Не мисля, че създаването на С ще работи, тъй като това е ограничение за темп, което никога няма да бъде присвоено като тип поради това ограничение.

Или аз напълно греша с моя подход?

Редактиране:

За да изясня целта си с по-добро описание:

Имам онтология с различни събития.

Моята цел е да свържа определени индивиди (събития), които принадлежат заедно, като формира нов индивид (събитие), описващ тази връзка с помощта на един разумен.

Напр .:

  1. Четох събитие (индивидуално), което описва "охрана" (тип) в онтологията.
  2. Четох едно събитие (индивидуално), което описва "опелацията" (тип) в онтологията.

Тези хора не са свързани изобщо с товамомент. Сега искам един разумен човек да създаде ново събитие (индивидуално) с типа "PowerManipulation". Всъщност искам да намеря човек с типа "PowerManipulation", създаден за всяка двойка (която все още не е свързана) с хора от тип "PowerOutage" и "Alarm", които трябва да имат референции (свойства) които са причинили тяхното създаване ("Аларма" и "PowerOutage").

Онтология преди разсъжденията:

(alarm1 rdf:type "Alarm")
(out1 rdf:type "PowerOutage")

Това, което искам да изглежда онтологията след разсъжденията

(alarm1 rdf:type "Alarm")
(out1 rdf:type "PowerOutage")
(man1 rdf:type "PowerManipulation")
(man1 ont:hasRealtadInd alarm1)
(man1 ont:hasRealtedInd out1)

Първоначално използвах правилата на Йена и разсъдъка на Йена, за да изпълня тази задача. Но искам да премина към стандартен OWL DL разузнавач.

Възможно ли е тази задача да бъде изпълнена с основни ограничения? Или имам нужда от правила за SWRL или SPIN (вижте отговорите на Williams по-долу)?

Отговори:

0 за отговор № 1

Можете да направите това с конструкторите на SPIN доста лесно и SPIN вложки.

http://www.w3.org/Submission/2011/SUBM-spin-modeling-20110222/#spin-rules-construct

http://www.w3.org/Submission/2011/SUBM-spin-modeling-20110222/#spin-rules-update

SPIN и OWL могат да живеят щастливо заедно. Разгледайте Groovy библиотеката, която има разширения за двете:

https://github.com/williamgreenly/lescot

Пример по-долу:

def model = new GroovyRdfModel()
model.add(""" some turtle data """)
model.add(""" some OWL rules """)
model.add(""" some SPIN rules """)
def inferredModelByOWLReasoning = model.owl()
def inferredModelBySPINRules = model.spin()