Я пытаюсь написать правило вывода с помощью OWL.
Учитывая следующее:
- Документ классифицируется как имеющий категорию - скажем, «Договорное право».
- Существует родительская категория «Право» с подкатегорией «Договорное право».
- Хочу сделать вывод, что документ тоже относится к категории «Закон».
Заявления:
@prefix : <http://example.com/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
:Document rdf:type owl:Class .
:Category rdf:type owl:Class .
:documentHasCategory rdf:type owl:ObjectProperty ;
rdfs:domain :Document ;
rdfs:range :Category .
:hasSubCategory rdf:type owl:ObjectProperty ;
rdfs:domain :Category ;
rdfs:range :Category .
:category1 rdf:type :Category ;
rdfs:label "Law" ;
:hasSubCategory :category2 .
:category2 rdf:type :Category ;
rdfs:label "Contract Law".
:doc1 rdf:type :Document ;
:documentHasCategory :category2 .
Как мне написать вывод, чтобы добавить в документ категорию «Закон»? Я пытался:
:inferredCategory rdf:type owl:ObjectProperty ;
rdfs:domain :Document ;
rdfs:range :Category ;
owl:propertyChainAxiom ( :documentHasCategory :hasSubCategory ) .
Но я не вижу никаких предполагаемых утверждений (я использую GraphDB).
owl:propertyChainAxiom
правильный ли подход к этому? Я неправильно понял синтаксис черепахи?
doc1 a :Document, :Category1
. - person Stanislav Kralin   schedule 07.06.2018