Как создать правило для класса с несколькими свойствами в OWL / GraphDB?

Animal_Lover класс - это класс с тремя свойствами, называемыми hasPet.

Смит выращивает трех животных и принадлежит к классу Person.

На этом этапе, как мне написать правило (.pie) для автоматического включения кузнеца в класс animal_lover, когда правило работает?

Prefices {
    test : http://www.example.com/test#
    rdf : http://www.w3.org/1999/02/22-rdf-syntax-ns#
    owl : http://www.w3.org/2002/07/owl#
    xsd : http://www.w3.org/2001/XMLSchema#
    rdfs : http://www.w3.org/2000/01/rdf-schema#
}
Axioms {}

Rules {
    Id: rule1
        a <test:hasPet> b
        a <test:hasPet> d
        a <test:hasPet> c           
        -----------------------
        a <rdf:type> <test:Animal_Lover>
}

это правило не работает.


person HoJin Seo    schedule 08.09.2018    source источник
comment
а вы правильно добавили файл правил?   -  person UninformedUser    schedule 08.09.2018
comment
а что значит не работает? и разве вы не должны добавлять ограничения, которые b != d, b != c и c != d?   -  person UninformedUser    schedule 08.09.2018
comment
@AKSW Да. Я добавил файл правил, добавил ограничения, но это не сработало. А «не работает» означает, что правило не сработало. Я также пробовал следующую команду. INSERT DATA { [] <http://www.ontotext.com/owlim/system#reinfer> [] }   -  person HoJin Seo    schedule 09.09.2018
comment
У меня работает как положено, я загрузил собственный набор правил Prefices { test : http://www.example.com/test# rdf : http://www.w3.org/1999/02/22-rdf-syntax-ns# owl : http://www.w3.org/2002/07/owl# xsd : http://www.w3.org/2001/XMLSchema# rdfs : http://www.w3.org/2000/01/rdf-schema# } Axioms {} Rules { Id: rule1 a <test:hasPet> b [Constraint b != d, b != c] a <test:hasPet> d [Constraint d != b, d != c] a <test:hasPet> c [Constraint c != b, c != d] ----------------------- a <rdf:type> <test:Animal_Lover> }   -  person UninformedUser    schedule 09.09.2018
comment
создал репозиторий с настраиваемым набором правил, вставил некоторые данные prefix test: <http://www.example.com/test#> insert data { test:a test:hasPet test:b1,test:b2, test:b3 . } и, наконец, сделал простой select * where { ?s ?p ?o . } limit 100 возврат test:a rdf:type test:Animal_Lover   -  person UninformedUser    schedule 09.09.2018


Ответы (1)


Вы искали в журнале какие-либо ошибки? Эта строка кажется мне подозрительной, я думаю, что скобки должны быть на разных строках

Axioms {}

person Vladimir Alexiev    schedule 16.09.2020