Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix GH-6 migrate to rdf4j #7

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
108 changes: 56 additions & 52 deletions pom.xml
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<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">
<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>

<parent>
Expand Down Expand Up @@ -34,89 +36,91 @@
<email>tredmond@stanford.edu</email>
</developer>
</developers>

<scm>
<connection>scm:git:git@github.com:protegeproject/rdf-library.git</connection>
<developerConnection>scm:git:git@github.com:protegeproject/rdf-library.git</developerConnection>
<url>https://github.com/protegeproject/rdf-library</url>
</scm>

<properties>
<sesame.version>2.7.12</sesame.version>
<logback.version>1.1.3</logback.version>
<slf4j.version>1.7.12</slf4j.version>
<owlapi.version>4.2.8</owlapi.version>
<owlapi.version>5.1.7</owlapi.version>
<rdf4j.version>2.4.1</rdf4j.version>
</properties>

<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.eclipse.rdf4j</groupId>
<artifactId>rdf4j-bom</artifactId>
<version>${rdf4j.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>


<dependencies>
<dependency>
<groupId>org.openrdf.sesame</groupId>
<artifactId>sesame-repository-sail</artifactId>
<version>${sesame.version}</version>
<groupId>org.eclipse.rdf4j</groupId>
<artifactId>rdf4j-repository-sail</artifactId>
</dependency>

<dependency>
<groupId>org.openrdf.sesame</groupId>
<artifactId>sesame-sail-memory</artifactId>
<version>${sesame.version}</version>
<groupId>org.eclipse.rdf4j</groupId>
<artifactId>rdf4j-sail-memory</artifactId>
</dependency>

<dependency>
<groupId>org.openrdf.sesame</groupId>
<artifactId>sesame-rio-rdfxml</artifactId>
<version>${sesame.version}</version>
<groupId>org.eclipse.rdf4j</groupId>
<artifactId>rdf4j-rio-rdfxml</artifactId>
</dependency>

<dependency>
<groupId>org.openrdf.sesame</groupId>
<artifactId>sesame-model</artifactId>
<version>${sesame.version}</version>
<groupId>org.eclipse.rdf4j</groupId>
<artifactId>rdf4j-model</artifactId>
</dependency>

<dependency>
<groupId>org.openrdf.sesame</groupId>
<artifactId>sesame-queryparser-sparql</artifactId>
<version>${sesame.version}</version>
<groupId>org.eclipse.rdf4j</groupId>
<artifactId>rdf4j-queryparser-sparql</artifactId>
</dependency>

<dependency>
<groupId>org.openrdf.sesame</groupId>
<artifactId>sesame-queryparser-serql</artifactId>
<version>${sesame.version}</version>
<groupId>org.eclipse.rdf4j</groupId>
<artifactId>rdf4j-queryparser-serql</artifactId>
</dependency>

<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>${logback.version}</version>
</dependency>

<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
<version>${logback.version}</version>
</dependency>

<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${slf4j.version}</version>
</dependency>

<dependency>
<groupId>net.sourceforge.owlapi</groupId>
<artifactId>owlapi-osgidistribution</artifactId>
<version>${owlapi.version}</version>
</dependency>

<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>6.8.21</version>
<scope>test</scope>
</dependency>
</dependencies>

<build>
<plugins>
<plugin>
Expand Down Expand Up @@ -157,7 +161,7 @@
</executions>
</plugin>

<plugin>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<version>3.0.1</version>
Expand All @@ -166,24 +170,24 @@
<instructions>
<Bundle-SymbolicName>org.protege.owl.rdf;singleton:=true</Bundle-SymbolicName>
<Bundle-Vendor>The Protege Development Team</Bundle-Vendor>
<Embed-Dependency>sesame-queryparser-serql, sesame-queryparser-sparql</Embed-Dependency>
<Embed-Dependency>rdf4j-queryparser-serql,
rdf4j-queryparser-sparql</Embed-Dependency>
<Export-Package>
org.protege.owl.rdf*;version=${project.version},
info.aduna.*;version="2.7.0",
org.openrdf.*;version="2.7.0",
org.eclipse.rdf4j.*;version="2.4.1",
org.slf4j.*,
ch.qos.logback.*,
com.fasterxml.jackson.core.*;version="2.5.1"
</Export-Package>
<Export-Service>org.openrdf.query.parser.QueryParserFactory</Export-Service>
<Export-Service>org.eclipse.rdf4j.query.parser.QueryParserFactory</Export-Service>
<Import-Package>
!org.apache.commons.httpclient.*,
!groovy.lang,
!javax.jms,
!javax.mail.*,
!javax.servlet.*,
!org.codehaus.*,
!sun.reflect.*,
!org.apache.commons.httpclient.*,
!groovy.lang,
!javax.jms,
!javax.mail.*,
!javax.servlet.*,
!org.codehaus.*,
!sun.reflect.*,
*
</Import-Package>
</instructions>
Expand All @@ -197,7 +201,7 @@
</goals>
</execution>
</executions>
</plugin>
</plugin>

<plugin>
<groupId>org.apache.maven.plugins</groupId>
Expand All @@ -218,18 +222,18 @@
<suiteXmlFiles>
<suiteXmlFile>src/test/resources/unit-tests.xml</suiteXmlFile>
</suiteXmlFiles>
</configuration>
</configuration>
</execution>
</executions>
</plugin>

<plugin>
<artifactId>maven-eclipse-plugin</artifactId>
<version>2.9</version>
<configuration>
<pde>true</pde>
</configuration>
</plugin>
</plugin>
</plugins>
</build>
</project>
10 changes: 5 additions & 5 deletions src/main/java/org/protege/owl/rdf/Utilities.java
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
package org.protege.owl.rdf;

import org.openrdf.repository.Repository;
import org.openrdf.repository.RepositoryException;
import org.openrdf.repository.sail.SailRepository;
import org.openrdf.sail.Sail;
import org.openrdf.sail.memory.MemoryStore;
import org.eclipse.rdf4j.repository.Repository;
import org.eclipse.rdf4j.repository.RepositoryException;
import org.eclipse.rdf4j.repository.sail.SailRepository;
import org.eclipse.rdf4j.sail.Sail;
import org.eclipse.rdf4j.sail.memory.MemoryStore;
import org.protege.owl.rdf.api.OwlTripleStore;
import org.protege.owl.rdf.impl.OwlTripleStoreImpl;
import org.protege.owl.rdf.impl.SynchronizeTripleStoreListener;
Expand Down
9 changes: 4 additions & 5 deletions src/main/java/org/protege/owl/rdf/api/OwlTripleStore.java
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
package org.protege.owl.rdf.api;

import info.aduna.iteration.CloseableIteration;

import org.openrdf.model.BNode;
import org.openrdf.repository.Repository;
import org.openrdf.repository.RepositoryException;
import org.eclipse.rdf4j.common.iteration.CloseableIteration;
import org.eclipse.rdf4j.model.BNode;
import org.eclipse.rdf4j.repository.Repository;
import org.eclipse.rdf4j.repository.RepositoryException;
import org.semanticweb.owlapi.model.OWLAxiom;
import org.semanticweb.owlapi.model.OWLClassExpression;
import org.semanticweb.owlapi.model.OWLOntologyID;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
import org.semanticweb.owlapi.model.OWLNamedIndividual;
import org.semanticweb.owlapi.model.OWLObject;
import org.semanticweb.owlapi.model.OWLOntologyID;
import org.semanticweb.owlapi.model.OWLOntologyManager;
import org.semanticweb.owlapi.util.OWLObjectDuplicator;

public class AnonymousResourceHandler {
Expand Down Expand Up @@ -108,15 +109,16 @@ private Set<OWLAnnotation> duplicateAxiomAnnotations(OWLAxiom axiom, OWLObjectDu

private class SurrogateInserter extends OWLObjectDuplicator {
public SurrogateInserter(OWLDataFactory factory) {
super(factory);
// FIXME this cast is _very_ likely not correct.
super((OWLOntologyManager)factory);
}

public void visit(OWLAnonymousIndividual i) {
public OWLAnonymousIndividual visit(OWLAnonymousIndividual i) {
IRI iri = getSurrogateId(i);
setLastObject(factory.getOWLNamedIndividual(iri));
return (OWLAnonymousIndividual)t(factory.getOWLNamedIndividual(iri));
}

public void visit(OWLAnnotationAssertionAxiom axiom) {
public OWLAnnotationAssertionAxiom visit(OWLAnnotationAssertionAxiom axiom) {
OWLObject rawSubject = duplicateObject(axiom.getSubject());
OWLAnnotationSubject subject;
if (rawSubject instanceof OWLNamedIndividual) {
Expand All @@ -134,10 +136,10 @@ public void visit(OWLAnnotationAssertionAxiom axiom) {
else {
value = (OWLAnnotationValue) rawValue;
}
setLastObject(factory.getOWLAnnotationAssertionAxiom(prop, subject, value, duplicateAxiomAnnotations(axiom, this)));
return t(factory.getOWLAnnotationAssertionAxiom(prop, subject, value, duplicateAxiomAnnotations(axiom, this)));
}

public void visit(OWLAnnotation node) {
public OWLAnnotation visit(OWLAnnotation node) {
OWLAnnotationProperty prop = duplicateObject(node.getProperty());
OWLObject rawValue = duplicateObject(node.getValue());
OWLAnnotationValue val;
Expand All @@ -147,27 +149,28 @@ public void visit(OWLAnnotation node) {
else {
val = (OWLAnnotationValue) rawValue;
}
setLastObject(factory.getOWLAnnotation(prop, val));
return t(factory.getOWLAnnotation(prop, val));
}

}

private class SurrogateRemover extends OWLObjectDuplicator {

public SurrogateRemover(OWLDataFactory factory) {
super(factory);
// FIXME this cast is _very_ likely not correct.
super((OWLOntologyManager)factory);
}

public void visit(OWLNamedIndividual i) {
public OWLNamedIndividual visit(OWLNamedIndividual i) {
if (isSurrogate(i.getIRI())) {
setLastObject(getAnonymousIndividual(i.getIRI()));
return (OWLNamedIndividual)t(getAnonymousIndividual(i.getIRI()));
}
else {
setLastObject(i);
return t(i);
}
}

public void visit(OWLAnnotationAssertionAxiom axiom) {
public OWLAnnotationAssertionAxiom visit(OWLAnnotationAssertionAxiom axiom) {
OWLAnnotationSubject subject = duplicateObject(axiom.getSubject());
if (subject instanceof IRI && isSurrogate((IRI) subject)) {
subject = getAnonymousIndividual((IRI) subject);
Expand All @@ -177,17 +180,17 @@ public void visit(OWLAnnotationAssertionAxiom axiom) {
if (value instanceof IRI && isSurrogate((IRI) value)) {
value = getAnonymousIndividual((IRI) value);
}
setLastObject(factory.getOWLAnnotationAssertionAxiom(prop, subject, value, duplicateAxiomAnnotations(axiom, this)));
return t(factory.getOWLAnnotationAssertionAxiom(prop, subject, value, duplicateAxiomAnnotations(axiom, this)));
}

public void visit(OWLAnnotation node) {
public OWLAnnotation visit(OWLAnnotation node) {
node.getProperty().accept(this);
OWLAnnotationProperty prop = (OWLAnnotationProperty) duplicateObject(node.getProperty());
OWLAnnotationValue val = (OWLAnnotationValue) duplicateObject(node.getValue());
if (val instanceof IRI && isSurrogate((IRI) val)) {
val = getAnonymousIndividual((IRI) val);
}
setLastObject(factory.getOWLAnnotation(prop, val));
return t(factory.getOWLAnnotation(prop, val));
}
}
}