Вывод отношения ABC в OWL - PullRequest
0 голосов
/ 11 июня 2018

скажем, у нас есть 3 человека

A = John (Father -> Man -> Thing) 
B = Bob (Child -> Thing)
C = Mary (Mother -> Woman -> Thing)

Классы

Child
Father -> Man
Mother -> Woman

Свойства объекта

hasSpouse (symmetric)
isFatherOf (in range of child)

Тогда я только утверждаю A

John hasSpouse Mary
John isFatherOf Bob

Можно ли сделать вывод, что Мэри - это Боб?*

enter image description here

enter image description here

Но как я могу вывести утверждения в свойстве объекта Боба?утверждения здесь?

Добавлять новые свойства объекта, а затем применять к ним некоторые условия?

enter image description here

Черепаха

@prefix : <http://www.semanticweb.org/monsterstep/ontologies/2018/5/untitled-ontology-4#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix xml: <http://www.w3.org/XML/1998/namespace> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@base <http://www.semanticweb.org/monsterstep/ontologies/2018/5/untitled-ontology-4> .

<http://www.semanticweb.org/monsterstep/ontologies/2018/5/untitled-ontology-4> rdf:type owl:Ontology .

#################################################################
#    Object Properties
#################################################################

###  http://www.semanticweb.org/monsterstep/ontologies/2018/5/untitled-ontology-4#hasSpouse
:hasSpouse rdf:type owl:ObjectProperty ,
                    owl:SymmetricProperty .


###  http://www.semanticweb.org/monsterstep/ontologies/2018/5/untitled-ontology-4#isFatherOf
:isFatherOf rdf:type owl:ObjectProperty ;
            rdfs:range :Child .


#################################################################
#    Classes
#################################################################

###  http://www.semanticweb.org/monsterstep/ontologies/2018/5/untitled-ontology-4#Child
:Child rdf:type owl:Class .


###  http://www.semanticweb.org/monsterstep/ontologies/2018/5/untitled-ontology-4#Father
:Father rdf:type owl:Class ;
        owl:equivalentClass [ rdf:type owl:Restriction ;
                              owl:onProperty :isFatherOf ;
                              owl:someValuesFrom :Child
                            ] ;
        rdfs:subClassOf :Man .


###  http://www.semanticweb.org/monsterstep/ontologies/2018/5/untitled-ontology-4#Man
:Man rdf:type owl:Class .


###  http://www.semanticweb.org/monsterstep/ontologies/2018/5/untitled-ontology-4#Mother
:Mother rdf:type owl:Class ;
        owl:equivalentClass [ rdf:type owl:Restriction ;
                              owl:onProperty :hasSpouse ;
                              owl:someValuesFrom :Father
                            ] ;
        rdfs:subClassOf :Woman .


###  http://www.semanticweb.org/monsterstep/ontologies/2018/5/untitled-ontology-4#Woman
:Woman rdf:type owl:Class .


#################################################################
#    Individuals
#################################################################

###  http://www.semanticweb.org/monsterstep/ontologies/2018/5/untitled-ontology-4#Bob
:Bob rdf:type owl:NamedIndividual .


###  http://www.semanticweb.org/monsterstep/ontologies/2018/5/untitled-ontology-4#John
:John rdf:type owl:NamedIndividual ;
      :hasSpouse :Mary ;
      :isFatherOf :Bob .


###  http://www.semanticweb.org/monsterstep/ontologies/2018/5/untitled-ontology-4#Mary
:Mary rdf:type owl:NamedIndividual .


###  Generated by the OWL API (version 4.2.8.20170104-2310) https://github.com/owlcs/owlapi

OWL / XML

<?xml version="1.0"?>
<Ontology xmlns="http://www.w3.org/2002/07/owl#"
     xml:base="http://www.semanticweb.org/monsterstep/ontologies/2018/5/untitled-ontology-4"
     xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
     xmlns:xml="http://www.w3.org/XML/1998/namespace"
     xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
     xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
     ontologyIRI="http://www.semanticweb.org/monsterstep/ontologies/2018/5/untitled-ontology-4">
    <Prefix name="" IRI="http://www.semanticweb.org/monsterstep/ontologies/2018/5/untitled-ontology-4#"/>
    <Prefix name="owl" IRI="http://www.w3.org/2002/07/owl#"/>
    <Prefix name="rdf" IRI="http://www.w3.org/1999/02/22-rdf-syntax-ns#"/>
    <Prefix name="xml" IRI="http://www.w3.org/XML/1998/namespace"/>
    <Prefix name="xsd" IRI="http://www.w3.org/2001/XMLSchema#"/>
    <Prefix name="rdfs" IRI="http://www.w3.org/2000/01/rdf-schema#"/>
    <Declaration>
        <Class IRI="#Father"/>
    </Declaration>
    <Declaration>
        <ObjectProperty IRI="#hasSpouse"/>
    </Declaration>
    <Declaration>
        <NamedIndividual IRI="#John"/>
    </Declaration>
    <Declaration>
        <Class IRI="#Man"/>
    </Declaration>
    <Declaration>
        <NamedIndividual IRI="#Mary"/>
    </Declaration>
    <Declaration>
        <Class IRI="#Mother"/>
    </Declaration>
    <Declaration>
        <NamedIndividual IRI="#Bob"/>
    </Declaration>
    <Declaration>
        <Class IRI="#Woman"/>
    </Declaration>
    <Declaration>
        <Class IRI="#Child"/>
    </Declaration>
    <Declaration>
        <ObjectProperty IRI="#isFatherOf"/>
    </Declaration>
    <EquivalentClasses>
        <Class IRI="#Father"/>
        <ObjectSomeValuesFrom>
            <ObjectProperty IRI="#isFatherOf"/>
            <Class IRI="#Child"/>
        </ObjectSomeValuesFrom>
    </EquivalentClasses>
    <EquivalentClasses>
        <Class IRI="#Mother"/>
        <ObjectSomeValuesFrom>
            <ObjectProperty IRI="#hasSpouse"/>
            <Class IRI="#Father"/>
        </ObjectSomeValuesFrom>
    </EquivalentClasses>
    <SubClassOf>
        <Class IRI="#Father"/>
        <Class IRI="#Man"/>
    </SubClassOf>
    <SubClassOf>
        <Class IRI="#Mother"/>
        <Class IRI="#Woman"/>
    </SubClassOf>
    <ObjectPropertyAssertion>
        <ObjectProperty IRI="#hasSpouse"/>
        <NamedIndividual IRI="#John"/>
        <NamedIndividual IRI="#Mary"/>
    </ObjectPropertyAssertion>
    <ObjectPropertyAssertion>
        <ObjectProperty IRI="#isFatherOf"/>
        <NamedIndividual IRI="#John"/>
        <NamedIndividual IRI="#Bob"/>
    </ObjectPropertyAssertion>
    <SymmetricObjectProperty>
        <ObjectProperty IRI="#hasSpouse"/>
    </SymmetricObjectProperty>
    <ObjectPropertyRange>
        <ObjectProperty IRI="#isFatherOf"/>
        <Class IRI="#Child"/>
    </ObjectPropertyRange>
</Ontology>



<!-- Generated by the OWL API (version 4.2.8.20170104-2310) https://github.com/owlcs/owlapi -->
...