Compilando y ejecutando el ejemplo básico: Protege-OWL API

Hacía mucho tiempo que no usaba Java y hoy, al tratar de ejecutar el ejemplo más simple (Tutorial), no me salía. No uso IDEs y uso Linux (Ubuntu) por lo que la configuración del entorno tenía que ser distinta.

No bastaba con agregar el directorio de los JAR por lo que un script solucionó el asunto. A continuación se muestra el archivo .java y el script.

El archivo de ejemplo es OWLAPIDemoApplication.java:

import edu.stanford.smi.protege.exception.OntologyLoadException;
import edu.stanford.smi.protegex.owl.jena.*;
import edu.stanford.smi.protegex.owl.ProtegeOWL;
import edu.stanford.smi.protegex.owl.model.*;

public class OWLAPIDemoApplication {

public static void main(String[] args) {

try {
OWLModel owlModel = ProtegeOWL.createJenaOWLModel();
owlModel.getNamespaceManager().setDefaultNamespace(“http://hello.com#”);
OWLNamedClass worldClass = owlModel.createOWLNamedClass(“World”);
System.out.println(“Class URI: ” + worldClass.getURI());
}
catch (OntologyLoadException oe){
oe.printStackTrace();
}
}
}

El siguiente script agrega los JAR, compila y ejecuta. Estoy suponiendo que el .class está en el mismo directorio del proyecto.

#!/bin/bash

export JAR_HOME=/home/blanca/Protege_3.4.4
export JAR_PLUGINS=/home/blanca/Protege_3.4.4/plugins/edu.stanford.smi.protegex.owl

for f in $JAR_HOME/*.jar

do
A=$A:$f
done

for g in $JAR_PLUGINS/*.jar

do
B=$B:$g
done

JAR_CLASSPATH=$A$B:”/home/blanca/cenidpd/talkprotege”
export JAR_CLASSPATH

#echo the classpath $JAR_CLASSPATH

javac -classpath $JAR_CLASSPATH OWLAPIDemoApplication.java
java -Dprotege.dir=$JAR_HOME -classpath $JAR_CLASSPATH OWLAPIDemoApplication

La salida es:

Class URI: http://hello.com#World

==========

Ajusta paths y ejecuta el script. Aquí no sale identado.

También se encuentra en el github.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: