#!/bin/sh # # (C) 2014 INRIA # J. Euzenat # # Version of 18/10/2014 - 18:30 # echo This file is not to be run at once, only for cut-and-paste exit # ---------------------------------------------------------------------------------------- # Variables CWD=`pwd` LIB=$CWD/lib CLASSPATH=.:$LIB/slf4j/logback-classic-1.0.9.jar:$LIB/slf4j/logback-core-1.0.9.jar:$LIB/procalign.jar:$LIB/jena/jena.jar:$LIB/slf4j/slf4j-api.jar:$LIB/xerces/xercesImpl.jar:$LIB/xerces/xml-apis.jar:$LIB/jena/iri.jar:$LIB/jena/httpcore.jar:$LIB/jena/httpclient.jar:$LIB/cli/commons-cli.jar:$LIB/hermit/hermit.jar:$LIB/owlapi30/owlapi-bin.jar:$LIB/logmap/logmap.jar ---------------------------------------------------------------------------------------- # Test java -jar $LIB/procalign.jar --help # Try to access ontologies with Jena/Count javac -cp $CLASSPATH omt/Count.java #java -cp $CLASSPATH omt.Count java -cp $CLASSPATH omt.Count ontologies/cose.owl # ---------------------------------------------------------------------------------------- # Let's do some first matches listontos=`ls ontologies/*.owl|sed "s:ontologies/\([^.]*\).owl:\1:"` echo $listontos /bin/rm -rf exact mkdir exact for f in $listontos do found=false for g in $listontos do #echo $f $g if [ $found == true ] then echo $g-$f java -cp $CLASSPATH -jar $LIB/procalign.jar file:ontologies/$f.owl file:ontologies/$g.owl > exact/$f-$g.rdf else if [ $f == $g ] then # echo found $f found=true fi fi done done # ---------------------------------------------------------------------------------------- # Count the number of matching elements for i in `ls exact/*.rdf` do echo $i `grep entity1 $i|wc -l` >> exact-count.txt done mv exact-count.txt exact/ # ---------------------------------------------------------------------------------------- # Use more elaborate matchers for doing the same thing f=cose g=dog java -cp $CLASSPATH -jar $LIB/procalign.jar -i fr.inrialpes.exmo.align.impl.method.StringDistAlignment file:$CWD/ontologies/$f.owl file:$CWD/ontologies/$g.owl -o exact.rdf java -cp $CLASSPATH -jar $LIB/procalign.jar -i fr.inrialpes.exmo.align.impl.method.StringDistAlignment -DstringFunction=levenshteinDistance file:$CWD/ontologies/$f.owl file:$CWD/ontologies/$g.owl -o edna.rdf java -cp $CLASSPATH -jar $LIB/procalign.jar -i fr.inrialpes.exmo.align.impl.method.StringDistAlignment -DstringFunction=smoaDistance file:$CWD/ontologies/$f.owl file:$CWD/ontologies/$g.owl -o smoa.rdf # ---------------------------------------------------------------------------------------- # LogMap cd logmap2_v2.3 java -cp $CLASSPATH -jar logmap2_standalone.jar MATCHER file:$CWD/ontologies/$f.owl file:$CWD/ontologies/$g.owl /tmp false cd .. mv /tmp/logmap2_mappings.rdf logmap.rdf # ---------------------------------------------------------------------------------------- # Aroma java -jar aroma-1.2/lib/aroma.jar ontologies/$f.owl ontologies/$g.owl > aroma.rdf # ---------------------------------------------------------------------------------------- # Find interesting thresholds java -cp $CLASSPATH fr.inrialpes.exmo.align.cli.ParserPrinter file:smoa.rdf -t 0.5 -o smoa5.rdf # ---------------------------------------------------------------------------------------- # Ask server curl -L -H "Accept:application/rdf+xml" 'http://al4sc.inrialpes.fr/rest/find?onto1=http://elite.polito.it/ontologies/dogont.owl&onto2=https://www.auto.tuwien.ac.at/downloads/thinkhome/ontology/EnergyResourceOntology.owl' curl -L -H "Accept:application/rdf+xml" 'http://al4sc.inrialpes.fr/rest/find?onto1=http://casas.wsu.edu/owl/cose.owl&onto2=http://elite.polito.it/ontologies/dogont.owl' curl -L -H "Accept:application/rdf+xml" 'http://al4sc.inrialpes.fr/alid/1413469503555/2639' > cose-dog.rdf # ---------------------------------------------------------------------------------------- # Test consistency with HermiT # Test merge java -cp $CLASSPATH fr.inrialpes.exmo.align.cli.ParserPrinter file:smoa5.rdf -r fr.inrialpes.exmo.align.impl.renderer.OWLAxiomsRendererVisitor -o smoa5.owl javac -cp $CLASSPATH omt/TestConsistency.java java -cp $CLASSPATH omt.TestConsistency file:smoa5.rdf # ---------------------------------------------------------------------------------------- # Compute (evaluation) measures java -cp $CLASSPATH fr.inrialpes.exmo.align.cli.EvalAlign -i fr.inrialpes.exmo.align.impl.eval.PRecEvaluator file://$CWD/cose-dog.rdf file://$CWD/exact/cose-dog.rdf # ---------------------------------------------------------------------------------------- # Compute diff java -cp $CLASSPATH fr.inrialpes.exmo.align.cli.EvalAlign -i fr.inrialpes.exmo.align.impl.eval.DiffEvaluator file://$CWD/cose-dog.rdf file://$CWD/exact/cose-dog.rdf # ---------------------------------------------------------------------------------------- # Transform query # first invert the alignment java -cp $CLASSPATH fr.inrialpes.exmo.align.cli.ParserPrinter -i file:cose-dog.rdf -o dog-cose.rdf java -cp $CLASSPATH fr.inrialpes.exmo.align.cli.TransformQuery -a file:dog-cose.rdf -q query.sparql -Dcose=http://casas.wsu.edu/owl/cose.owl# # ---------------------------------------------------------------------------------------- # LogMap repair cd logmap2_v2.3 java -cp $CLASSPATH -jar logmap2_standalone.jar DEBUGGER file:$CWD/ontologies/$f.owl file:$CWD/ontologies/$g.owl RDF $CWD/smoa5.rdf /tmp false false cd .. mv /tmp/mappings_repaired_with_LogMap.rdf logmap-repaired.rdf cd logmap2_v2.3 java -cp $CLASSPATH -jar logmap2_standalone.jar DEBUGGER file:$CWD/ontologies/$f.owl file:$CWD/ontologies/$g.owl RDF $CWD/cose-dog.rdf /tmp false false grep entity1 ../cose-dog.rdf |wc -l grep entity1 /tmp/mappings_repaired_with_LogMap.rdf |wc -l cd .. mv /tmp/mappings_repaired_with_LogMap.rdf cose-dog-repaired.rdf java -cp $CLASSPATH omt.TestConsistency file:cose-dog.rdf java -cp $CLASSPATH omt.TestConsistency file:cose-dog-repaired.rdf java -cp $CLASSPATH omt.TestSubsumption file:cose-dog-repaired.rdf http://elite.polito.it/ontologies/dogont.owl#Thermostat http://casas.wsu.edu/owl/cose.owl#Sensor # if disjoint java -cp $CLASSPATH omt.TestSubsumption file:cose-dog-repaired.rdf http://elite.polito.it/ontologies/dogont.owl#Control http://casas.wsu.edu/owl/cose.owl#Sensor