Skip to content

Commit

Permalink
Minor improvements. Experimental jRDF2Vec example matcher added.
Browse files Browse the repository at this point in the history
  • Loading branch information
janothan committed Jul 31, 2020
1 parent ae45f06 commit 9c8a1a2
Show file tree
Hide file tree
Showing 11 changed files with 428 additions and 4 deletions.
150 changes: 150 additions & 0 deletions examples/RDF2VecMatcher/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,150 @@
##############################
## Java
##############################
.mtj.tmp/
*.class
*.jar
*.war
*.ear
*.nar
hs_err_pid*


##############################
## Maven
##############################
target/
pom.xml.tag
pom.xml.releaseBackup
pom.xml.versionsBackup
pom.xml.next
pom.xml.bak
release.properties
dependency-reduced-pom.xml
buildNumber.properties
.mvn/timing.properties
.mvn/wrapper/maven-wrapper.jar


##############################
## Gradle
##############################
bin/
build/
.gradle
.gradletasknamecache
gradle-app.setting
!gradle-wrapper.jar


##############################
## IntelliJ
##############################
out/
.idea/
.idea_modules/
*.iml
*.ipr
*.iws


##############################
## Eclipse
##############################
.settings/
bin/
tmp/
.metadata
.classpath
.project
*.tmp
*.bak
*.swp
*~.nib
local.properties
.loadpath
.factorypath


##############################
## NetBeans
##############################
nbproject/private/
build/
nbbuild/
dist/
nbdist/
nbactions.xml
nb-configuration.xml


##############################
## Visual Studio Code
##############################
.vscode/


##############################
## OS X
##############################
.DS_Store

File Example 2
# maven stuff
target/
pom.xml.tag
pom.xml.releaseBackup
pom.xml.versionsBackup
pom.xml.next
release.properties
dependency-reduced-pom.xml
buildNumber.properties
.mvn/timing.properties
.mvn/wrapper/maven-wrapper.jar


# Compiled class file
*.class


# Log file
*.log


# BlueJ files
*.ctxt


# Mobile Tools for Java (J2ME)
.mtj.tmp/


# Package Files #
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar


# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*


# intellij
/.idea/
*.iml


# eclipse
/.classpath
/.project
/.settings/


# project related
/targetDirectory
/sourceDirectory
/python-server
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
This is content of configuration_oaei.txt.
196 changes: 196 additions & 0 deletions examples/RDF2VecMatcher/pom.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,196 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>de.uni-mannheim.informatik.dws.melt</groupId>
<artifactId>rdf2vecMatcher</artifactId><!-- id used as matcher id in descriptor file of seals package and as the project name in gitlab (hobbit) -->
<packaging>jar</packaging>
<version>1.0</version><!-- version appearing in descriptor file of seals package and system.ttl file in hobbit -->
<description>demo matcher description</description><!-- description appearing in descriptor file of seals package and system.ttl file in hobbit -->

<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>

<oaei.mainClass>de.uni_mannheim.informatik.dws.melt.demomatcher.SimpleStringMatcher</oaei.mainClass><!-- mandatory: this class has to implement IOntologyMatchingToolBridge -->

<oaei.copyright>(C) Mannheim, 2019</oaei.copyright> <!--optional copyright appearing in the seals descriptor file -->
<oaei.license>GNU Lesser General Public License 2.1 or above</oaei.license> <!--optional license appearing in the seals descriptor file -->

<maven.deploy.skip>true</maven.deploy.skip><!-- needed to call mvn deploy without having a distributionManagement -->
<matching.version>2.1-SNAPSHOT</matching.version> <!-- version for all matching related packages -->
</properties>

<!-- Accessing the resources:
- all files in "oaei-resources" folder are stored in the current working directory and can be accessed with
Files.readAllLines(Paths.get("oaei-resources", "configuration_oaei.txt"));
- all files in "src/main/resources" folder are compiled to the resulting jar and can be accessed with
getClass().getClassLoader().getResourceAsStream("configuration_jar.txt");
-->

<dependencies>

<!-- RDF2Vec dependency -->
<dependency>
<groupId>com.github.dwslab</groupId>
<artifactId>jRDF2Vec</artifactId>
<version>jrdf2vec-1.0</version>
</dependency>

<!-- dependency for jena matchers - for other matchers you can replace it with artifactId: matching-base -->
<dependency>
<groupId>de.uni-mannheim.informatik.dws.melt</groupId>
<artifactId>matching-jena</artifactId>
<version>${matching.version}</version>
</dependency>

<dependency>
<groupId>de.uni-mannheim.informatik.dws.melt</groupId>
<artifactId>matching-eval</artifactId>
<version>${matching.version}</version>
<scope>test</scope>
<!-- only in test scope, can only be used when running tests.
You can also remove the scope but then remove the whole dependency when packaging the matcher.
Otherwise you get a lot of unused dependencies in your matcher.-->
</dependency>

<!-- This dependency is necessary for hobbit submission. It contains the wrapper. -->
<dependency>
<groupId>de.uni-mannheim.informatik.dws.melt</groupId>
<artifactId>hobbit-wrapper</artifactId>
<version>${matching.version}</version>
</dependency>

<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.25</version>
</dependency>

<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-launcher</artifactId>
<version>1.6.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<version>5.6.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
<version>5.6.2</version>
<scope>test</scope>
</dependency>

</dependencies>

<build>
<plugins>

<!-- the following plugin will generate a seals assembly -->
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.1.0</version>
<dependencies>
<dependency>
<groupId>de.uni-mannheim.informatik.dws.melt</groupId>
<artifactId>seals-assembly</artifactId>
<version>${matching.version}</version>
</dependency>
</dependencies>
<executions>
<execution>
<phase>package</phase>
<goals><goal>single</goal></goals>
<!-- there exists three descriptors:
1) "seals" - removes all dependencies available in seals client regardless of their version.
2) "seals_all_deps" - adds all dependencies of your project (please note that this can cause problems when using jena for example)
3) "seals_external" - creates a wrapper around the matcher so that no inference with seals happens(the matcher has to log to std err only).-->
<configuration><descriptorRefs><descriptorRef>seals</descriptorRef></descriptorRefs></configuration>
</execution>
</executions>
</plugin>


<!-- the following plugin will:
1. create a project (if not already existent) in gitlab with the name of the artifactId
2. create or update a system.ttl file which describes the matching system so that version and implementing benchmarks are updated
3. set the maven property ${hobbit.imageURL} to the correct value which is normally "git.project-hobbit.eu:4567/${username}/${artifactId}:${project.version}
(if you create the gitlab project and system.ttl on your own you can comment out this plugin but then you have to set "hobbit.imageURL" in the properties section of this pom.)
The plugin has to appear before the docker-maven-plugin because it generates the maven property used there.
To remove the matcher from the platform just delete the Gitlab project.-->
<plugin>
<groupId>de.uni-mannheim.informatik.dws.melt</groupId>
<artifactId>hobbit-maven-plugin</artifactId>
<version>${matching.version}</version>
<configuration>
<!-- inline authConfig not recommended but possible - better use settings xml (one example is shown at the end of the file
<accesstoken>{accesstoken}</accesstoken> -->
<benchmarks>
<!-- in case you change the benchmarks, you also have to increase your version number -->
<benchmark>bench:AnatomyAPI</benchmark>
<benchmark>bench:ConferenceAPI</benchmark>
<benchmark>bench:SpatialAPI</benchmark>
<benchmark>bench:knowledgegraph</benchmark>
<benchmark>bench:LargebioAPI</benchmark>
</benchmarks>
</configuration>
<executions>
<execution>
<goals><goal>prepareGitlab</goal></goals>
</execution>
</executions>
</plugin>



<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M3</version>
</plugin>
</plugins>
</build>

<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
<repository>
<id>maven.mannheim.releases</id>
<url>https://breda.informatik.uni-mannheim.de/nexus/content/repositories/releases</url>
</repository>
</repositories>

<pluginRepositories>
<pluginRepository>
<id>maven.mannheim.releases</id>
<url>https://breda.informatik.uni-mannheim.de/nexus/content/repositories/releases</url>
</pluginRepository>
</pluginRepositories>

</project>

<!-- config example for settings file which is usually located at ~/.m2/settings.xml (you can create the file if it does not exist)
username and password are used for pushing the docker image and privateKey is necessary for creating gitlab projects and system.ttl files:
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
https://maven.apache.org/xsd/settings-1.0.0.xsd">
<servers>
<server>
<id>git.project-hobbit.eu</id>
<username>{username}</username>
<password>{password}</password>
<privateKey>{gitlab_access_token}</privateKey>
</server>
</servers>
</settings>
-->
Loading

0 comments on commit 9c8a1a2

Please sign in to comment.