no saben cómo conseguir la propiedad objeto de la ontología en Java con Ermitaño

Hombro Diego:

Estoy tratando de conseguir una propiedad de objeto de una clase, en particular: Estoy tratando de entender cuando una clase es una parte de alguna otra clase (la construcción utilizada se pudo ver en la captura de pantalla).

Ya lo he intentado utilizar el OWL-api función getObjectPropertiesInSignature()en un OWLClassobjeto (el objeto es la "e").

//display delle object property
Set<OWLObjectProperty> proprietà = e.getObjectPropertiesInSignature();
System.out.println("Object Property:");
if(proprietà.isEmpty()) {
    System.out.println("\tQuesta classe non ha object property");
}
else {
    for(OWLObjectProperty prop : proprietà) {
        System.out.println("\t"+ prop);
    }
}

La salida del fragmento es Questa classe non ha object property, por lo que la función devuelve un conjunto vacío, pero en este caso, se debe devolver un conjunto con la propiedad de un objeto: la propiedad del objeto parcial de .

Ignacio:

Lo que estamos tratando de averiguar es si una clase se incluye en el dominio de una propiedad de objeto (clases no 'tienen' propiedades de los objetos en OWL), o si la clase es una subclase de una restricción. La firma de un objeto de clase contiene las propiedades del objeto sólo cuando una expresión de clase menciona una propiedad, por ejemplo, una restricción de cardinalidad calificado o una restricción existencial, como en el ejemplo.

Con el fin de ver si una clase tiene una superclase que los usos partOf, se puede crear una expresión de clase que representa el lado derecho de su axioma subclase y pedir sus subclases.

OWLDataFactory df = ...
OWLClassExpression c = df.getOWLObjectSomeValuesFrom(partOf, car);
NodeSet subClasses = hermit.getSubClasses(c, false);

Para las clases en el dominio de partOf, usted tiene que buscar subclases de la intersección de las expresiones de dominio:

OWLClassExpression domain = df.getOWLObjectIntersectionOf(ontology.objectPropertyDomainAxioms(partOf));
NodeSet subClassesInDomain = hermit.getSubClasses(domain, false);

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=211622&siteId=1
Recomendado
Clasificación