Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用OWL API JAVA从类中获取数据属性_Java_Api_Object_Range_Owl - Fatal编程技术网

使用OWL API JAVA从类中获取数据属性

使用OWL API JAVA从类中获取数据属性,java,api,object,range,owl,Java,Api,Object,Range,Owl,我试图用java()的owlapi获取一个类的数据属性,但是我无法获取它 例如,类“person”有一个数据属性“hasGender”,其范围为:{“F”^^xsd:string,“M”^^xsd:string} <owl:DatatypeProperty rdf:about="&lico;hasGender"> <rdfs:domain rdf:resource="&lico;Patient"/> <rdfs:range&g

我试图用java()的owlapi获取一个类的数据属性,但是我无法获取它

例如,类“person”有一个数据属性“hasGender”,其范围为:{“F”^^xsd:string,“M”^^xsd:string}

    <owl:DatatypeProperty rdf:about="&lico;hasGender">
    <rdfs:domain rdf:resource="&lico;Patient"/>
    <rdfs:range>
        <rdfs:Datatype>
            <owl:oneOf>
                <rdf:Description>
                    <rdf:type rdf:resource="&rdf;List"/>
                    <rdf:first rdf:datatype="&xsd;string">F</rdf:first>
                    <rdf:rest>
                        <rdf:Description>
                            <rdf:type rdf:resource="&rdf;List"/>
                            <rdf:first rdf:datatype="&xsd;string">M</rdf:first>
                            <rdf:rest rdf:resource="&rdf;nil"/>
                        </rdf:Description>
                    </rdf:rest>
                </rdf:Description>
            </owl:oneOf>
        </rdfs:Datatype>
    </rdfs:range>
</owl:DatatypeProperty>

<owl:DatatypeProperty rdf:about="&lico;hasName">
    <rdfs:domain rdf:resource="&lico;Patient"/>
    <rdfs:range rdf:resource="&xsd;string"/>
</owl:DatatypeProperty>

F
M
我试图获得如下数据类型:

    OWLOntologyManager man = OWLManager.createOWLOntologyManager();
    OWLOntology ont;
    OWLDataFactory df = null;
    ont = man.loadOntologyFromOntologyDocument(file);
    df = ont.getOWLOntologyManager().getOWLDataFactory();

    OWLClass clase = df.getOWLClass(Class);

    Set<OWLDatatype> dataType = clase.getDatatypesInSignature();
OWLOntologyManager man=OWLManager.createOWLOntologyManager();
猫头鹰;
OWLDataFactory df=null;
ont=man.loadOntologyFromOntologyDocument(文件);
df=ont.getowletologyManager().getOWLDataFactory();
OWLClass clase=df.getOWLClass(Class);
Set dataType=clase.getDatatypesInSignature();
如何提取此属性和范围


提前谢谢

类在OWL中没有属性-您所尝试的将在对象的签名中获得数据类型IRI,因为对象是一个实体,其签名仅包含一个类IRI


您真正关注的是将类作为其域的一部分的数据属性,因此您需要从本体中获取所有数据属性域公理(可能包括导入),并检查域是否包含该类-即,该类出现在公理的签名中,或者如果您使用的是推理器,类是否具有作为超类的域。

类在OWL中没有属性-您尝试的将在对象的签名中获得数据类型IRI,因为对象是一个实体,其签名仅包含类IRI

您真正关注的是将类作为其域的一部分的数据属性,因此您需要从本体中获取所有数据属性域公理(可能包括导入),并检查域是否包含该类-即,该类出现在公理的签名中,或者如果您使用的是推理器,类是否将域作为超类