From b0980fc6d0002364bfc19b423c0d636b2ff660cc Mon Sep 17 00:00:00 2001 From: Cyrille Savelief Date: Thu, 6 Jun 2019 14:17:57 +0200 Subject: [PATCH 1/5] Add package for stratified negation. It is based on Artur BOIXEL's package https://github.com/arthur-boixel/graal-stratified-negation. --- graal-stratified-negation/pom.xml | 165 +++++++++++ .../fr/lirmm/graphik/graal/stratneg/App.java | 91 ++++++ .../ConjunctiveQueryWithNegation.java | 198 +++++++++++++ .../graal/stratneg/DirectedLabeledEdge.java | 55 ++++ .../stratneg/HomomorphismWithNegation.java | 158 +++++++++++ .../LabeledGraphOfRuleDependencies.java | 265 ++++++++++++++++++ .../stratneg/RuleApplierWithNegation.java | 45 +++ .../graal/stratneg/RuleWithNegation.java | 89 ++++++ .../graphik/graal/stratneg/RulesIndex.java | 71 +++++ .../UnifierWithNegationAlgorithm.java | 197 +++++++++++++ .../lirmm/graphik/graal/stratneg/Utils.java | 212 ++++++++++++++ .../LabeledGraphOfRuleDependenciesTest.java | 16 ++ .../graphik/graal/stratneg/UtilsTest.java | 85 ++++++ pom.xml | 1 + 14 files changed, 1648 insertions(+) create mode 100644 graal-stratified-negation/pom.xml create mode 100644 graal-stratified-negation/src/main/java/fr/lirmm/graphik/graal/stratneg/App.java create mode 100644 graal-stratified-negation/src/main/java/fr/lirmm/graphik/graal/stratneg/ConjunctiveQueryWithNegation.java create mode 100644 graal-stratified-negation/src/main/java/fr/lirmm/graphik/graal/stratneg/DirectedLabeledEdge.java create mode 100644 graal-stratified-negation/src/main/java/fr/lirmm/graphik/graal/stratneg/HomomorphismWithNegation.java create mode 100644 graal-stratified-negation/src/main/java/fr/lirmm/graphik/graal/stratneg/LabeledGraphOfRuleDependencies.java create mode 100644 graal-stratified-negation/src/main/java/fr/lirmm/graphik/graal/stratneg/RuleApplierWithNegation.java create mode 100644 graal-stratified-negation/src/main/java/fr/lirmm/graphik/graal/stratneg/RuleWithNegation.java create mode 100644 graal-stratified-negation/src/main/java/fr/lirmm/graphik/graal/stratneg/RulesIndex.java create mode 100644 graal-stratified-negation/src/main/java/fr/lirmm/graphik/graal/stratneg/UnifierWithNegationAlgorithm.java create mode 100644 graal-stratified-negation/src/main/java/fr/lirmm/graphik/graal/stratneg/Utils.java create mode 100644 graal-stratified-negation/src/test/java/fr/lirmm/graphik/graal/stratneg/LabeledGraphOfRuleDependenciesTest.java create mode 100644 graal-stratified-negation/src/test/java/fr/lirmm/graphik/graal/stratneg/UtilsTest.java diff --git a/graal-stratified-negation/pom.xml b/graal-stratified-negation/pom.xml new file mode 100644 index 000000000..91377ecc6 --- /dev/null +++ b/graal-stratified-negation/pom.xml @@ -0,0 +1,165 @@ + + + 4.0.0 + + + fr.lirmm.graphik + graal + 1.3.2-SNAPSHOT + + + graal-stratified-negation + fr.lirmm.graphik:graal-stratified-negation + The Stratified Negation module implements algorithms to query data. + + + + Arthur BOIXEL + + + + + UTF-8 + 1.8 + 2.3.1 + 3.1.1 + 27.1-jre + 0.9.0 + 1.3 + + + + + + + com.beust + jcommander + 1.72 + + + + + com.google.guava + guava + ${guava.version} + + + + + com.google.errorprone + error_prone_annotations + ${error-prone.version} + + + + + org.jgrapht + jgrapht-core + ${jgrapht.version} + + + org.jgrapht + jgrapht-ext + ${jgrapht.version} + + + + + fr.lirmm.graphik + graal-kb + ${project.parent.version} + + + fr.lirmm.graphik + graal-io-dlgp + ${project.parent.version} + + + fr.lirmm.graphik + graal-rules-analyser + ${project.parent.version} + + + fr.lirmm.graphik + graal-forward-chaining + ${project.parent.version} + + + + + ${basedir}/src/main/java + ${basedir}/src/test/java + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.3 + + javac-with-errorprone + true + + -Xep:ClassName + -Xep:DepAnn + -Xep:EmptyIf + -Xep:NoAllocation + -Xep:NumericEquality + -Xep:NonCanonicalStaticMemberImport + -Xep:PrimitiveArrayPassedToVarargsMethod + -Xep:StringEquality + -Xep:Var:ERROR + -Xep:WildcardImport + -XepDisableWarningsInGeneratedCode + + true + + 8 + 8 + + + + org.codehaus.plexus + plexus-compiler-javac-errorprone + 2.8.3 + + + + com.google.errorprone + error_prone_core + ${error-prone.version} + + + + + + + org.apache.maven.plugins + maven-shade-plugin + ${maven-shade-plugin.version} + + + package + + shade + + + + + + + + org.apache.maven.plugins + maven-surefire-plugin + 3.0.0-M3 + + methods + 5 + false + + + + + \ No newline at end of file diff --git a/graal-stratified-negation/src/main/java/fr/lirmm/graphik/graal/stratneg/App.java b/graal-stratified-negation/src/main/java/fr/lirmm/graphik/graal/stratneg/App.java new file mode 100644 index 000000000..e50c6293c --- /dev/null +++ b/graal-stratified-negation/src/main/java/fr/lirmm/graphik/graal/stratneg/App.java @@ -0,0 +1,91 @@ +package fr.lirmm.graphik.graal.stratneg; + +import java.io.File; +import com.beust.jcommander.JCommander; +import com.beust.jcommander.Parameter; +import com.google.errorprone.annotations.Var; + +public class App { + + private static final String PROGRAM_NAME = "graal-stratified-negation"; + private static final String VERSION = "1.0"; + @Parameter(names = {"-f", "--input-file"}, description = "Rule set input file.") + private String input_filepath = "-"; + @Parameter(names = {"-g", "--grd"}, description = "Print the Graph of Rule Dependencies.") + private boolean print_grd = false; + @Parameter(names = {"-s", "--print-scc"}, + description = "Print the Strongly Connected Components.") + private boolean print_scc = false; + @Parameter(names = {"-r", "--rule-set"}, description = "Print the rule set.") + private boolean print_ruleset = false; + @Parameter(names = {"-c", "--forward-chaining"}, + description = "Apply forward chaining on the specified Fact Base.") + private String facts_filepath = "-"; + @Parameter(names = {"-h", "--help"}, description = "Print this message.") + private boolean help = false; + @Parameter(names = {"-v", "--version"}, description = "Print version information") + private boolean version = false; + + @SuppressWarnings("deprecation") + public static void main(String[] args) { + + App options = new App(); + @Var + JCommander commander = null; + try { + commander = new JCommander(options, args); + } catch (com.beust.jcommander.ParameterException e) { + System.err.println(e.getMessage()); + System.exit(1); + } + + if (options.help) { + System.out.println( + "For more details about this tool see : https://github.com/arthur-boixel/graal-stratified-negation "); + commander.usage(); + System.exit(0); + } + + if (options.version) { + printVersion(); + System.exit(0); + } + + if (options.input_filepath.compareTo("-") == 0) { + System.out.println("Error, you need a Rule Base or at least launch the GUI"); + System.exit(0); + } + + LabeledGraphOfRuleDependencies grd = + new LabeledGraphOfRuleDependencies(new File(options.input_filepath)); + + if (options.print_ruleset) { + System.out.println(Utils.getRulesText(grd.getRules())); + } + + if (options.print_grd) { + System.out.println(Utils.getGrdText(grd)); + } + + if (options.print_scc) { + System.out.println(Utils.getSccText(grd.stronglyConnectedComponentsGraph())); + } + + System.out.print("===== ANALYSIS : "); + + if (!grd.hasCircuitWithNegativeEdge()) { + + System.out.println("STRATIFIABLE ====="); + + if (options.facts_filepath.compareTo("-") != 0) { + System.out.println(Utils.getSaturationFromFile(options.facts_filepath, grd)); + } + } else { + System.out.println("NOT STRATITIFABLE ====="); + } + } + + private static void printVersion() { + System.out.println(PROGRAM_NAME + " version " + VERSION); + } +} diff --git a/graal-stratified-negation/src/main/java/fr/lirmm/graphik/graal/stratneg/ConjunctiveQueryWithNegation.java b/graal-stratified-negation/src/main/java/fr/lirmm/graphik/graal/stratneg/ConjunctiveQueryWithNegation.java new file mode 100644 index 000000000..7f0fa79a7 --- /dev/null +++ b/graal-stratified-negation/src/main/java/fr/lirmm/graphik/graal/stratneg/ConjunctiveQueryWithNegation.java @@ -0,0 +1,198 @@ +package fr.lirmm.graphik.graal.stratneg; + +import java.util.LinkedList; +import java.util.List; +import com.google.common.base.Objects; +import com.google.common.base.Preconditions; +import com.google.errorprone.annotations.CheckReturnValue; +import com.google.errorprone.annotations.Var; +import fr.lirmm.graphik.graal.api.core.Atom; +import fr.lirmm.graphik.graal.api.core.InMemoryAtomSet; +import fr.lirmm.graphik.graal.api.core.Query; +import fr.lirmm.graphik.graal.api.core.Term; +import fr.lirmm.graphik.graal.core.DefaultConjunctiveQuery; +import fr.lirmm.graphik.graal.core.factory.DefaultAtomSetFactory; +import fr.lirmm.graphik.util.stream.CloseableIterableWithoutException; +import fr.lirmm.graphik.util.stream.CloseableIteratorWithoutException; + +@CheckReturnValue +public class ConjunctiveQueryWithNegation extends DefaultConjunctiveQuery + implements Query, CloseableIterableWithoutException { + + private InMemoryAtomSet positiveAtomSet_; + private InMemoryAtomSet negativeAtomSet_; + private List responseVariables_; + private String label_; + + public ConjunctiveQueryWithNegation() { + this("", DefaultAtomSetFactory.instance().create(), DefaultAtomSetFactory.instance().create(), + new LinkedList<>()); + } + + public ConjunctiveQueryWithNegation(InMemoryAtomSet positiveAtomSet, + InMemoryAtomSet negativeAtomSet) { + this("", positiveAtomSet, negativeAtomSet, new LinkedList<>(positiveAtomSet.getVariables())); + } + + public ConjunctiveQueryWithNegation(InMemoryAtomSet positiveAtomSet, + InMemoryAtomSet negagtiveAtomSet, List ans) { + this("", positiveAtomSet, negagtiveAtomSet, ans); + } + + public ConjunctiveQueryWithNegation(String label, InMemoryAtomSet positiveAtomSet, + InMemoryAtomSet negativeAtomSet, List ans) { + + Preconditions.checkNotNull(label, "label is null"); + Preconditions.checkNotNull(negativeAtomSet, "negativeAtomSet is null"); + Preconditions.checkNotNull(positiveAtomSet, "positiveAtomSet is null"); + Preconditions.checkNotNull(ans, "ans is null"); + + positiveAtomSet_ = positiveAtomSet; + negativeAtomSet_ = negativeAtomSet; + responseVariables_ = ans; + label_ = label; + } + + public ConjunctiveQueryWithNegation(ConjunctiveQueryWithNegation query) { + + Preconditions.checkNotNull(query, "query is null"); + + positiveAtomSet_ = DefaultAtomSetFactory.instance().create(query.positiveAtomSet()); + negativeAtomSet_ = DefaultAtomSetFactory.instance().create(query.negativeAtomSet()); + responseVariables_ = new LinkedList<>(query.getAnswerVariables()); + label_ = query.getLabel(); + } + + /** + * The label (the name) for this query. + * + * @return the label of this query. + */ + @Override + public String getLabel() { + return label_; + } + + @Override + public void setLabel(String label) { + label_ = Preconditions.checkNotNull(label, "label is null"); + } + + /** + * Get the atom conjunction representing the query. + * + * @return an atom set representing the atom conjunction of the query. + */ + public InMemoryAtomSet positiveAtomSet() { + return positiveAtomSet_; + } + + @Deprecated + public void positiveAtomSet(InMemoryAtomSet positiveAtomSet) { + positiveAtomSet_ = Preconditions.checkNotNull(positiveAtomSet, "positiveAtomSet is null"); + } + + /** + * Get the negative atom conjunction representing the query. + * + * @return an atom set representing the atom conjunction of the query. + */ + public InMemoryAtomSet negativeAtomSet() { + return negativeAtomSet_; + } + + @Deprecated + public void negativeAtomSet(InMemoryAtomSet negativeAtomSet) { + negativeAtomSet_ = Preconditions.checkNotNull(negativeAtomSet, "negativeAtomSet is null"); + } + + /** + * Get the answer variables + * + * @return an Collection of Term representing the answer variables. + */ + @Override + public List getAnswerVariables() { + return responseVariables_; + } + + @Override + public void setAnswerVariables(List v) { + responseVariables_ = v; + } + + @Override + public boolean isBoolean() { + return responseVariables_.isEmpty(); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + this.appendTo(sb); + return sb.toString(); + } + + @Override + public void appendTo(StringBuilder sb) { + + Preconditions.checkNotNull(sb, "sb is null"); + + sb.append("ANS("); + + @Var + boolean first = true; + + for (Term term : this.responseVariables_) { + if (!first) { + sb.append(','); + } + first = false; + sb.append(term); + } + + sb.append(") : "); + sb.append(this.positiveAtomSet_); + sb.append(", !" + this.negativeAtomSet_); + } + + @Override + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + if (!(obj instanceof ConjunctiveQueryWithNegation)) { + return false; + } + ConjunctiveQueryWithNegation other = (ConjunctiveQueryWithNegation) obj; + return Objects.equal(getAnswerVariables(), other.getAnswerVariables()) + && Objects.equal(positiveAtomSet(), other.positiveAtomSet()) + && Objects.equal(negativeAtomSet(), other.negativeAtomSet()); + } + + @Override + public int hashCode() { + return Objects.hashCode(getAnswerVariables(), positiveAtomSet(), negativeAtomSet()); + } + + @Override + public CloseableIteratorWithoutException iterator() { + return null; + } + + /** + * Return an iterator over the positive atoms conjunction of the query. + */ + @Deprecated + public CloseableIteratorWithoutException positiveIterator() { + return positiveAtomSet().iterator(); + } + + /** + * Return an iterator over the negative atoms conjunction of the query. + */ + @Deprecated + public CloseableIteratorWithoutException negativeIterator() { + return negativeAtomSet().iterator(); + } +} diff --git a/graal-stratified-negation/src/main/java/fr/lirmm/graphik/graal/stratneg/DirectedLabeledEdge.java b/graal-stratified-negation/src/main/java/fr/lirmm/graphik/graal/stratneg/DirectedLabeledEdge.java new file mode 100644 index 000000000..8bf8e714c --- /dev/null +++ b/graal-stratified-negation/src/main/java/fr/lirmm/graphik/graal/stratneg/DirectedLabeledEdge.java @@ -0,0 +1,55 @@ +package fr.lirmm.graphik.graal.stratneg; + +import com.google.errorprone.annotations.CheckReturnValue; +import fr.lirmm.graphik.util.graph.DirectedEdge; + +@CheckReturnValue +public class DirectedLabeledEdge implements DirectedEdge { + + private final int tail_; + private final int head_; + private final char label_; + + public DirectedLabeledEdge(int tail, int head, char label) { + tail_ = tail; + head_ = head; + label_ = label; + } + + @Override + public int getFirst() { + return getTail(); + } + + @Override + public int getSecond() { + return getHead(); + } + + @Override + public int getHead() { + return head_; + } + + @Override + public int getTail() { + return tail_; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("("); + sb.append(tail_); + sb.append("="); + sb.append(label_); + sb.append("=>"); + sb.append(head_); + sb.append(")"); + return sb.toString(); + } + + public char getLabel() { + return label_; + } +} diff --git a/graal-stratified-negation/src/main/java/fr/lirmm/graphik/graal/stratneg/HomomorphismWithNegation.java b/graal-stratified-negation/src/main/java/fr/lirmm/graphik/graal/stratneg/HomomorphismWithNegation.java new file mode 100644 index 000000000..e8c7387e1 --- /dev/null +++ b/graal-stratified-negation/src/main/java/fr/lirmm/graphik/graal/stratneg/HomomorphismWithNegation.java @@ -0,0 +1,158 @@ +package fr.lirmm.graphik.graal.stratneg; + +import java.util.ArrayList; +import com.google.common.base.Preconditions; +import com.google.errorprone.annotations.CheckReturnValue; +import fr.lirmm.graphik.graal.api.core.Atom; +import fr.lirmm.graphik.graal.api.core.AtomSet; +import fr.lirmm.graphik.graal.api.core.AtomSetException; +import fr.lirmm.graphik.graal.api.core.Predicate; +import fr.lirmm.graphik.graal.api.core.RulesCompilation; +import fr.lirmm.graphik.graal.api.core.Substitution; +import fr.lirmm.graphik.graal.api.homomorphism.HomomorphismException; +import fr.lirmm.graphik.graal.api.homomorphism.HomomorphismWithCompilation; +import fr.lirmm.graphik.graal.core.DefaultConjunctiveQuery; +import fr.lirmm.graphik.graal.core.atomset.LinkedListAtomSet; +import fr.lirmm.graphik.graal.homomorphism.SmartHomomorphism; +import fr.lirmm.graphik.util.profiler.AbstractProfilable; +import fr.lirmm.graphik.util.stream.CloseableIterator; +import fr.lirmm.graphik.util.stream.CloseableIteratorAdapter; +import fr.lirmm.graphik.util.stream.CloseableIteratorWithoutException; +import fr.lirmm.graphik.util.stream.IteratorException; + +@CheckReturnValue +public class HomomorphismWithNegation extends AbstractProfilable + implements HomomorphismWithCompilation { + + private static HomomorphismWithNegation instance_; + + public HomomorphismWithNegation() { + + } + + public static synchronized HomomorphismWithNegation instance() { + if (instance_ == null) { + instance_ = new HomomorphismWithNegation(); + } + return instance_; + } + + @Override + public boolean exist(Object q, AtomSet a, RulesCompilation compilation) { + return exist(q, a); + } + + @Override + public boolean exist(Object q, AtomSet a, RulesCompilation compilation, Substitution s) + throws HomomorphismException { + return false; + } + + @Override + public boolean exist(Object q, AtomSet a) { + + Preconditions.checkNotNull(q, "q is null"); + Preconditions.checkArgument(q instanceof ConjunctiveQueryWithNegation, + "q is not an instance of ConjunctiveQueryWithNegation"); + Preconditions.checkNotNull(a, "a is null"); + + ConjunctiveQueryWithNegation cq = (ConjunctiveQueryWithNegation) q; + + try (CloseableIterator l = SmartHomomorphism.instance() + .execute(new DefaultConjunctiveQuery(cq.positiveAtomSet()), a)) { + while (l.hasNext()) { + + Substitution s = l.next(); + + if (verifSub(s, cq.negativeAtomSet(), a)) { + return true; + } + } + } catch (HomomorphismException e) { + e.printStackTrace(); + } catch (IteratorException e) { + e.printStackTrace(); + } catch (AtomSetException e) { + e.printStackTrace(); + } + return false; + } + + @Override + public boolean exist(Object q, AtomSet a, Substitution s) { + return false; + } + + @Override + public CloseableIterator execute(Object q, AtomSet a) { + + Preconditions.checkNotNull(q, "q is null"); + Preconditions.checkArgument(q instanceof ConjunctiveQueryWithNegation, + "q is not an instance of ConjunctiveQueryWithNegation"); + Preconditions.checkNotNull(a, "a is null"); + + ConjunctiveQueryWithNegation cq = (ConjunctiveQueryWithNegation) q; + ArrayList list = new ArrayList<>(); + + try (CloseableIterator l = SmartHomomorphism.instance() + .execute(new DefaultConjunctiveQuery(cq.positiveAtomSet()), a)) { + while (l.hasNext()) { + + Substitution s = l.next(); + + if (verifSub(s, cq.negativeAtomSet(), a)) { + list.add(s); + } + } + } catch (HomomorphismException e) { + e.printStackTrace(); + } catch (IteratorException e) { + e.printStackTrace(); + } catch (AtomSetException e) { + e.printStackTrace(); + } + return new CloseableIteratorAdapter<>(list.iterator()); + } + + @Override + public CloseableIterator execute(Object q, AtomSet a, Substitution s) { + return null; + } + + @Override + public CloseableIterator execute(Object q, AtomSet a, + RulesCompilation compilation) { + return execute(q, a); + } + + @Override + public CloseableIterator execute(Object q, AtomSet a, RulesCompilation compilation, + Substitution s) { + return null; + } + + private boolean verifSub(Substitution sub, AtomSet negPart, AtomSet factBase) + throws AtomSetException { + + Preconditions.checkNotNull(sub, "sub is null"); + Preconditions.checkNotNull(negPart, "negPart is null"); + Preconditions.checkNotNull(factBase, "factBase is null"); + + LinkedListAtomSet res = new LinkedListAtomSet(); + sub.apply(negPart, res); + + for (Predicate predicate : res.getPredicates()) { + try (CloseableIteratorWithoutException it = res.atomsByPredicate(predicate)) { + while (it.hasNext()) { + + Atom atom = it.next(); + + if (factBase.contains(atom)) { + return false; + } + } + } + } + return true; + } +} diff --git a/graal-stratified-negation/src/main/java/fr/lirmm/graphik/graal/stratneg/LabeledGraphOfRuleDependencies.java b/graal-stratified-negation/src/main/java/fr/lirmm/graphik/graal/stratneg/LabeledGraphOfRuleDependencies.java new file mode 100644 index 000000000..f992bc5c3 --- /dev/null +++ b/graal-stratified-negation/src/main/java/fr/lirmm/graphik/graal/stratneg/LabeledGraphOfRuleDependencies.java @@ -0,0 +1,265 @@ +package fr.lirmm.graphik.graal.stratneg; + +import static java.nio.charset.StandardCharsets.UTF_8; +import java.io.BufferedReader; +import java.io.File; +import java.io.FileInputStream; +import java.io.InputStreamReader; +import java.util.HashSet; +import java.util.List; +import java.util.Set; +import org.apache.commons.lang3.tuple.Pair; +import org.jgrapht.DirectedGraph; +import org.jgrapht.alg.cycle.TarjanSimpleCycles; +import org.jgrapht.graph.DefaultDirectedGraph; +import com.google.common.base.Preconditions; +import com.google.common.base.Throwables; +import com.google.errorprone.annotations.CanIgnoreReturnValue; +import com.google.errorprone.annotations.CheckReturnValue; +import com.google.errorprone.annotations.Var; +import fr.lirmm.graphik.graal.api.core.GraphOfRuleDependencies; +import fr.lirmm.graphik.graal.api.core.Rule; +import fr.lirmm.graphik.graal.api.core.Substitution; +import fr.lirmm.graphik.graal.kb.KBBuilder; +import fr.lirmm.graphik.util.graph.scc.StronglyConnectedComponentsGraph; + +@CheckReturnValue +public class LabeledGraphOfRuleDependencies implements GraphOfRuleDependencies { + + private final DirectedGraph graph_; + private final Iterable rules_; + + private boolean computeCircuits_ = false; + private List> circuits_; + + private boolean computeScc_ = false; + private StronglyConnectedComponentsGraph scc_; + + public LabeledGraphOfRuleDependencies(File src) { + this(readRules(src)); + } + + protected LabeledGraphOfRuleDependencies(Iterable rules) { + + Preconditions.checkNotNull(rules, "rules is null"); + + graph_ = new DefaultDirectedGraph<>(DirectedLabeledEdge.class); + rules_ = rules; + + for (Rule rule : rules_) { + graph_.addVertex(rule); + } + + computeDependencies(); + hasCircuit(); + scc_ = stronglyConnectedComponentsGraph(); + } + + static private Iterable readRules(File file) { + + Preconditions.checkNotNull(file, "file is null"); + Preconditions.checkArgument(file.exists(), "file does not exist"); + + KBBuilder kbb = new KBBuilder(); + + try (BufferedReader br = + new BufferedReader(new InputStreamReader(new FileInputStream(file), UTF_8))) { + + @Var + String row; + + while ((row = br.readLine()) != null) { + if (row.length() > 0 && row.charAt(0) != '%') { + kbb.add(Utils.parseRule(row)); + } + } + } catch (Exception e) { + Throwables.getRootCause(e).printStackTrace(); + } + return kbb.build().getOntology(); + } + + @Override + public boolean existUnifier(Rule src, Rule dest) { + + Preconditions.checkNotNull(src, "src is null"); + Preconditions.checkNotNull(dest, "dest is null"); + + return graph_.getEdge(src, dest) != null; + } + + @Override + public Set getUnifiers(Rule src, Rule dest) { + return null; + } + + @Override + public Set getTriggeredRules(Rule src) { + + Preconditions.checkNotNull(src, "src is null"); + + Set set = new HashSet<>(); + + for (DirectedLabeledEdge edge : graph_.outgoingEdgesOf(src)) { + if (edge.getLabel() == '+') { + set.add(graph_.getEdgeTarget(edge)); + } + } + return set; + } + + @Override + public Set> getTriggeredRulesWithUnifiers(Rule src) { + return null; + } + + @Override + public GraphOfRuleDependencies getSubGraph(Iterable rules) { + + Preconditions.checkNotNull(rules, "rules is null"); + + LabeledGraphOfRuleDependencies subGrd = new LabeledGraphOfRuleDependencies(rules); + + for (Rule src : rules) { + for (Rule target : rules) { + DirectedLabeledEdge edge = graph_.getEdge(src, target); + if (edge != null) { + subGrd.addDependency((RuleWithNegation) src, (RuleWithNegation) target, edge.getLabel()); + } + } + } + return subGrd; + } + + @Override + public Iterable getRules() { + return rules_; + } + + @Override + public StronglyConnectedComponentsGraph stronglyConnectedComponentsGraph() { + if (!computeScc_) { + scc_ = new StronglyConnectedComponentsGraph<>(graph_); + computeScc_ = true; + } + return scc_; + } + + @CanIgnoreReturnValue + @Override + public boolean hasCircuit() { + if (!computeCircuits_) { + circuits_ = new TarjanSimpleCycles<>(graph_).findSimpleCycles(); + computeCircuits_ = true; + } + return !circuits_.isEmpty(); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("Rules :\n"); + for (Rule rule : rules_) { + sb.append(rule.toString()); + } + sb.append("\n"); + return sb.append(graph_.toString()).toString(); + } + + public Set getInhibitedRules(Rule src) { + + Preconditions.checkNotNull(src, "src is null"); + + Set set = new HashSet<>(); + + for (DirectedLabeledEdge edge : graph_.outgoingEdgesOf(src)) { + if (edge.getLabel() == '-') { + set.add(graph_.getEdgeTarget(edge)); + } + } + return set; + } + + public boolean hasCircuitWithNegativeEdge() { + + if (!computeCircuits_) { + hasCircuit(); + } + if (circuits_.isEmpty()) { + return false; + } + + for (List c : circuits_) { + if (containsNegativeEdge(c)) { + return true; + } + } + return false; + } + + private void computeDependencies() { + + UnifierWithNegationAlgorithm unifier = UnifierWithNegationAlgorithm.instance(); + RulesIndex index = new RulesIndex(rules_); + + for (Rule rule : rules_) { + + RuleWithNegation goal = (RuleWithNegation) rule; + Iterable subGoals = + (Iterable) (Iterable) index.rules(rule.getHead().getPredicates()); + + for (RuleWithNegation subGoal : subGoals) { + if (!graph_.containsEdge(rule, subGoal)) { + + // Negative Dependency + if (unifier.existNegativeDependency(goal, subGoal)) { + graph_.addEdge(goal, subGoal, + new DirectedLabeledEdge(goal.indice(), subGoal.indice(), '-')); + } + // Positive Dependency + else if (unifier.existPositiveDependency(goal, subGoal)) { + graph_.addEdge(goal, subGoal, + new DirectedLabeledEdge(goal.indice(), subGoal.indice(), '+')); + } else { + // ERROR + } + } + } + } + } + + private boolean containsNegativeEdge(List circuit) { + + Preconditions.checkNotNull(circuit, "circuit is null"); + + for (int i = 0; i < circuit.size() - 1; i++) { + for (DirectedLabeledEdge edge : graph_.outgoingEdgesOf(circuit.get(i))) { + if (edge.getHead() == ((RuleWithNegation) circuit.get(i + 1)).indice()) { + if (edge.getLabel() == '-') { + return true; + } + break; + } + } + } + + int i = circuit.size() - 1; + + for (DirectedLabeledEdge edge : graph_.outgoingEdgesOf(circuit.get(i))) { + if (edge.getHead() == ((RuleWithNegation) circuit.get(0)).indice()) { + if (edge.getLabel() == '-') { + return true; + } + break; + } + } + return false; + } + + private void addDependency(RuleWithNegation src, RuleWithNegation target, char label) { + + Preconditions.checkNotNull(src, "src is null"); + Preconditions.checkNotNull(target, "target is null"); + + graph_.addEdge(src, target, new DirectedLabeledEdge(src.indice(), target.indice(), label)); + } +} diff --git a/graal-stratified-negation/src/main/java/fr/lirmm/graphik/graal/stratneg/RuleApplierWithNegation.java b/graal-stratified-negation/src/main/java/fr/lirmm/graphik/graal/stratneg/RuleApplierWithNegation.java new file mode 100644 index 000000000..8e247066d --- /dev/null +++ b/graal-stratified-negation/src/main/java/fr/lirmm/graphik/graal/stratneg/RuleApplierWithNegation.java @@ -0,0 +1,45 @@ +package fr.lirmm.graphik.graal.stratneg; + +import java.util.LinkedList; +import com.google.common.base.Preconditions; +import com.google.errorprone.annotations.CheckReturnValue; +import fr.lirmm.graphik.graal.api.core.AtomSet; +import fr.lirmm.graphik.graal.api.core.ConjunctiveQuery; +import fr.lirmm.graphik.graal.api.core.Query; +import fr.lirmm.graphik.graal.api.core.Rule; +import fr.lirmm.graphik.graal.api.forward_chaining.ChaseHaltingCondition; +import fr.lirmm.graphik.graal.api.homomorphism.Homomorphism; +import fr.lirmm.graphik.graal.forward_chaining.halting_condition.RestrictedChaseHaltingCondition; +import fr.lirmm.graphik.graal.forward_chaining.rule_applier.AbstractRuleApplier; + +@CheckReturnValue +public class RuleApplierWithNegation extends AbstractRuleApplier { + + public RuleApplierWithNegation() { + this(HomomorphismWithNegation.instance()); + } + + public RuleApplierWithNegation(Homomorphism homomorphismSolver) { + this(homomorphismSolver, new RestrictedChaseHaltingCondition()); + } + + public RuleApplierWithNegation(ChaseHaltingCondition haltingCondition) { + this(HomomorphismWithNegation.instance(), haltingCondition); + } + + public RuleApplierWithNegation(Homomorphism homomorphismSolver, + ChaseHaltingCondition haltingCondition) { + super(homomorphismSolver, haltingCondition); + } + + @Override + protected ConjunctiveQuery generateQuery(Rule rule) { + + Preconditions.checkNotNull(rule, "rule is null"); + Preconditions.checkArgument(rule instanceof RuleWithNegation, + "rule is not an instance of RuleWithNegation"); + + return new ConjunctiveQueryWithNegation(rule.getBody(), + ((RuleWithNegation) rule).negativeBody(), new LinkedList<>(rule.getFrontier())); + } +} diff --git a/graal-stratified-negation/src/main/java/fr/lirmm/graphik/graal/stratneg/RuleWithNegation.java b/graal-stratified-negation/src/main/java/fr/lirmm/graphik/graal/stratneg/RuleWithNegation.java new file mode 100644 index 000000000..4a60991f8 --- /dev/null +++ b/graal-stratified-negation/src/main/java/fr/lirmm/graphik/graal/stratneg/RuleWithNegation.java @@ -0,0 +1,89 @@ +package fr.lirmm.graphik.graal.stratneg; + +import com.google.common.base.Preconditions; +import com.google.errorprone.annotations.CheckReturnValue; +import fr.lirmm.graphik.graal.api.core.Atom; +import fr.lirmm.graphik.graal.api.core.InMemoryAtomSet; +import fr.lirmm.graphik.graal.api.core.Predicate; +import fr.lirmm.graphik.graal.core.DefaultRule; +import fr.lirmm.graphik.util.stream.CloseableIteratorWithoutException; + +@CheckReturnValue +public class RuleWithNegation extends DefaultRule { + + private final InMemoryAtomSet negativeBody_; + private final int indice_; + + public RuleWithNegation(String label, InMemoryAtomSet positiveBody, InMemoryAtomSet negativeBody, + InMemoryAtomSet head) { + + super(label, positiveBody, head); + + Preconditions.checkNotNull(negativeBody, "negativeBody is null"); + + negativeBody_ = negativeBody; + indice_ = Integer.parseInt(getLabel(), 10); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + appendTo(sb); + return sb.toString(); + } + + @Override + public void appendTo(StringBuilder sb) { + + Preconditions.checkNotNull(sb, "sb is null"); + + if (!getLabel().isEmpty()) { + sb.append('['); + sb.append(getLabel()); + sb.append("] "); + } + + sb.append("["); + + // Positive body + for (Predicate predicate : getBody().getPredicates()) { + try (CloseableIteratorWithoutException it = getBody().atomsByPredicate(predicate)) { + while (it.hasNext()) { + Atom atom = it.next(); + sb.append(atom.toString()); + sb.append(" , "); + } + } + } + + sb.replace(sb.length() - 2, sb.length(), ""); + + // Negative body + for (Predicate predicate : negativeBody().getPredicates()) { + try ( + CloseableIteratorWithoutException it = negativeBody().atomsByPredicate(predicate)) { + while (it.hasNext()) { + Atom atom = it.next(); + sb.append(" , !"); + sb.append(atom.toString()); + } + } + } + + sb.append("] -> "); + sb.append(getHead()); + } + + /** + * Get the negative body (the hypothesis) of this rule. + * + * @return the body of this rule. + */ + public InMemoryAtomSet negativeBody() { + return negativeBody_; + } + + public int indice() { + return indice_; + } +} diff --git a/graal-stratified-negation/src/main/java/fr/lirmm/graphik/graal/stratneg/RulesIndex.java b/graal-stratified-negation/src/main/java/fr/lirmm/graphik/graal/stratneg/RulesIndex.java new file mode 100644 index 000000000..c0f050755 --- /dev/null +++ b/graal-stratified-negation/src/main/java/fr/lirmm/graphik/graal/stratneg/RulesIndex.java @@ -0,0 +1,71 @@ +package fr.lirmm.graphik.graal.stratneg; + +import java.util.ArrayList; +import java.util.TreeMap; +import com.google.common.base.Preconditions; +import com.google.errorprone.annotations.CheckReturnValue; +import fr.lirmm.graphik.graal.api.core.Atom; +import fr.lirmm.graphik.graal.api.core.InMemoryAtomSet; +import fr.lirmm.graphik.graal.api.core.Predicate; +import fr.lirmm.graphik.graal.api.core.Rule; +import fr.lirmm.graphik.graal.api.core.RuleSet; +import fr.lirmm.graphik.graal.core.ruleset.LinkedListRuleSet; +import fr.lirmm.graphik.util.stream.CloseableIteratorWithoutException; + +@CheckReturnValue +public class RulesIndex { + + private final TreeMap index_ = new TreeMap<>(); + + public RulesIndex(Iterable rules) { + index(rules); + } + + public Iterable rules(Iterable predicates) { + + Preconditions.checkNotNull(predicates, "predicates is null"); + + ArrayList list = new ArrayList<>(); + + for (Predicate predicate : predicates) { + RuleSet rules = index_.get(predicate); + if (rules != null) { + for (Rule rule : rules) { + list.add(rule); + } + } + } + return list; + } + + private void index(Iterable rules) { + + Preconditions.checkNotNull(rules, "rules is null"); + + for (Rule rule : rules) { + index(rule, rule.getBody()); + index(rule, ((RuleWithNegation) rule).negativeBody()); + } + } + + private void index(Rule rule, InMemoryAtomSet atomSet) { + + Preconditions.checkNotNull(rule, "rule is null"); + Preconditions.checkNotNull(atomSet, "atomSet is null"); + + try (CloseableIteratorWithoutException it = atomSet.iterator()) { + while (it.hasNext()) { + Atom atom = it.next(); + Predicate predicate = atom.getPredicate(); + RuleSet ruleSet; + if (index_.containsKey(predicate)) { + ruleSet = index_.get(predicate); + } else { + ruleSet = new LinkedListRuleSet(); + index_.put(predicate, ruleSet); + } + ruleSet.add(rule); + } + } + } +} diff --git a/graal-stratified-negation/src/main/java/fr/lirmm/graphik/graal/stratneg/UnifierWithNegationAlgorithm.java b/graal-stratified-negation/src/main/java/fr/lirmm/graphik/graal/stratneg/UnifierWithNegationAlgorithm.java new file mode 100644 index 000000000..54c447fbc --- /dev/null +++ b/graal-stratified-negation/src/main/java/fr/lirmm/graphik/graal/stratneg/UnifierWithNegationAlgorithm.java @@ -0,0 +1,197 @@ +package fr.lirmm.graphik.graal.stratneg; + +import com.google.common.base.Throwables; +import com.google.errorprone.annotations.CheckReturnValue; +import com.google.errorprone.annotations.Var; +import fr.lirmm.graphik.graal.api.core.Atom; +import fr.lirmm.graphik.graal.api.core.InMemoryAtomSet; +import fr.lirmm.graphik.graal.api.core.Substitution; +import fr.lirmm.graphik.graal.api.core.Term; +import fr.lirmm.graphik.graal.api.core.unifier.UnifierChecker; +import fr.lirmm.graphik.graal.core.atomset.LinkedListAtomSet; +import fr.lirmm.graphik.graal.core.unifier.DefaultUnifierAlgorithm; +import fr.lirmm.graphik.graal.core.unifier.checker.ProductivityChecker; +import fr.lirmm.graphik.util.stream.CloseableIterator; +import fr.lirmm.graphik.util.stream.CloseableIteratorWithoutException; +import fr.lirmm.graphik.util.stream.IteratorException; + +@CheckReturnValue +public class UnifierWithNegationAlgorithm { + + private static UnifierWithNegationAlgorithm instance_; + private final UnifierChecker[] tab_ = {}; + + public static synchronized UnifierWithNegationAlgorithm instance() { + if (instance_ == null) { + instance_ = new UnifierWithNegationAlgorithm(); + } + return instance_; + } + + private static boolean hasIntersection(InMemoryAtomSet a1, InMemoryAtomSet a2) { + return a1.removeAll(a2); + } + + public boolean existPositiveDependency(RuleWithNegation src, RuleWithNegation dest) { + + RuleWithNegation r1 = + createImageOf(src, DefaultUnifierAlgorithm.getSourceVariablesSubstitution()); + RuleWithNegation r2 = + createImageOf(dest, DefaultUnifierAlgorithm.getTargetVariablesSubstitution()); + + // Compute Piece unifiers + try (CloseableIteratorWithoutException sigmas = DefaultUnifierAlgorithm.instance() + .computePieceUnifier(r1, r2, ProductivityChecker.instance())) { + while (sigmas.hasNext()) { + if (isValidPositiveUnifier(r1, r2, sigmas.next())) { + return true; + } + } + } + return false; + } + + public boolean existNegativeDependency(RuleWithNegation src, RuleWithNegation dest) { + + LinkedListAtomSet r1Head = new LinkedListAtomSet(); + + try (CloseableIterator itAtom = src.getHead().iterator()) { + + @Var + boolean add; + + while (itAtom.hasNext()) { + Atom a = itAtom.next(); + add = true; + for (Term t : a.getTerms()) { + if (t.isVariable()) { + if (src.getExistentials().contains(t)) { + add = false; + break; + } + } + } + if (add) { + r1Head.add(a); + } + } + } catch (IteratorException e) { + Throwables.getRootCause(e).printStackTrace(); + } + + RuleWithNegation srcBis = + new RuleWithNegation(src.getLabel(), src.getBody(), src.negativeBody(), r1Head); + RuleWithNegation r1 = + createImageOf(srcBis, DefaultUnifierAlgorithm.getSourceVariablesSubstitution()); + RuleWithNegation r2 = + createImageOf(dest, DefaultUnifierAlgorithm.getTargetVariablesSubstitution()); + + try (CloseableIteratorWithoutException sigmas = + DefaultUnifierAlgorithm.instance().computePieceUnifier(r1, r2.negativeBody(), tab_)) { + while (sigmas.hasNext()) { + if (isValidNegativeUnifier(r1, r2, sigmas.next())) { + return true; + } + } + } + return false; + } + + private boolean isValidPositiveUnifier(RuleWithNegation r1, RuleWithNegation r2, Substitution s) { + + /* Application substitution */ + InMemoryAtomSet bpi = s.createImageOf(r1.getBody()); + InMemoryAtomSet bni = s.createImageOf(r1.negativeBody()); + InMemoryAtomSet bpj = s.createImageOf(r2.getBody()); + InMemoryAtomSet bnj = s.createImageOf(r2.negativeBody()); + InMemoryAtomSet hi = s.createImageOf(r1.getHead()); + InMemoryAtomSet hj = s.createImageOf(r2.getHead()); + + boolean i = !hasIntersection(bpi, bni); + boolean ii = !hasIntersection(bpi, bnj); + boolean iii = !hasIntersection(bpj, bnj); + + InMemoryAtomSet bpjBis = s.createImageOf(bpj); + bpjBis.removeAll(hi); + boolean iv = !hasIntersection(bni, bpjBis); + + InMemoryAtomSet union = new LinkedListAtomSet(); + union.addAll(hi); // Atomic heads + union.addAll(bpi); + union.addAll(bpj); + + @Var + boolean v = true; + + try (CloseableIterator itAtom = hj.iterator()) { + while (itAtom.hasNext()) { + if (union.contains(itAtom.next())) { + v = false; + break; + } + } + } catch (IteratorException e) { + Throwables.getRootCause(e).printStackTrace(); + } + + boolean vi = !hasIntersection(bnj, hi); + @Var + boolean vii = true; + + try (CloseableIterator itAtom = bpj.iterator()) { + while (itAtom.hasNext()) { + if (bpi.contains(itAtom.next())) { + vii = false; + break; + } + } + } catch (IteratorException e) { + Throwables.getRootCause(e).printStackTrace(); + } + + bpi.clear(); + bni.clear(); + bpj.clear(); + bpjBis.clear(); + bnj.clear(); + hi.clear(); + hj.clear(); + union.clear(); + + return (i && ii && iii && iv && v && vi && vii); + } + + private boolean isValidNegativeUnifier(RuleWithNegation r1, RuleWithNegation r2, Substitution s) { + + /* Application substitution */ + InMemoryAtomSet bpi = s.createImageOf(r1.getBody()); + InMemoryAtomSet bni = s.createImageOf(r1.negativeBody()); + InMemoryAtomSet bpj = s.createImageOf(r2.getBody()); + InMemoryAtomSet bnj = s.createImageOf(r2.negativeBody()); + + InMemoryAtomSet uPos = new LinkedListAtomSet(); + uPos.addAll(bpi); + uPos.addAll(bpj); + + InMemoryAtomSet uNeg = new LinkedListAtomSet(); + uNeg.addAll(bni); + uNeg.addAll(bnj); + + /* (i) */ + boolean inter = hasIntersection(uPos, uNeg); // inter = (B+1 , B+2) inter (B-1 , B-2) + + bpi.clear(); + bni.clear(); + bpj.clear(); + bnj.clear(); + uPos.clear(); + uNeg.clear(); + + return (!inter); + } + + private RuleWithNegation createImageOf(RuleWithNegation rule, Substitution s) { + return new RuleWithNegation(rule.getLabel(), s.createImageOf(rule.getBody()), + s.createImageOf(rule.negativeBody()), s.createImageOf(rule.getHead())); + } +} diff --git a/graal-stratified-negation/src/main/java/fr/lirmm/graphik/graal/stratneg/Utils.java b/graal-stratified-negation/src/main/java/fr/lirmm/graphik/graal/stratneg/Utils.java new file mode 100644 index 000000000..0138fc523 --- /dev/null +++ b/graal-stratified-negation/src/main/java/fr/lirmm/graphik/graal/stratneg/Utils.java @@ -0,0 +1,212 @@ +package fr.lirmm.graphik.graal.stratneg; + +import static java.nio.charset.StandardCharsets.UTF_8; +import java.io.BufferedReader; +import java.io.FileInputStream; +import java.io.InputStreamReader; +import java.util.concurrent.atomic.AtomicInteger; +import com.google.common.base.Preconditions; +import com.google.common.base.Throwables; +import com.google.errorprone.annotations.CheckReturnValue; +import com.google.errorprone.annotations.Var; +import fr.lirmm.graphik.graal.api.core.Atom; +import fr.lirmm.graphik.graal.api.core.AtomSet; +import fr.lirmm.graphik.graal.api.core.Predicate; +import fr.lirmm.graphik.graal.api.core.Rule; +import fr.lirmm.graphik.graal.api.forward_chaining.ChaseException; +import fr.lirmm.graphik.graal.api.io.ParseException; +import fr.lirmm.graphik.graal.api.kb.KnowledgeBase; +import fr.lirmm.graphik.graal.core.atomset.LinkedListAtomSet; +import fr.lirmm.graphik.graal.forward_chaining.SccChase; +import fr.lirmm.graphik.graal.io.dlp.DlgpParser; +import fr.lirmm.graphik.graal.kb.KBBuilder; +import fr.lirmm.graphik.util.graph.scc.StronglyConnectedComponentsGraph; +import fr.lirmm.graphik.util.stream.CloseableIterator; +import fr.lirmm.graphik.util.stream.CloseableIteratorWithoutException; +import fr.lirmm.graphik.util.stream.IteratorException; + +@CheckReturnValue +public class Utils { + + private static AtomicInteger i_ = new AtomicInteger(-1); + + public static RuleWithNegation parseRule(String string) throws ParseException { + + Preconditions.checkNotNull(string, "string is null"); + + LinkedListAtomSet posBody = new LinkedListAtomSet(); + LinkedListAtomSet negBody = new LinkedListAtomSet(); + + Rule rule = DlgpParser.parseRule(string); + + for (Predicate predicate : rule.getBody().getPredicates()) { + try (CloseableIteratorWithoutException iterator = + rule.getBody().atomsByPredicate(predicate)) { + + while (iterator.hasNext()) { + + Atom atom = iterator.next(); + Predicate pred = atom.getPredicate(); + + if (!pred.toString().startsWith("not_")) { + posBody.add(atom); + } else { + atom.setPredicate(new Predicate(pred.getIdentifier().toString().replaceAll("not_", ""), + pred.getArity())); + negBody.add(atom); + } + } + } + } + return new RuleWithNegation(Integer.toString(i_.incrementAndGet(), 10), posBody, negBody, + rule.getHead()); + } + + private static void fillKb(KBBuilder kbb, String fileRules, String fileFacts) { + + Preconditions.checkNotNull(kbb, "kbb is null"); + + // Parsing Rules + if (fileRules != null) { + + System.out.println("Rules : parsing of '" + fileRules + "'"); + + try (BufferedReader br = + new BufferedReader(new InputStreamReader(new FileInputStream(fileRules), UTF_8))) { + + @Var + String row; + + while ((row = br.readLine()) != null) { + if (row.length() > 0 && row.charAt(0) != '%') { + kbb.add(parseRule(row)); + } + } + } catch (Exception e) { + Throwables.getRootCause(e).printStackTrace(); + } + } + + // Parsing Facts + if (fileFacts != null) { + + System.out.println("Facts : parsing of '" + fileFacts + "'"); + + try (BufferedReader br = + new BufferedReader(new InputStreamReader(new FileInputStream(fileFacts), UTF_8))) { + + @Var + String row; + + while ((row = br.readLine()) != null) { + if (row.length() > 0 && row.charAt(0) != '%') { + kbb.add(DlgpParser.parseAtom(row)); + } + } + } catch (Exception e) { + Throwables.getRootCause(e).printStackTrace(); + } + } + } + + private static String displayFacts(AtomSet facts) { + + Preconditions.checkNotNull(facts, "facts is null"); + + StringBuilder sb = new StringBuilder("== Saturation ==\n"); + + try (CloseableIterator iterator = facts.iterator()) { + while (iterator.hasNext()) { + sb.append(iterator.next().toString()); + sb.append(".\n"); + } + } catch (IteratorException e) { + Throwables.getRootCause(e).printStackTrace(); + } + return sb.toString(); + } + + public static String getSaturationFromFile(String src, LabeledGraphOfRuleDependencies grd) { + + Preconditions.checkNotNull(src, "src is null"); + Preconditions.checkNotNull(grd, "grd is null"); + + KBBuilder kbb = new KBBuilder(); + Utils.fillKb(kbb, null, src); + KnowledgeBase kb = kbb.build(); + SccChase chase = new SccChase<>(grd, kb.getFacts(), new RuleApplierWithNegation<>()); + + try { + chase.execute(); + } catch (ChaseException e) { + Throwables.getRootCause(e).printStackTrace(); + } + return Utils.displayFacts(kb.getFacts()); + } + + public static String getRulesText(Iterable rules) { + + Preconditions.checkNotNull(rules, "rules is null"); + + StringBuilder sb = new StringBuilder("====== RULE SET ======\n"); + + for (Rule rule : rules) { + sb.append(rule.toString()); + sb.append('\n'); + } + return sb.toString(); + } + + public static String getGrdText(LabeledGraphOfRuleDependencies grd) { + + Preconditions.checkNotNull(grd, "grd is null"); + + StringBuilder sb = new StringBuilder("======== GRD =========\n"); + + for (Rule rule1 : grd.getRules()) { + for (Rule rule2 : grd.getTriggeredRules(rule1)) { + sb.append("["); + sb.append(rule1.getLabel()); + sb.append("] ={+}=> ["); + sb.append(rule2.getLabel()); + sb.append("]\n"); + } + for (Rule r2 : grd.getInhibitedRules(rule1)) { + sb.append("["); + sb.append(rule1.getLabel()); + sb.append("] ={-}=> ["); + sb.append(r2.getLabel()); + sb.append("]\n"); + } + } + return sb.toString(); + } + + public static String getSccText(StronglyConnectedComponentsGraph scc) { + + Preconditions.checkNotNull(scc, "scc is null"); + + StringBuilder sb = new StringBuilder("======== SCC =========\n"); + + for (int i = 0; i < scc.getNbrComponents(); i++) { + + @Var + boolean first = true; + + sb.append("C"); + sb.append(i); + sb.append(" = {"); + + for (Rule rule : scc.getComponent(i)) { + if (first) { + first = false; + } else { + sb.append(", "); + } + sb.append(rule.getLabel()); + } + sb.append("}\n"); + } + return sb.toString(); + } +} diff --git a/graal-stratified-negation/src/test/java/fr/lirmm/graphik/graal/stratneg/LabeledGraphOfRuleDependenciesTest.java b/graal-stratified-negation/src/test/java/fr/lirmm/graphik/graal/stratneg/LabeledGraphOfRuleDependenciesTest.java new file mode 100644 index 000000000..426c44270 --- /dev/null +++ b/graal-stratified-negation/src/test/java/fr/lirmm/graphik/graal/stratneg/LabeledGraphOfRuleDependenciesTest.java @@ -0,0 +1,16 @@ +package fr.lirmm.graphik.graal.stratneg; + +import static org.junit.Assert.assertFalse; +import org.junit.Test; +import fr.lirmm.graphik.graal.api.io.ParseException; +import fr.lirmm.graphik.graal.kb.KBBuilderException; + +public class LabeledGraphOfRuleDependenciesTest { + + @Test + public void testHasCircuitWithNegativeEdge() throws ParseException, KBBuilderException { + LabeledGraphOfRuleDependencies grd = + new LabeledGraphOfRuleDependencies(UtilsTest.buildRuleSet()); + assertFalse(grd.hasCircuitWithNegativeEdge()); + } +} diff --git a/graal-stratified-negation/src/test/java/fr/lirmm/graphik/graal/stratneg/UtilsTest.java b/graal-stratified-negation/src/test/java/fr/lirmm/graphik/graal/stratneg/UtilsTest.java new file mode 100644 index 000000000..a0c2b1844 --- /dev/null +++ b/graal-stratified-negation/src/test/java/fr/lirmm/graphik/graal/stratneg/UtilsTest.java @@ -0,0 +1,85 @@ +package fr.lirmm.graphik.graal.stratneg; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; +import java.util.HashSet; +import java.util.Set; +import org.junit.Test; +import fr.lirmm.graphik.graal.api.core.Atom; +import fr.lirmm.graphik.graal.api.core.AtomSet; +import fr.lirmm.graphik.graal.api.core.AtomSetException; +import fr.lirmm.graphik.graal.api.core.RuleSet; +import fr.lirmm.graphik.graal.api.forward_chaining.ChaseException; +import fr.lirmm.graphik.graal.api.io.ParseException; +import fr.lirmm.graphik.graal.forward_chaining.SccChase; +import fr.lirmm.graphik.graal.io.dlp.DlgpParser; +import fr.lirmm.graphik.graal.kb.KBBuilder; +import fr.lirmm.graphik.graal.kb.KBBuilderException; +import fr.lirmm.graphik.util.stream.CloseableIterator; +import fr.lirmm.graphik.util.stream.IteratorException; + +public class UtilsTest { + + static RuleSet buildRuleSet() throws ParseException, KBBuilderException { + + KBBuilder kbb = new KBBuilder(); + + kbb.add(Utils.parseRule( + "garantie_non_souscrite(X) :- u(X, A, \"garantie\"), u(X, B, \"non\"), u(X, C, \"souscrite\").")); + kbb.add(Utils.parseRule( + "garantie_souscrite(X) :- u(X, A, \"garantie\"), u(X, B, \"souscrite\"), not_garantie_non_souscrite(X).")); + + return kbb.build().getOntology(); + } + + static AtomSet buildAtomSet() throws ParseException, KBBuilderException { + + KBBuilder kbb = new KBBuilder(); + + kbb.add(DlgpParser.parseAtom("u(1, 1, \"garantie\").")); + kbb.add(DlgpParser.parseAtom("u(1, 2, \"non\").")); + kbb.add(DlgpParser.parseAtom("u(1, 3, \"souscrite\").")); + kbb.add(DlgpParser.parseAtom("u(2, 1, \"garantie\").")); + kbb.add(DlgpParser.parseAtom("u(2, 2, \"souscrite\").")); + + return kbb.build().getFacts(); + } + + @Test + public void testParseRule() throws ParseException, KBBuilderException { + assertEquals(2, buildRuleSet().size()); + } + + @Test + public void testParseAtom() throws ParseException, KBBuilderException, AtomSetException { + assertEquals(5, buildAtomSet().size()); + } + + @Test + public void testSaturation() throws KBBuilderException, ChaseException, IteratorException { + + AtomSet atomSet = buildAtomSet(); + LabeledGraphOfRuleDependencies grd = new LabeledGraphOfRuleDependencies(buildRuleSet()); + SccChase chase = new SccChase<>(grd, atomSet, new RuleApplierWithNegation<>()); + chase.execute(); + + Set result = new HashSet<>(); + + try (CloseableIterator iterator = atomSet.iterator()) { + while (iterator.hasNext()) { + result.add(iterator.next().toString()); + } + } + + assertEquals(5 + 2, result.size()); + + assertTrue(result.contains("u\\3(\"2\",\"1\",\"garantie\")")); + assertTrue(result.contains("u\\3(\"1\",\"3\",\"souscrite\")")); + assertTrue(result.contains("u\\3(\"1\",\"1\",\"garantie\")")); + assertTrue(result.contains("u\\3(\"1\",\"2\",\"non\")")); + assertTrue(result.contains("u\\3(\"2\",\"2\",\"souscrite\")")); + + assertTrue(result.contains("garantie_non_souscrite\\1(\"1\")")); + assertTrue(result.contains("garantie_souscrite\\1(\"2\")")); + } +} diff --git a/pom.xml b/pom.xml index 4a4c426bc..f973c008e 100644 --- a/pom.xml +++ b/pom.xml @@ -77,6 +77,7 @@ algorithms, structural analysis of decidability properties of a rule set, a text graal-builtin-predicates graal-sparql-homomorphism graal-keyvalue + graal-stratified-negation From 2353aa8532a33852c11459cd1fa6e5087dca746b Mon Sep 17 00:00:00 2001 From: Cyrille Savelief Date: Thu, 6 Jun 2019 14:26:24 +0200 Subject: [PATCH 2/5] Fix compilation issue. --- .../graal/stratneg/LabeledGraphOfRuleDependencies.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/graal-stratified-negation/src/main/java/fr/lirmm/graphik/graal/stratneg/LabeledGraphOfRuleDependencies.java b/graal-stratified-negation/src/main/java/fr/lirmm/graphik/graal/stratneg/LabeledGraphOfRuleDependencies.java index f992bc5c3..8d0dbd82a 100644 --- a/graal-stratified-negation/src/main/java/fr/lirmm/graphik/graal/stratneg/LabeledGraphOfRuleDependencies.java +++ b/graal-stratified-negation/src/main/java/fr/lirmm/graphik/graal/stratneg/LabeledGraphOfRuleDependencies.java @@ -52,7 +52,7 @@ protected LabeledGraphOfRuleDependencies(Iterable rules) { computeDependencies(); hasCircuit(); - scc_ = stronglyConnectedComponentsGraph(); + scc_ = getStronglyConnectedComponentsGraph(); } static private Iterable readRules(File file) { @@ -137,7 +137,7 @@ public Iterable getRules() { } @Override - public StronglyConnectedComponentsGraph stronglyConnectedComponentsGraph() { + public StronglyConnectedComponentsGraph getStronglyConnectedComponentsGraph() { if (!computeScc_) { scc_ = new StronglyConnectedComponentsGraph<>(graph_); computeScc_ = true; From 098d8cb58f4d4cd54b46b4c1bc0b281741f8dbd6 Mon Sep 17 00:00:00 2001 From: Cyrille Savelief Date: Thu, 6 Jun 2019 14:44:23 +0200 Subject: [PATCH 3/5] Fix compilation issue. --- .../src/main/java/fr/lirmm/graphik/graal/stratneg/App.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/graal-stratified-negation/src/main/java/fr/lirmm/graphik/graal/stratneg/App.java b/graal-stratified-negation/src/main/java/fr/lirmm/graphik/graal/stratneg/App.java index e50c6293c..18e3651d2 100644 --- a/graal-stratified-negation/src/main/java/fr/lirmm/graphik/graal/stratneg/App.java +++ b/graal-stratified-negation/src/main/java/fr/lirmm/graphik/graal/stratneg/App.java @@ -68,7 +68,7 @@ public static void main(String[] args) { } if (options.print_scc) { - System.out.println(Utils.getSccText(grd.stronglyConnectedComponentsGraph())); + System.out.println(Utils.getSccText(grd.getStronglyConnectedComponentsGraph())); } System.out.print("===== ANALYSIS : "); From 26854542a10c71a5f0c7e385803147235d15d386 Mon Sep 17 00:00:00 2001 From: Cyrille Savelief Date: Thu, 6 Jun 2019 14:49:42 +0200 Subject: [PATCH 4/5] Fix error's prone warnings. --- .../stratneg/ConjunctiveQueryWithNegation.java | 10 ++++++---- .../graal/stratneg/HomomorphismWithNegation.java | 13 +++++++------ .../graal/stratneg/RuleApplierWithNegation.java | 3 ++- 3 files changed, 15 insertions(+), 11 deletions(-) diff --git a/graal-stratified-negation/src/main/java/fr/lirmm/graphik/graal/stratneg/ConjunctiveQueryWithNegation.java b/graal-stratified-negation/src/main/java/fr/lirmm/graphik/graal/stratneg/ConjunctiveQueryWithNegation.java index 7f0fa79a7..04f51abc5 100644 --- a/graal-stratified-negation/src/main/java/fr/lirmm/graphik/graal/stratneg/ConjunctiveQueryWithNegation.java +++ b/graal-stratified-negation/src/main/java/fr/lirmm/graphik/graal/stratneg/ConjunctiveQueryWithNegation.java @@ -1,11 +1,13 @@ package fr.lirmm.graphik.graal.stratneg; -import java.util.LinkedList; +import java.util.ArrayList; import java.util.List; + import com.google.common.base.Objects; import com.google.common.base.Preconditions; import com.google.errorprone.annotations.CheckReturnValue; import com.google.errorprone.annotations.Var; + import fr.lirmm.graphik.graal.api.core.Atom; import fr.lirmm.graphik.graal.api.core.InMemoryAtomSet; import fr.lirmm.graphik.graal.api.core.Query; @@ -26,12 +28,12 @@ public class ConjunctiveQueryWithNegation extends DefaultConjunctiveQuery public ConjunctiveQueryWithNegation() { this("", DefaultAtomSetFactory.instance().create(), DefaultAtomSetFactory.instance().create(), - new LinkedList<>()); + new ArrayList<>()); } public ConjunctiveQueryWithNegation(InMemoryAtomSet positiveAtomSet, InMemoryAtomSet negativeAtomSet) { - this("", positiveAtomSet, negativeAtomSet, new LinkedList<>(positiveAtomSet.getVariables())); + this("", positiveAtomSet, negativeAtomSet, new ArrayList<>(positiveAtomSet.getVariables())); } public ConjunctiveQueryWithNegation(InMemoryAtomSet positiveAtomSet, @@ -59,7 +61,7 @@ public ConjunctiveQueryWithNegation(ConjunctiveQueryWithNegation query) { positiveAtomSet_ = DefaultAtomSetFactory.instance().create(query.positiveAtomSet()); negativeAtomSet_ = DefaultAtomSetFactory.instance().create(query.negativeAtomSet()); - responseVariables_ = new LinkedList<>(query.getAnswerVariables()); + responseVariables_ = new ArrayList<>(query.getAnswerVariables()); label_ = query.getLabel(); } diff --git a/graal-stratified-negation/src/main/java/fr/lirmm/graphik/graal/stratneg/HomomorphismWithNegation.java b/graal-stratified-negation/src/main/java/fr/lirmm/graphik/graal/stratneg/HomomorphismWithNegation.java index e8c7387e1..446e1ca52 100644 --- a/graal-stratified-negation/src/main/java/fr/lirmm/graphik/graal/stratneg/HomomorphismWithNegation.java +++ b/graal-stratified-negation/src/main/java/fr/lirmm/graphik/graal/stratneg/HomomorphismWithNegation.java @@ -2,6 +2,7 @@ import java.util.ArrayList; import com.google.common.base.Preconditions; +import com.google.common.base.Throwables; import com.google.errorprone.annotations.CheckReturnValue; import fr.lirmm.graphik.graal.api.core.Atom; import fr.lirmm.graphik.graal.api.core.AtomSet; @@ -69,11 +70,11 @@ public boolean exist(Object q, AtomSet a) { } } } catch (HomomorphismException e) { - e.printStackTrace(); + Throwables.getRootCause(e).printStackTrace(); } catch (IteratorException e) { - e.printStackTrace(); + Throwables.getRootCause(e).printStackTrace(); } catch (AtomSetException e) { - e.printStackTrace(); + Throwables.getRootCause(e).printStackTrace(); } return false; } @@ -105,11 +106,11 @@ public CloseableIterator execute(Object q, AtomSet a) { } } } catch (HomomorphismException e) { - e.printStackTrace(); + Throwables.getRootCause(e).printStackTrace(); } catch (IteratorException e) { - e.printStackTrace(); + Throwables.getRootCause(e).printStackTrace(); } catch (AtomSetException e) { - e.printStackTrace(); + Throwables.getRootCause(e).printStackTrace(); } return new CloseableIteratorAdapter<>(list.iterator()); } diff --git a/graal-stratified-negation/src/main/java/fr/lirmm/graphik/graal/stratneg/RuleApplierWithNegation.java b/graal-stratified-negation/src/main/java/fr/lirmm/graphik/graal/stratneg/RuleApplierWithNegation.java index 8e247066d..37b394b61 100644 --- a/graal-stratified-negation/src/main/java/fr/lirmm/graphik/graal/stratneg/RuleApplierWithNegation.java +++ b/graal-stratified-negation/src/main/java/fr/lirmm/graphik/graal/stratneg/RuleApplierWithNegation.java @@ -1,5 +1,6 @@ package fr.lirmm.graphik.graal.stratneg; +import java.util.ArrayList; import java.util.LinkedList; import com.google.common.base.Preconditions; import com.google.errorprone.annotations.CheckReturnValue; @@ -40,6 +41,6 @@ protected ConjunctiveQuery generateQuery(Rule rule) { "rule is not an instance of RuleWithNegation"); return new ConjunctiveQueryWithNegation(rule.getBody(), - ((RuleWithNegation) rule).negativeBody(), new LinkedList<>(rule.getFrontier())); + ((RuleWithNegation) rule).negativeBody(), new ArrayList<>(rule.getFrontier())); } } From ebc326e8dde5b8f1f91d0dc26b755b3a4e1488f9 Mon Sep 17 00:00:00 2001 From: Cyrille Savelief Date: Fri, 27 Dec 2019 15:18:49 +0100 Subject: [PATCH 5/5] Make it easy to import Graal as an IntelliJ project. --- .idea/.gitignore | 2 + .idea/compiler.xml | 75 +++++++ .idea/encodings.xml | 63 ++++++ .../Maven__aopalliance_aopalliance_1_0.xml | 13 ++ .../Maven__com_beust_jcommander_1_72.xml | 13 ++ ...jackson_core_jackson_annotations_2_3_0.xml | 13 ++ ...terxml_jackson_core_jackson_core_2_3_3.xml | 13 ++ ...ml_jackson_core_jackson_databind_2_3_3.xml | 13 ++ ...m_github_jsonld_java_jsonld_java_0_5_1.xml | 13 ++ ..._com_google_code_findbugs_jsr305_2_0_1.xml | 13 ++ ..._com_google_code_findbugs_jsr305_3_0_2.xml | 13 ++ ...rorprone_error_prone_annotations_2_3_1.xml | 13 ++ ...__com_google_guava_failureaccess_1_0_1.xml | 13 ++ .../Maven__com_google_guava_guava_17_0.xml | 13 ++ .../Maven__com_google_guava_guava_18_0.xml | 13 ++ ...Maven__com_google_guava_guava_27_1_jre.xml | 13 ++ ...9_0_empty_to_avoid_conflict_with_guava.xml | 13 ++ ...xtensions_guice_multibindings_4_0_beta.xml | 13 ++ ...aven__com_google_inject_guice_4_0_beta.xml | 13 ++ ...m_google_j2objc_j2objc_annotations_1_1.xml | 13 ++ ...hmap_concurrentlinkedhashmap_lru_1_4_2.xml | 13 ++ ...aven__commons_codec_commons_codec_1_10.xml | 13 ++ ...Maven__commons_codec_commons_codec_1_6.xml | 13 ++ .../Maven__commons_io_commons_io_2_4.xml | 13 ++ .../Maven__commons_io_commons_io_2_5.xml | 13 ++ .../Maven__commons_io_commons_io_2_6.xml | 13 ++ ...n__commons_logging_commons_logging_1_2.xml | 13 ++ ...n__fr_lirmm_graphik_dlgp2_parser_2_1_1.xml | 13 ++ .../Maven__javax_inject_javax_inject_1.xml | 13 ++ .../Maven__jgraph_jgraph_5_13_0_0.xml | 13 ++ .idea/libraries/Maven__junit_junit_4_11.xml | 13 ++ .idea/libraries/Maven__junit_junit_4_12.xml | 13 ++ ...aven__mysql_mysql_connector_java_5_1_6.xml | 13 ++ .../Maven__net_sf_opencsv_opencsv_2_3.xml | 13 ++ .../Maven__net_sf_trove4j_trove4j_3_0_3.xml | 13 ++ ...ceforge_owlapi_owlapi_apibinding_4_0_1.xml | 13 ++ ...pache_commons_commons_collections4_4_1.xml | 13 ++ ...pache_commons_commons_collections4_4_2.xml | 13 ++ ...en__org_apache_commons_commons_csv_1_0.xml | 13 ++ ...org_apache_commons_commons_lang3_3_3_2.xml | 13 ++ ...__org_apache_commons_commons_lang3_3_4.xml | 13 ++ ...__org_apache_commons_commons_lang3_3_5.xml | 13 ++ ...org_apache_commons_commons_lang3_3_8_1.xml | 13 ++ ...ctory_studio_org_apache_commons_io_2_4.xml | 13 ++ ...apache_httpcomponents_httpclient_4_2_6.xml | 13 ++ ..._httpcomponents_httpclient_cache_4_2_6.xml | 13 ++ ...g_apache_httpcomponents_httpcore_4_2_5.xml | 13 ++ ...Maven__org_apache_jena_jena_arq_2_13_0.xml | 13 ++ ...aven__org_apache_jena_jena_core_2_13_0.xml | 13 ++ .../Maven__org_apache_jena_jena_iri_1_1_2.xml | 13 ++ ...n__org_apache_lucene_lucene_core_3_6_2.xml | 13 ++ ...ven__org_apache_thrift_libthrift_0_9_2.xml | 13 ++ ...rg_checkerframework_checker_qual_2_5_2.xml | 13 ++ ...s_mojo_animal_sniffer_annotations_1_17.xml | 13 ++ ..._eclipse_rdf4j_rdf4j_http_client_1_0_3.xml | 13 ++ ...clipse_rdf4j_rdf4j_http_protocol_1_0_3.xml | 13 ++ ...n__org_eclipse_rdf4j_rdf4j_model_1_0_3.xml | 13 ++ ...n__org_eclipse_rdf4j_rdf4j_query_1_0_3.xml | 13 ++ ...4j_rdf4j_queryalgebra_evaluation_1_0_3.xml | 13 ++ ...e_rdf4j_rdf4j_queryalgebra_model_1_0_3.xml | 13 ++ ...ipse_rdf4j_rdf4j_queryparser_api_1_0_3.xml | 13 ++ ...se_rdf4j_rdf4j_queryparser_serql_1_0_3.xml | 13 ++ ...e_rdf4j_rdf4j_queryparser_sparql_1_0_3.xml | 13 ++ ...se_rdf4j_rdf4j_queryresultio_api_1_0_3.xml | 13 ++ ...4j_rdf4j_queryresultio_sparqlxml_1_0_3.xml | 13 ++ ...lipse_rdf4j_rdf4j_repository_api_1_0_3.xml | 13 ++ ...ipse_rdf4j_rdf4j_repository_sail_1_0_3.xml | 13 ++ ...se_rdf4j_rdf4j_repository_sparql_1_0_3.xml | 13 ++ ..._org_eclipse_rdf4j_rdf4j_rio_api_1_0_3.xml | 13 ++ ...clipse_rdf4j_rdf4j_rio_datatypes_1_0_3.xml | 13 ++ ...clipse_rdf4j_rdf4j_rio_languages_1_0_3.xml | 13 ++ ...eclipse_rdf4j_rdf4j_rio_ntriples_1_0_3.xml | 13 ++ ...g_eclipse_rdf4j_rdf4j_rio_rdfxml_1_0_3.xml | 13 ++ ...org_eclipse_rdf4j_rdf4j_rio_trig_1_0_3.xml | 13 ++ ...g_eclipse_rdf4j_rdf4j_rio_turtle_1_0_3.xml | 13 ++ ...org_eclipse_rdf4j_rdf4j_sail_api_1_0_3.xml | 13 ++ ...rg_eclipse_rdf4j_rdf4j_sail_base_1_0_3.xml | 13 ++ ...ipse_rdf4j_rdf4j_sail_inferencer_1_0_3.xml | 13 ++ ..._eclipse_rdf4j_rdf4j_sail_memory_1_0_3.xml | 13 ++ ...g_eclipse_rdf4j_rdf4j_sail_model_1_0_3.xml | 13 ++ ...en__org_eclipse_rdf4j_rdf4j_util_1_0_3.xml | 13 ++ .../Maven__org_hamcrest_hamcrest_core_1_3.xml | 13 ++ .../Maven__org_hsqldb_hsqldb_2_3_4.xml | 13 ++ ...co_org_jacoco_agent_0_7_7_201606060606.xml | 13 ++ ...coco_org_jacoco_ant_0_7_7_201606060606.xml | 13 ++ ...oco_org_jacoco_core_0_7_7_201606060606.xml | 13 ++ ...o_org_jacoco_report_0_7_7_201606060606.xml | 13 ++ .../Maven__org_jgrapht_jgrapht_core_0_9_0.xml | 13 ++ .../Maven__org_jgrapht_jgrapht_ext_0_9_0.xml | 13 ++ .../Maven__org_mapdb_mapdb_1_0_8.xml | 13 ++ .../Maven__org_neo4j_neo4j_codegen_2_3_11.xml | 13 ++ .../Maven__org_neo4j_neo4j_csv_2_3_11.xml | 13 ++ .../Maven__org_neo4j_neo4j_cypher_2_3_11.xml | 13 ++ ...j_neo4j_cypher_compiler_1_9_2_11_2_0_5.xml | 13 ++ ..._neo4j_cypher_compiler_2_2_2_11_2_2_10.xml | 13 ++ ...neo4j_neo4j_cypher_compiler_2_3_2_3_11.xml | 13 ++ ...neo4j_neo4j_cypher_frontend_2_3_2_3_11.xml | 13 ++ ...Maven__org_neo4j_neo4j_function_2_3_11.xml | 13 ++ ...ven__org_neo4j_neo4j_graph_algo_2_3_11.xml | 13 ++ ..._org_neo4j_neo4j_graph_matching_2_3_11.xml | 13 ++ .../Maven__org_neo4j_neo4j_io_2_3_11.xml | 13 ++ .../Maven__org_neo4j_neo4j_kernel_2_3_11.xml | 13 ++ .../Maven__org_neo4j_neo4j_logging_2_3_11.xml | 13 ++ ...n__org_neo4j_neo4j_lucene_index_2_3_11.xml | 13 ++ ...o4j_neo4j_primitive_collections_2_3_11.xml | 13 ++ .../Maven__org_neo4j_neo4j_unsafe_2_3_11.xml | 13 ++ .../Maven__org_ow2_asm_asm_5_0_2.xml | 13 ++ .../Maven__org_ow2_asm_asm_debug_all_5_1.xml | 13 ++ ...en__org_parboiled_parboiled_core_1_1_7.xml | 13 ++ ...g_parboiled_parboiled_scala_2_11_1_1_7.xml | 13 ++ ...es_scala_parser_combinators_2_11_1_0_4.xml | 13 ++ ...n__org_scala_lang_scala_library_2_11_7.xml | 13 ++ ...n__org_scala_lang_scala_reflect_2_11_7.xml | 13 ++ .../Maven__org_slf4j_jcl_over_slf4j_1_7_6.xml | 13 ++ .../Maven__org_slf4j_slf4j_api_1_7_7.xml | 13 ++ ...n__org_tinyjee_jgraphx_jgraphx_2_0_0_1.xml | 13 ++ .../Maven__org_xerial_sqlite_jdbc_3_7_2.xml | 13 ++ ..._postgresql_postgresql_9_1_901_1_jdbc4.xml | 13 ++ .../Maven__xerces_xercesImpl_2_11_0.xml | 13 ++ .../Maven__xml_apis_xml_apis_1_4_01.xml | 13 ++ .idea/misc.xml | 11 + .idea/modules.xml | 40 ++++ .idea/vcs.xml | 6 + graal-api/graal-api.iml | 23 +++ .../graal-backward-chaining.iml | 32 +++ .../graal-builtin-predicates.iml | 37 ++++ graal-core/graal-core.iml | 25 +++ graal-coverage/graal-coverage.iml | 27 +++ .../graal-forward-chaining.iml | 32 +++ graal-grd/graal-grd.iml | 33 +++ graal-homomorphism/graal-homomorphism.iml | 31 +++ graal-io/graal-io-dlgp/graal-io-dlgp.iml | 29 +++ graal-io/graal-io-owl/graal-io-owl.iml | 48 +++++ graal-io/graal-io-rdf/graal-io-rdf.iml | 44 ++++ graal-io/graal-io-ruleml/graal-io-ruleml.iml | 25 +++ graal-io/graal-io-sparql/graal-io-sparql.iml | 58 ++++++ graal-io/graal-io.iml | 17 ++ graal-kb/graal-kb.iml | 36 ++++ .../graal-keyvalue-core.iml | 38 ++++ graal-keyvalue/graal-keyvalue.iml | 35 ++++ graal-rules-analyser/graal-rules-analyser.iml | 35 ++++ .../graal-sparql-homomorphism.iml | 132 ++++++++++++ .../graal-store-dictionary.iml | 43 ++++ .../graal-store-neo4j/graal-store-neo4j.iml | 75 +++++++ .../graal-store-rdbms/graal-store-rdbms.iml | 17 ++ .../rdbms-adhoc/rdbms-adhoc.iml | 41 ++++ .../rdbms-common/rdbms-common.iml | 40 ++++ .../rdbms-natural/rdbms-natural.iml | 41 ++++ .../rdbms-test/rdbms-test.iml | 43 ++++ .../graal-store-rdf4j/graal-store-rdf4j.iml | 119 +++++++++++ graal-store/graal-store.iml | 17 ++ .../dependency-reduced-pom.xml | 103 +++++++++ .../graal-stratified-negation.iml | 49 +++++ graal-test/graal-test.iml | 195 ++++++++++++++++++ graal-util/graal-util.iml | 23 +++ graal.iml | 17 ++ pom.xml | 3 +- rdf4j-common/rdf4j-common.iml | 31 +++ 158 files changed, 3311 insertions(+), 1 deletion(-) create mode 100644 .idea/.gitignore create mode 100644 .idea/compiler.xml create mode 100644 .idea/encodings.xml create mode 100644 .idea/libraries/Maven__aopalliance_aopalliance_1_0.xml create mode 100644 .idea/libraries/Maven__com_beust_jcommander_1_72.xml create mode 100644 .idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_3_0.xml create mode 100644 .idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_3_3.xml create mode 100644 .idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_3_3.xml create mode 100644 .idea/libraries/Maven__com_github_jsonld_java_jsonld_java_0_5_1.xml create mode 100644 .idea/libraries/Maven__com_google_code_findbugs_jsr305_2_0_1.xml create mode 100644 .idea/libraries/Maven__com_google_code_findbugs_jsr305_3_0_2.xml create mode 100644 .idea/libraries/Maven__com_google_errorprone_error_prone_annotations_2_3_1.xml create mode 100644 .idea/libraries/Maven__com_google_guava_failureaccess_1_0_1.xml create mode 100644 .idea/libraries/Maven__com_google_guava_guava_17_0.xml create mode 100644 .idea/libraries/Maven__com_google_guava_guava_18_0.xml create mode 100644 .idea/libraries/Maven__com_google_guava_guava_27_1_jre.xml create mode 100644 .idea/libraries/Maven__com_google_guava_listenablefuture_9999_0_empty_to_avoid_conflict_with_guava.xml create mode 100644 .idea/libraries/Maven__com_google_inject_extensions_guice_multibindings_4_0_beta.xml create mode 100644 .idea/libraries/Maven__com_google_inject_guice_4_0_beta.xml create mode 100644 .idea/libraries/Maven__com_google_j2objc_j2objc_annotations_1_1.xml create mode 100644 .idea/libraries/Maven__com_googlecode_concurrentlinkedhashmap_concurrentlinkedhashmap_lru_1_4_2.xml create mode 100644 .idea/libraries/Maven__commons_codec_commons_codec_1_10.xml create mode 100644 .idea/libraries/Maven__commons_codec_commons_codec_1_6.xml create mode 100644 .idea/libraries/Maven__commons_io_commons_io_2_4.xml create mode 100644 .idea/libraries/Maven__commons_io_commons_io_2_5.xml create mode 100644 .idea/libraries/Maven__commons_io_commons_io_2_6.xml create mode 100644 .idea/libraries/Maven__commons_logging_commons_logging_1_2.xml create mode 100644 .idea/libraries/Maven__fr_lirmm_graphik_dlgp2_parser_2_1_1.xml create mode 100644 .idea/libraries/Maven__javax_inject_javax_inject_1.xml create mode 100644 .idea/libraries/Maven__jgraph_jgraph_5_13_0_0.xml create mode 100644 .idea/libraries/Maven__junit_junit_4_11.xml create mode 100644 .idea/libraries/Maven__junit_junit_4_12.xml create mode 100644 .idea/libraries/Maven__mysql_mysql_connector_java_5_1_6.xml create mode 100644 .idea/libraries/Maven__net_sf_opencsv_opencsv_2_3.xml create mode 100644 .idea/libraries/Maven__net_sf_trove4j_trove4j_3_0_3.xml create mode 100644 .idea/libraries/Maven__net_sourceforge_owlapi_owlapi_apibinding_4_0_1.xml create mode 100644 .idea/libraries/Maven__org_apache_commons_commons_collections4_4_1.xml create mode 100644 .idea/libraries/Maven__org_apache_commons_commons_collections4_4_2.xml create mode 100644 .idea/libraries/Maven__org_apache_commons_commons_csv_1_0.xml create mode 100644 .idea/libraries/Maven__org_apache_commons_commons_lang3_3_3_2.xml create mode 100644 .idea/libraries/Maven__org_apache_commons_commons_lang3_3_4.xml create mode 100644 .idea/libraries/Maven__org_apache_commons_commons_lang3_3_5.xml create mode 100644 .idea/libraries/Maven__org_apache_commons_commons_lang3_3_8_1.xml create mode 100644 .idea/libraries/Maven__org_apache_directory_studio_org_apache_commons_io_2_4.xml create mode 100644 .idea/libraries/Maven__org_apache_httpcomponents_httpclient_4_2_6.xml create mode 100644 .idea/libraries/Maven__org_apache_httpcomponents_httpclient_cache_4_2_6.xml create mode 100644 .idea/libraries/Maven__org_apache_httpcomponents_httpcore_4_2_5.xml create mode 100644 .idea/libraries/Maven__org_apache_jena_jena_arq_2_13_0.xml create mode 100644 .idea/libraries/Maven__org_apache_jena_jena_core_2_13_0.xml create mode 100644 .idea/libraries/Maven__org_apache_jena_jena_iri_1_1_2.xml create mode 100644 .idea/libraries/Maven__org_apache_lucene_lucene_core_3_6_2.xml create mode 100644 .idea/libraries/Maven__org_apache_thrift_libthrift_0_9_2.xml create mode 100644 .idea/libraries/Maven__org_checkerframework_checker_qual_2_5_2.xml create mode 100644 .idea/libraries/Maven__org_codehaus_mojo_animal_sniffer_annotations_1_17.xml create mode 100644 .idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_http_client_1_0_3.xml create mode 100644 .idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_http_protocol_1_0_3.xml create mode 100644 .idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_model_1_0_3.xml create mode 100644 .idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_query_1_0_3.xml create mode 100644 .idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_queryalgebra_evaluation_1_0_3.xml create mode 100644 .idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_queryalgebra_model_1_0_3.xml create mode 100644 .idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_queryparser_api_1_0_3.xml create mode 100644 .idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_queryparser_serql_1_0_3.xml create mode 100644 .idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_queryparser_sparql_1_0_3.xml create mode 100644 .idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_queryresultio_api_1_0_3.xml create mode 100644 .idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_queryresultio_sparqlxml_1_0_3.xml create mode 100644 .idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_repository_api_1_0_3.xml create mode 100644 .idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_repository_sail_1_0_3.xml create mode 100644 .idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_repository_sparql_1_0_3.xml create mode 100644 .idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_rio_api_1_0_3.xml create mode 100644 .idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_rio_datatypes_1_0_3.xml create mode 100644 .idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_rio_languages_1_0_3.xml create mode 100644 .idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_rio_ntriples_1_0_3.xml create mode 100644 .idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_rio_rdfxml_1_0_3.xml create mode 100644 .idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_rio_trig_1_0_3.xml create mode 100644 .idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_rio_turtle_1_0_3.xml create mode 100644 .idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_sail_api_1_0_3.xml create mode 100644 .idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_sail_base_1_0_3.xml create mode 100644 .idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_sail_inferencer_1_0_3.xml create mode 100644 .idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_sail_memory_1_0_3.xml create mode 100644 .idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_sail_model_1_0_3.xml create mode 100644 .idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_util_1_0_3.xml create mode 100644 .idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml create mode 100644 .idea/libraries/Maven__org_hsqldb_hsqldb_2_3_4.xml create mode 100644 .idea/libraries/Maven__org_jacoco_org_jacoco_agent_0_7_7_201606060606.xml create mode 100644 .idea/libraries/Maven__org_jacoco_org_jacoco_ant_0_7_7_201606060606.xml create mode 100644 .idea/libraries/Maven__org_jacoco_org_jacoco_core_0_7_7_201606060606.xml create mode 100644 .idea/libraries/Maven__org_jacoco_org_jacoco_report_0_7_7_201606060606.xml create mode 100644 .idea/libraries/Maven__org_jgrapht_jgrapht_core_0_9_0.xml create mode 100644 .idea/libraries/Maven__org_jgrapht_jgrapht_ext_0_9_0.xml create mode 100644 .idea/libraries/Maven__org_mapdb_mapdb_1_0_8.xml create mode 100644 .idea/libraries/Maven__org_neo4j_neo4j_codegen_2_3_11.xml create mode 100644 .idea/libraries/Maven__org_neo4j_neo4j_csv_2_3_11.xml create mode 100644 .idea/libraries/Maven__org_neo4j_neo4j_cypher_2_3_11.xml create mode 100644 .idea/libraries/Maven__org_neo4j_neo4j_cypher_compiler_1_9_2_11_2_0_5.xml create mode 100644 .idea/libraries/Maven__org_neo4j_neo4j_cypher_compiler_2_2_2_11_2_2_10.xml create mode 100644 .idea/libraries/Maven__org_neo4j_neo4j_cypher_compiler_2_3_2_3_11.xml create mode 100644 .idea/libraries/Maven__org_neo4j_neo4j_cypher_frontend_2_3_2_3_11.xml create mode 100644 .idea/libraries/Maven__org_neo4j_neo4j_function_2_3_11.xml create mode 100644 .idea/libraries/Maven__org_neo4j_neo4j_graph_algo_2_3_11.xml create mode 100644 .idea/libraries/Maven__org_neo4j_neo4j_graph_matching_2_3_11.xml create mode 100644 .idea/libraries/Maven__org_neo4j_neo4j_io_2_3_11.xml create mode 100644 .idea/libraries/Maven__org_neo4j_neo4j_kernel_2_3_11.xml create mode 100644 .idea/libraries/Maven__org_neo4j_neo4j_logging_2_3_11.xml create mode 100644 .idea/libraries/Maven__org_neo4j_neo4j_lucene_index_2_3_11.xml create mode 100644 .idea/libraries/Maven__org_neo4j_neo4j_primitive_collections_2_3_11.xml create mode 100644 .idea/libraries/Maven__org_neo4j_neo4j_unsafe_2_3_11.xml create mode 100644 .idea/libraries/Maven__org_ow2_asm_asm_5_0_2.xml create mode 100644 .idea/libraries/Maven__org_ow2_asm_asm_debug_all_5_1.xml create mode 100644 .idea/libraries/Maven__org_parboiled_parboiled_core_1_1_7.xml create mode 100644 .idea/libraries/Maven__org_parboiled_parboiled_scala_2_11_1_1_7.xml create mode 100644 .idea/libraries/Maven__org_scala_lang_modules_scala_parser_combinators_2_11_1_0_4.xml create mode 100644 .idea/libraries/Maven__org_scala_lang_scala_library_2_11_7.xml create mode 100644 .idea/libraries/Maven__org_scala_lang_scala_reflect_2_11_7.xml create mode 100644 .idea/libraries/Maven__org_slf4j_jcl_over_slf4j_1_7_6.xml create mode 100644 .idea/libraries/Maven__org_slf4j_slf4j_api_1_7_7.xml create mode 100644 .idea/libraries/Maven__org_tinyjee_jgraphx_jgraphx_2_0_0_1.xml create mode 100644 .idea/libraries/Maven__org_xerial_sqlite_jdbc_3_7_2.xml create mode 100644 .idea/libraries/Maven__postgresql_postgresql_9_1_901_1_jdbc4.xml create mode 100644 .idea/libraries/Maven__xerces_xercesImpl_2_11_0.xml create mode 100644 .idea/libraries/Maven__xml_apis_xml_apis_1_4_01.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/vcs.xml create mode 100644 graal-api/graal-api.iml create mode 100644 graal-backward-chaining/graal-backward-chaining.iml create mode 100644 graal-builtin-predicates/graal-builtin-predicates.iml create mode 100644 graal-core/graal-core.iml create mode 100644 graal-coverage/graal-coverage.iml create mode 100644 graal-forward-chaining/graal-forward-chaining.iml create mode 100644 graal-grd/graal-grd.iml create mode 100644 graal-homomorphism/graal-homomorphism.iml create mode 100644 graal-io/graal-io-dlgp/graal-io-dlgp.iml create mode 100644 graal-io/graal-io-owl/graal-io-owl.iml create mode 100644 graal-io/graal-io-rdf/graal-io-rdf.iml create mode 100644 graal-io/graal-io-ruleml/graal-io-ruleml.iml create mode 100644 graal-io/graal-io-sparql/graal-io-sparql.iml create mode 100644 graal-io/graal-io.iml create mode 100644 graal-kb/graal-kb.iml create mode 100644 graal-keyvalue/graal-key-value-core/graal-keyvalue-core.iml create mode 100644 graal-keyvalue/graal-keyvalue.iml create mode 100644 graal-rules-analyser/graal-rules-analyser.iml create mode 100644 graal-sparql-homomorphism/graal-sparql-homomorphism.iml create mode 100644 graal-store/graal-store-dictionary/graal-store-dictionary.iml create mode 100644 graal-store/graal-store-neo4j/graal-store-neo4j.iml create mode 100644 graal-store/graal-store-rdbms/graal-store-rdbms.iml create mode 100644 graal-store/graal-store-rdbms/rdbms-adhoc/rdbms-adhoc.iml create mode 100644 graal-store/graal-store-rdbms/rdbms-common/rdbms-common.iml create mode 100644 graal-store/graal-store-rdbms/rdbms-natural/rdbms-natural.iml create mode 100644 graal-store/graal-store-rdbms/rdbms-test/rdbms-test.iml create mode 100644 graal-store/graal-store-rdf4j/graal-store-rdf4j.iml create mode 100644 graal-store/graal-store.iml create mode 100644 graal-stratified-negation/dependency-reduced-pom.xml create mode 100644 graal-stratified-negation/graal-stratified-negation.iml create mode 100644 graal-test/graal-test.iml create mode 100644 graal-util/graal-util.iml create mode 100644 graal.iml create mode 100644 rdf4j-common/rdf4j-common.iml diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 000000000..5c98b4288 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,2 @@ +# Default ignored files +/workspace.xml \ No newline at end of file diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 000000000..21a58d60f --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,75 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/encodings.xml b/.idea/encodings.xml new file mode 100644 index 000000000..2abc69f95 --- /dev/null +++ b/.idea/encodings.xml @@ -0,0 +1,63 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__aopalliance_aopalliance_1_0.xml b/.idea/libraries/Maven__aopalliance_aopalliance_1_0.xml new file mode 100644 index 000000000..30ff5cb79 --- /dev/null +++ b/.idea/libraries/Maven__aopalliance_aopalliance_1_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_beust_jcommander_1_72.xml b/.idea/libraries/Maven__com_beust_jcommander_1_72.xml new file mode 100644 index 000000000..ad12dd9bb --- /dev/null +++ b/.idea/libraries/Maven__com_beust_jcommander_1_72.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_3_0.xml b/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_3_0.xml new file mode 100644 index 000000000..e90bc9cb8 --- /dev/null +++ b/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_3_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_3_3.xml b/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_3_3.xml new file mode 100644 index 000000000..87b1692ea --- /dev/null +++ b/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_3_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_3_3.xml b/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_3_3.xml new file mode 100644 index 000000000..4d18cebd1 --- /dev/null +++ b/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_3_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_github_jsonld_java_jsonld_java_0_5_1.xml b/.idea/libraries/Maven__com_github_jsonld_java_jsonld_java_0_5_1.xml new file mode 100644 index 000000000..4592b56fc --- /dev/null +++ b/.idea/libraries/Maven__com_github_jsonld_java_jsonld_java_0_5_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_google_code_findbugs_jsr305_2_0_1.xml b/.idea/libraries/Maven__com_google_code_findbugs_jsr305_2_0_1.xml new file mode 100644 index 000000000..dd1dc9f04 --- /dev/null +++ b/.idea/libraries/Maven__com_google_code_findbugs_jsr305_2_0_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_google_code_findbugs_jsr305_3_0_2.xml b/.idea/libraries/Maven__com_google_code_findbugs_jsr305_3_0_2.xml new file mode 100644 index 000000000..1c380d0bd --- /dev/null +++ b/.idea/libraries/Maven__com_google_code_findbugs_jsr305_3_0_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_google_errorprone_error_prone_annotations_2_3_1.xml b/.idea/libraries/Maven__com_google_errorprone_error_prone_annotations_2_3_1.xml new file mode 100644 index 000000000..c6a7ecf7d --- /dev/null +++ b/.idea/libraries/Maven__com_google_errorprone_error_prone_annotations_2_3_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_google_guava_failureaccess_1_0_1.xml b/.idea/libraries/Maven__com_google_guava_failureaccess_1_0_1.xml new file mode 100644 index 000000000..36e948e2e --- /dev/null +++ b/.idea/libraries/Maven__com_google_guava_failureaccess_1_0_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_google_guava_guava_17_0.xml b/.idea/libraries/Maven__com_google_guava_guava_17_0.xml new file mode 100644 index 000000000..2a9069ca3 --- /dev/null +++ b/.idea/libraries/Maven__com_google_guava_guava_17_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_google_guava_guava_18_0.xml b/.idea/libraries/Maven__com_google_guava_guava_18_0.xml new file mode 100644 index 000000000..bbd71d77e --- /dev/null +++ b/.idea/libraries/Maven__com_google_guava_guava_18_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_google_guava_guava_27_1_jre.xml b/.idea/libraries/Maven__com_google_guava_guava_27_1_jre.xml new file mode 100644 index 000000000..5ca9f5b23 --- /dev/null +++ b/.idea/libraries/Maven__com_google_guava_guava_27_1_jre.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_google_guava_listenablefuture_9999_0_empty_to_avoid_conflict_with_guava.xml b/.idea/libraries/Maven__com_google_guava_listenablefuture_9999_0_empty_to_avoid_conflict_with_guava.xml new file mode 100644 index 000000000..4e15702e5 --- /dev/null +++ b/.idea/libraries/Maven__com_google_guava_listenablefuture_9999_0_empty_to_avoid_conflict_with_guava.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_google_inject_extensions_guice_multibindings_4_0_beta.xml b/.idea/libraries/Maven__com_google_inject_extensions_guice_multibindings_4_0_beta.xml new file mode 100644 index 000000000..04e0f68be --- /dev/null +++ b/.idea/libraries/Maven__com_google_inject_extensions_guice_multibindings_4_0_beta.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_google_inject_guice_4_0_beta.xml b/.idea/libraries/Maven__com_google_inject_guice_4_0_beta.xml new file mode 100644 index 000000000..a506e6ae2 --- /dev/null +++ b/.idea/libraries/Maven__com_google_inject_guice_4_0_beta.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_google_j2objc_j2objc_annotations_1_1.xml b/.idea/libraries/Maven__com_google_j2objc_j2objc_annotations_1_1.xml new file mode 100644 index 000000000..c06f9997b --- /dev/null +++ b/.idea/libraries/Maven__com_google_j2objc_j2objc_annotations_1_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_googlecode_concurrentlinkedhashmap_concurrentlinkedhashmap_lru_1_4_2.xml b/.idea/libraries/Maven__com_googlecode_concurrentlinkedhashmap_concurrentlinkedhashmap_lru_1_4_2.xml new file mode 100644 index 000000000..e497bcba5 --- /dev/null +++ b/.idea/libraries/Maven__com_googlecode_concurrentlinkedhashmap_concurrentlinkedhashmap_lru_1_4_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__commons_codec_commons_codec_1_10.xml b/.idea/libraries/Maven__commons_codec_commons_codec_1_10.xml new file mode 100644 index 000000000..27424a179 --- /dev/null +++ b/.idea/libraries/Maven__commons_codec_commons_codec_1_10.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__commons_codec_commons_codec_1_6.xml b/.idea/libraries/Maven__commons_codec_commons_codec_1_6.xml new file mode 100644 index 000000000..e8a6a9f91 --- /dev/null +++ b/.idea/libraries/Maven__commons_codec_commons_codec_1_6.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__commons_io_commons_io_2_4.xml b/.idea/libraries/Maven__commons_io_commons_io_2_4.xml new file mode 100644 index 000000000..bc2aad0ed --- /dev/null +++ b/.idea/libraries/Maven__commons_io_commons_io_2_4.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__commons_io_commons_io_2_5.xml b/.idea/libraries/Maven__commons_io_commons_io_2_5.xml new file mode 100644 index 000000000..67c2ad2cb --- /dev/null +++ b/.idea/libraries/Maven__commons_io_commons_io_2_5.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__commons_io_commons_io_2_6.xml b/.idea/libraries/Maven__commons_io_commons_io_2_6.xml new file mode 100644 index 000000000..d722698a8 --- /dev/null +++ b/.idea/libraries/Maven__commons_io_commons_io_2_6.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__commons_logging_commons_logging_1_2.xml b/.idea/libraries/Maven__commons_logging_commons_logging_1_2.xml new file mode 100644 index 000000000..eab40b329 --- /dev/null +++ b/.idea/libraries/Maven__commons_logging_commons_logging_1_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__fr_lirmm_graphik_dlgp2_parser_2_1_1.xml b/.idea/libraries/Maven__fr_lirmm_graphik_dlgp2_parser_2_1_1.xml new file mode 100644 index 000000000..df9dc99fb --- /dev/null +++ b/.idea/libraries/Maven__fr_lirmm_graphik_dlgp2_parser_2_1_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__javax_inject_javax_inject_1.xml b/.idea/libraries/Maven__javax_inject_javax_inject_1.xml new file mode 100644 index 000000000..93cf65aba --- /dev/null +++ b/.idea/libraries/Maven__javax_inject_javax_inject_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__jgraph_jgraph_5_13_0_0.xml b/.idea/libraries/Maven__jgraph_jgraph_5_13_0_0.xml new file mode 100644 index 000000000..29d66fd27 --- /dev/null +++ b/.idea/libraries/Maven__jgraph_jgraph_5_13_0_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__junit_junit_4_11.xml b/.idea/libraries/Maven__junit_junit_4_11.xml new file mode 100644 index 000000000..f33320d8e --- /dev/null +++ b/.idea/libraries/Maven__junit_junit_4_11.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__junit_junit_4_12.xml b/.idea/libraries/Maven__junit_junit_4_12.xml new file mode 100644 index 000000000..d41104174 --- /dev/null +++ b/.idea/libraries/Maven__junit_junit_4_12.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__mysql_mysql_connector_java_5_1_6.xml b/.idea/libraries/Maven__mysql_mysql_connector_java_5_1_6.xml new file mode 100644 index 000000000..2b062b53f --- /dev/null +++ b/.idea/libraries/Maven__mysql_mysql_connector_java_5_1_6.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__net_sf_opencsv_opencsv_2_3.xml b/.idea/libraries/Maven__net_sf_opencsv_opencsv_2_3.xml new file mode 100644 index 000000000..6abe098cc --- /dev/null +++ b/.idea/libraries/Maven__net_sf_opencsv_opencsv_2_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__net_sf_trove4j_trove4j_3_0_3.xml b/.idea/libraries/Maven__net_sf_trove4j_trove4j_3_0_3.xml new file mode 100644 index 000000000..72d4d7e6b --- /dev/null +++ b/.idea/libraries/Maven__net_sf_trove4j_trove4j_3_0_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__net_sourceforge_owlapi_owlapi_apibinding_4_0_1.xml b/.idea/libraries/Maven__net_sourceforge_owlapi_owlapi_apibinding_4_0_1.xml new file mode 100644 index 000000000..faff22222 --- /dev/null +++ b/.idea/libraries/Maven__net_sourceforge_owlapi_owlapi_apibinding_4_0_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_commons_commons_collections4_4_1.xml b/.idea/libraries/Maven__org_apache_commons_commons_collections4_4_1.xml new file mode 100644 index 000000000..1e0b53d1f --- /dev/null +++ b/.idea/libraries/Maven__org_apache_commons_commons_collections4_4_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_commons_commons_collections4_4_2.xml b/.idea/libraries/Maven__org_apache_commons_commons_collections4_4_2.xml new file mode 100644 index 000000000..1779477f1 --- /dev/null +++ b/.idea/libraries/Maven__org_apache_commons_commons_collections4_4_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_commons_commons_csv_1_0.xml b/.idea/libraries/Maven__org_apache_commons_commons_csv_1_0.xml new file mode 100644 index 000000000..bce492c87 --- /dev/null +++ b/.idea/libraries/Maven__org_apache_commons_commons_csv_1_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_commons_commons_lang3_3_3_2.xml b/.idea/libraries/Maven__org_apache_commons_commons_lang3_3_3_2.xml new file mode 100644 index 000000000..83cba3e35 --- /dev/null +++ b/.idea/libraries/Maven__org_apache_commons_commons_lang3_3_3_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_commons_commons_lang3_3_4.xml b/.idea/libraries/Maven__org_apache_commons_commons_lang3_3_4.xml new file mode 100644 index 000000000..78cfcd37a --- /dev/null +++ b/.idea/libraries/Maven__org_apache_commons_commons_lang3_3_4.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_commons_commons_lang3_3_5.xml b/.idea/libraries/Maven__org_apache_commons_commons_lang3_3_5.xml new file mode 100644 index 000000000..666266cc3 --- /dev/null +++ b/.idea/libraries/Maven__org_apache_commons_commons_lang3_3_5.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_commons_commons_lang3_3_8_1.xml b/.idea/libraries/Maven__org_apache_commons_commons_lang3_3_8_1.xml new file mode 100644 index 000000000..33b78e93d --- /dev/null +++ b/.idea/libraries/Maven__org_apache_commons_commons_lang3_3_8_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_directory_studio_org_apache_commons_io_2_4.xml b/.idea/libraries/Maven__org_apache_directory_studio_org_apache_commons_io_2_4.xml new file mode 100644 index 000000000..dcc6f0e01 --- /dev/null +++ b/.idea/libraries/Maven__org_apache_directory_studio_org_apache_commons_io_2_4.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_httpcomponents_httpclient_4_2_6.xml b/.idea/libraries/Maven__org_apache_httpcomponents_httpclient_4_2_6.xml new file mode 100644 index 000000000..d86996482 --- /dev/null +++ b/.idea/libraries/Maven__org_apache_httpcomponents_httpclient_4_2_6.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_httpcomponents_httpclient_cache_4_2_6.xml b/.idea/libraries/Maven__org_apache_httpcomponents_httpclient_cache_4_2_6.xml new file mode 100644 index 000000000..9b8a172fd --- /dev/null +++ b/.idea/libraries/Maven__org_apache_httpcomponents_httpclient_cache_4_2_6.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_httpcomponents_httpcore_4_2_5.xml b/.idea/libraries/Maven__org_apache_httpcomponents_httpcore_4_2_5.xml new file mode 100644 index 000000000..fb9422890 --- /dev/null +++ b/.idea/libraries/Maven__org_apache_httpcomponents_httpcore_4_2_5.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_jena_jena_arq_2_13_0.xml b/.idea/libraries/Maven__org_apache_jena_jena_arq_2_13_0.xml new file mode 100644 index 000000000..21ed202c5 --- /dev/null +++ b/.idea/libraries/Maven__org_apache_jena_jena_arq_2_13_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_jena_jena_core_2_13_0.xml b/.idea/libraries/Maven__org_apache_jena_jena_core_2_13_0.xml new file mode 100644 index 000000000..13dc09f1e --- /dev/null +++ b/.idea/libraries/Maven__org_apache_jena_jena_core_2_13_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_jena_jena_iri_1_1_2.xml b/.idea/libraries/Maven__org_apache_jena_jena_iri_1_1_2.xml new file mode 100644 index 000000000..7865c7ef4 --- /dev/null +++ b/.idea/libraries/Maven__org_apache_jena_jena_iri_1_1_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_lucene_lucene_core_3_6_2.xml b/.idea/libraries/Maven__org_apache_lucene_lucene_core_3_6_2.xml new file mode 100644 index 000000000..48da04ce3 --- /dev/null +++ b/.idea/libraries/Maven__org_apache_lucene_lucene_core_3_6_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_thrift_libthrift_0_9_2.xml b/.idea/libraries/Maven__org_apache_thrift_libthrift_0_9_2.xml new file mode 100644 index 000000000..ac1ee5b9a --- /dev/null +++ b/.idea/libraries/Maven__org_apache_thrift_libthrift_0_9_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_checkerframework_checker_qual_2_5_2.xml b/.idea/libraries/Maven__org_checkerframework_checker_qual_2_5_2.xml new file mode 100644 index 000000000..ad0d4fd27 --- /dev/null +++ b/.idea/libraries/Maven__org_checkerframework_checker_qual_2_5_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_codehaus_mojo_animal_sniffer_annotations_1_17.xml b/.idea/libraries/Maven__org_codehaus_mojo_animal_sniffer_annotations_1_17.xml new file mode 100644 index 000000000..5c3a057c1 --- /dev/null +++ b/.idea/libraries/Maven__org_codehaus_mojo_animal_sniffer_annotations_1_17.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_http_client_1_0_3.xml b/.idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_http_client_1_0_3.xml new file mode 100644 index 000000000..db3a2b71c --- /dev/null +++ b/.idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_http_client_1_0_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_http_protocol_1_0_3.xml b/.idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_http_protocol_1_0_3.xml new file mode 100644 index 000000000..6dd1fee4b --- /dev/null +++ b/.idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_http_protocol_1_0_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_model_1_0_3.xml b/.idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_model_1_0_3.xml new file mode 100644 index 000000000..7e883ada0 --- /dev/null +++ b/.idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_model_1_0_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_query_1_0_3.xml b/.idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_query_1_0_3.xml new file mode 100644 index 000000000..b8bd97f5a --- /dev/null +++ b/.idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_query_1_0_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_queryalgebra_evaluation_1_0_3.xml b/.idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_queryalgebra_evaluation_1_0_3.xml new file mode 100644 index 000000000..c1acdc8a4 --- /dev/null +++ b/.idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_queryalgebra_evaluation_1_0_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_queryalgebra_model_1_0_3.xml b/.idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_queryalgebra_model_1_0_3.xml new file mode 100644 index 000000000..74ab9cb3f --- /dev/null +++ b/.idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_queryalgebra_model_1_0_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_queryparser_api_1_0_3.xml b/.idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_queryparser_api_1_0_3.xml new file mode 100644 index 000000000..e17c8b5d6 --- /dev/null +++ b/.idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_queryparser_api_1_0_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_queryparser_serql_1_0_3.xml b/.idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_queryparser_serql_1_0_3.xml new file mode 100644 index 000000000..080434100 --- /dev/null +++ b/.idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_queryparser_serql_1_0_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_queryparser_sparql_1_0_3.xml b/.idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_queryparser_sparql_1_0_3.xml new file mode 100644 index 000000000..407c5335d --- /dev/null +++ b/.idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_queryparser_sparql_1_0_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_queryresultio_api_1_0_3.xml b/.idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_queryresultio_api_1_0_3.xml new file mode 100644 index 000000000..448dea964 --- /dev/null +++ b/.idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_queryresultio_api_1_0_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_queryresultio_sparqlxml_1_0_3.xml b/.idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_queryresultio_sparqlxml_1_0_3.xml new file mode 100644 index 000000000..ed57103a8 --- /dev/null +++ b/.idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_queryresultio_sparqlxml_1_0_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_repository_api_1_0_3.xml b/.idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_repository_api_1_0_3.xml new file mode 100644 index 000000000..3ae0323cc --- /dev/null +++ b/.idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_repository_api_1_0_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_repository_sail_1_0_3.xml b/.idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_repository_sail_1_0_3.xml new file mode 100644 index 000000000..57ca68ac6 --- /dev/null +++ b/.idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_repository_sail_1_0_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_repository_sparql_1_0_3.xml b/.idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_repository_sparql_1_0_3.xml new file mode 100644 index 000000000..5e26c632e --- /dev/null +++ b/.idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_repository_sparql_1_0_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_rio_api_1_0_3.xml b/.idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_rio_api_1_0_3.xml new file mode 100644 index 000000000..a658607fc --- /dev/null +++ b/.idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_rio_api_1_0_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_rio_datatypes_1_0_3.xml b/.idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_rio_datatypes_1_0_3.xml new file mode 100644 index 000000000..6d29039bb --- /dev/null +++ b/.idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_rio_datatypes_1_0_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_rio_languages_1_0_3.xml b/.idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_rio_languages_1_0_3.xml new file mode 100644 index 000000000..48c666217 --- /dev/null +++ b/.idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_rio_languages_1_0_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_rio_ntriples_1_0_3.xml b/.idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_rio_ntriples_1_0_3.xml new file mode 100644 index 000000000..360537e64 --- /dev/null +++ b/.idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_rio_ntriples_1_0_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_rio_rdfxml_1_0_3.xml b/.idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_rio_rdfxml_1_0_3.xml new file mode 100644 index 000000000..c09212b70 --- /dev/null +++ b/.idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_rio_rdfxml_1_0_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_rio_trig_1_0_3.xml b/.idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_rio_trig_1_0_3.xml new file mode 100644 index 000000000..73c70b859 --- /dev/null +++ b/.idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_rio_trig_1_0_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_rio_turtle_1_0_3.xml b/.idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_rio_turtle_1_0_3.xml new file mode 100644 index 000000000..aa55f9a25 --- /dev/null +++ b/.idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_rio_turtle_1_0_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_sail_api_1_0_3.xml b/.idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_sail_api_1_0_3.xml new file mode 100644 index 000000000..7674dc432 --- /dev/null +++ b/.idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_sail_api_1_0_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_sail_base_1_0_3.xml b/.idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_sail_base_1_0_3.xml new file mode 100644 index 000000000..e41ff479b --- /dev/null +++ b/.idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_sail_base_1_0_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_sail_inferencer_1_0_3.xml b/.idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_sail_inferencer_1_0_3.xml new file mode 100644 index 000000000..811b5536c --- /dev/null +++ b/.idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_sail_inferencer_1_0_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_sail_memory_1_0_3.xml b/.idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_sail_memory_1_0_3.xml new file mode 100644 index 000000000..daec56749 --- /dev/null +++ b/.idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_sail_memory_1_0_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_sail_model_1_0_3.xml b/.idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_sail_model_1_0_3.xml new file mode 100644 index 000000000..c7e1e73d6 --- /dev/null +++ b/.idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_sail_model_1_0_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_util_1_0_3.xml b/.idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_util_1_0_3.xml new file mode 100644 index 000000000..6c70bc7ce --- /dev/null +++ b/.idea/libraries/Maven__org_eclipse_rdf4j_rdf4j_util_1_0_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml b/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml new file mode 100644 index 000000000..f58bbc112 --- /dev/null +++ b/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_hsqldb_hsqldb_2_3_4.xml b/.idea/libraries/Maven__org_hsqldb_hsqldb_2_3_4.xml new file mode 100644 index 000000000..1ef92a089 --- /dev/null +++ b/.idea/libraries/Maven__org_hsqldb_hsqldb_2_3_4.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_jacoco_org_jacoco_agent_0_7_7_201606060606.xml b/.idea/libraries/Maven__org_jacoco_org_jacoco_agent_0_7_7_201606060606.xml new file mode 100644 index 000000000..0a1a43a07 --- /dev/null +++ b/.idea/libraries/Maven__org_jacoco_org_jacoco_agent_0_7_7_201606060606.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_jacoco_org_jacoco_ant_0_7_7_201606060606.xml b/.idea/libraries/Maven__org_jacoco_org_jacoco_ant_0_7_7_201606060606.xml new file mode 100644 index 000000000..f4dd531c1 --- /dev/null +++ b/.idea/libraries/Maven__org_jacoco_org_jacoco_ant_0_7_7_201606060606.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_jacoco_org_jacoco_core_0_7_7_201606060606.xml b/.idea/libraries/Maven__org_jacoco_org_jacoco_core_0_7_7_201606060606.xml new file mode 100644 index 000000000..cccb7480d --- /dev/null +++ b/.idea/libraries/Maven__org_jacoco_org_jacoco_core_0_7_7_201606060606.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_jacoco_org_jacoco_report_0_7_7_201606060606.xml b/.idea/libraries/Maven__org_jacoco_org_jacoco_report_0_7_7_201606060606.xml new file mode 100644 index 000000000..564df19b4 --- /dev/null +++ b/.idea/libraries/Maven__org_jacoco_org_jacoco_report_0_7_7_201606060606.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_jgrapht_jgrapht_core_0_9_0.xml b/.idea/libraries/Maven__org_jgrapht_jgrapht_core_0_9_0.xml new file mode 100644 index 000000000..3713f9781 --- /dev/null +++ b/.idea/libraries/Maven__org_jgrapht_jgrapht_core_0_9_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_jgrapht_jgrapht_ext_0_9_0.xml b/.idea/libraries/Maven__org_jgrapht_jgrapht_ext_0_9_0.xml new file mode 100644 index 000000000..e97c76290 --- /dev/null +++ b/.idea/libraries/Maven__org_jgrapht_jgrapht_ext_0_9_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_mapdb_mapdb_1_0_8.xml b/.idea/libraries/Maven__org_mapdb_mapdb_1_0_8.xml new file mode 100644 index 000000000..89a4b7bdd --- /dev/null +++ b/.idea/libraries/Maven__org_mapdb_mapdb_1_0_8.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_neo4j_neo4j_codegen_2_3_11.xml b/.idea/libraries/Maven__org_neo4j_neo4j_codegen_2_3_11.xml new file mode 100644 index 000000000..67d8c18f2 --- /dev/null +++ b/.idea/libraries/Maven__org_neo4j_neo4j_codegen_2_3_11.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_neo4j_neo4j_csv_2_3_11.xml b/.idea/libraries/Maven__org_neo4j_neo4j_csv_2_3_11.xml new file mode 100644 index 000000000..9edba5a60 --- /dev/null +++ b/.idea/libraries/Maven__org_neo4j_neo4j_csv_2_3_11.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_neo4j_neo4j_cypher_2_3_11.xml b/.idea/libraries/Maven__org_neo4j_neo4j_cypher_2_3_11.xml new file mode 100644 index 000000000..b10320e51 --- /dev/null +++ b/.idea/libraries/Maven__org_neo4j_neo4j_cypher_2_3_11.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_neo4j_neo4j_cypher_compiler_1_9_2_11_2_0_5.xml b/.idea/libraries/Maven__org_neo4j_neo4j_cypher_compiler_1_9_2_11_2_0_5.xml new file mode 100644 index 000000000..3690e6cd3 --- /dev/null +++ b/.idea/libraries/Maven__org_neo4j_neo4j_cypher_compiler_1_9_2_11_2_0_5.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_neo4j_neo4j_cypher_compiler_2_2_2_11_2_2_10.xml b/.idea/libraries/Maven__org_neo4j_neo4j_cypher_compiler_2_2_2_11_2_2_10.xml new file mode 100644 index 000000000..2e21481c6 --- /dev/null +++ b/.idea/libraries/Maven__org_neo4j_neo4j_cypher_compiler_2_2_2_11_2_2_10.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_neo4j_neo4j_cypher_compiler_2_3_2_3_11.xml b/.idea/libraries/Maven__org_neo4j_neo4j_cypher_compiler_2_3_2_3_11.xml new file mode 100644 index 000000000..7a2f2b75e --- /dev/null +++ b/.idea/libraries/Maven__org_neo4j_neo4j_cypher_compiler_2_3_2_3_11.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_neo4j_neo4j_cypher_frontend_2_3_2_3_11.xml b/.idea/libraries/Maven__org_neo4j_neo4j_cypher_frontend_2_3_2_3_11.xml new file mode 100644 index 000000000..7e02f3b56 --- /dev/null +++ b/.idea/libraries/Maven__org_neo4j_neo4j_cypher_frontend_2_3_2_3_11.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_neo4j_neo4j_function_2_3_11.xml b/.idea/libraries/Maven__org_neo4j_neo4j_function_2_3_11.xml new file mode 100644 index 000000000..6f684f069 --- /dev/null +++ b/.idea/libraries/Maven__org_neo4j_neo4j_function_2_3_11.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_neo4j_neo4j_graph_algo_2_3_11.xml b/.idea/libraries/Maven__org_neo4j_neo4j_graph_algo_2_3_11.xml new file mode 100644 index 000000000..c7cea4fa2 --- /dev/null +++ b/.idea/libraries/Maven__org_neo4j_neo4j_graph_algo_2_3_11.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_neo4j_neo4j_graph_matching_2_3_11.xml b/.idea/libraries/Maven__org_neo4j_neo4j_graph_matching_2_3_11.xml new file mode 100644 index 000000000..38f0480d9 --- /dev/null +++ b/.idea/libraries/Maven__org_neo4j_neo4j_graph_matching_2_3_11.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_neo4j_neo4j_io_2_3_11.xml b/.idea/libraries/Maven__org_neo4j_neo4j_io_2_3_11.xml new file mode 100644 index 000000000..1ca76c89d --- /dev/null +++ b/.idea/libraries/Maven__org_neo4j_neo4j_io_2_3_11.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_neo4j_neo4j_kernel_2_3_11.xml b/.idea/libraries/Maven__org_neo4j_neo4j_kernel_2_3_11.xml new file mode 100644 index 000000000..a912a9035 --- /dev/null +++ b/.idea/libraries/Maven__org_neo4j_neo4j_kernel_2_3_11.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_neo4j_neo4j_logging_2_3_11.xml b/.idea/libraries/Maven__org_neo4j_neo4j_logging_2_3_11.xml new file mode 100644 index 000000000..995845a2e --- /dev/null +++ b/.idea/libraries/Maven__org_neo4j_neo4j_logging_2_3_11.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_neo4j_neo4j_lucene_index_2_3_11.xml b/.idea/libraries/Maven__org_neo4j_neo4j_lucene_index_2_3_11.xml new file mode 100644 index 000000000..64a032c05 --- /dev/null +++ b/.idea/libraries/Maven__org_neo4j_neo4j_lucene_index_2_3_11.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_neo4j_neo4j_primitive_collections_2_3_11.xml b/.idea/libraries/Maven__org_neo4j_neo4j_primitive_collections_2_3_11.xml new file mode 100644 index 000000000..04c3d2cc2 --- /dev/null +++ b/.idea/libraries/Maven__org_neo4j_neo4j_primitive_collections_2_3_11.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_neo4j_neo4j_unsafe_2_3_11.xml b/.idea/libraries/Maven__org_neo4j_neo4j_unsafe_2_3_11.xml new file mode 100644 index 000000000..a4ae7c874 --- /dev/null +++ b/.idea/libraries/Maven__org_neo4j_neo4j_unsafe_2_3_11.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_ow2_asm_asm_5_0_2.xml b/.idea/libraries/Maven__org_ow2_asm_asm_5_0_2.xml new file mode 100644 index 000000000..ae26b8717 --- /dev/null +++ b/.idea/libraries/Maven__org_ow2_asm_asm_5_0_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_ow2_asm_asm_debug_all_5_1.xml b/.idea/libraries/Maven__org_ow2_asm_asm_debug_all_5_1.xml new file mode 100644 index 000000000..c8eecc239 --- /dev/null +++ b/.idea/libraries/Maven__org_ow2_asm_asm_debug_all_5_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_parboiled_parboiled_core_1_1_7.xml b/.idea/libraries/Maven__org_parboiled_parboiled_core_1_1_7.xml new file mode 100644 index 000000000..409840712 --- /dev/null +++ b/.idea/libraries/Maven__org_parboiled_parboiled_core_1_1_7.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_parboiled_parboiled_scala_2_11_1_1_7.xml b/.idea/libraries/Maven__org_parboiled_parboiled_scala_2_11_1_1_7.xml new file mode 100644 index 000000000..e247f4164 --- /dev/null +++ b/.idea/libraries/Maven__org_parboiled_parboiled_scala_2_11_1_1_7.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_scala_lang_modules_scala_parser_combinators_2_11_1_0_4.xml b/.idea/libraries/Maven__org_scala_lang_modules_scala_parser_combinators_2_11_1_0_4.xml new file mode 100644 index 000000000..536c927c7 --- /dev/null +++ b/.idea/libraries/Maven__org_scala_lang_modules_scala_parser_combinators_2_11_1_0_4.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_scala_lang_scala_library_2_11_7.xml b/.idea/libraries/Maven__org_scala_lang_scala_library_2_11_7.xml new file mode 100644 index 000000000..30df404b8 --- /dev/null +++ b/.idea/libraries/Maven__org_scala_lang_scala_library_2_11_7.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_scala_lang_scala_reflect_2_11_7.xml b/.idea/libraries/Maven__org_scala_lang_scala_reflect_2_11_7.xml new file mode 100644 index 000000000..379f17a94 --- /dev/null +++ b/.idea/libraries/Maven__org_scala_lang_scala_reflect_2_11_7.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_slf4j_jcl_over_slf4j_1_7_6.xml b/.idea/libraries/Maven__org_slf4j_jcl_over_slf4j_1_7_6.xml new file mode 100644 index 000000000..5b6dace87 --- /dev/null +++ b/.idea/libraries/Maven__org_slf4j_jcl_over_slf4j_1_7_6.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_7.xml b/.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_7.xml new file mode 100644 index 000000000..1e672600f --- /dev/null +++ b/.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_7.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_tinyjee_jgraphx_jgraphx_2_0_0_1.xml b/.idea/libraries/Maven__org_tinyjee_jgraphx_jgraphx_2_0_0_1.xml new file mode 100644 index 000000000..80d60f116 --- /dev/null +++ b/.idea/libraries/Maven__org_tinyjee_jgraphx_jgraphx_2_0_0_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_xerial_sqlite_jdbc_3_7_2.xml b/.idea/libraries/Maven__org_xerial_sqlite_jdbc_3_7_2.xml new file mode 100644 index 000000000..071c33630 --- /dev/null +++ b/.idea/libraries/Maven__org_xerial_sqlite_jdbc_3_7_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__postgresql_postgresql_9_1_901_1_jdbc4.xml b/.idea/libraries/Maven__postgresql_postgresql_9_1_901_1_jdbc4.xml new file mode 100644 index 000000000..b79d68405 --- /dev/null +++ b/.idea/libraries/Maven__postgresql_postgresql_9_1_901_1_jdbc4.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__xerces_xercesImpl_2_11_0.xml b/.idea/libraries/Maven__xerces_xercesImpl_2_11_0.xml new file mode 100644 index 000000000..285d5e893 --- /dev/null +++ b/.idea/libraries/Maven__xerces_xercesImpl_2_11_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__xml_apis_xml_apis_1_4_01.xml b/.idea/libraries/Maven__xml_apis_xml_apis_1_4_01.xml new file mode 100644 index 000000000..9aadd291d --- /dev/null +++ b/.idea/libraries/Maven__xml_apis_xml_apis_1_4_01.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 000000000..9ff8bfcb3 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,11 @@ + + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 000000000..a3b8371fa --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 000000000..94a25f7f4 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/graal-api/graal-api.iml b/graal-api/graal-api.iml new file mode 100644 index 000000000..253b62a9d --- /dev/null +++ b/graal-api/graal-api.iml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/graal-backward-chaining/graal-backward-chaining.iml b/graal-backward-chaining/graal-backward-chaining.iml new file mode 100644 index 000000000..3d9ca6541 --- /dev/null +++ b/graal-backward-chaining/graal-backward-chaining.iml @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/graal-builtin-predicates/graal-builtin-predicates.iml b/graal-builtin-predicates/graal-builtin-predicates.iml new file mode 100644 index 000000000..240d24cc4 --- /dev/null +++ b/graal-builtin-predicates/graal-builtin-predicates.iml @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/graal-core/graal-core.iml b/graal-core/graal-core.iml new file mode 100644 index 000000000..7545ad8d3 --- /dev/null +++ b/graal-core/graal-core.iml @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/graal-coverage/graal-coverage.iml b/graal-coverage/graal-coverage.iml new file mode 100644 index 000000000..36216f5e5 --- /dev/null +++ b/graal-coverage/graal-coverage.iml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/graal-forward-chaining/graal-forward-chaining.iml b/graal-forward-chaining/graal-forward-chaining.iml new file mode 100644 index 000000000..9895cf35b --- /dev/null +++ b/graal-forward-chaining/graal-forward-chaining.iml @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/graal-grd/graal-grd.iml b/graal-grd/graal-grd.iml new file mode 100644 index 000000000..f43d04798 --- /dev/null +++ b/graal-grd/graal-grd.iml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/graal-homomorphism/graal-homomorphism.iml b/graal-homomorphism/graal-homomorphism.iml new file mode 100644 index 000000000..28b53b06e --- /dev/null +++ b/graal-homomorphism/graal-homomorphism.iml @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/graal-io/graal-io-dlgp/graal-io-dlgp.iml b/graal-io/graal-io-dlgp/graal-io-dlgp.iml new file mode 100644 index 000000000..813474f3f --- /dev/null +++ b/graal-io/graal-io-dlgp/graal-io-dlgp.iml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/graal-io/graal-io-owl/graal-io-owl.iml b/graal-io/graal-io-owl/graal-io-owl.iml new file mode 100644 index 000000000..3d259a0c2 --- /dev/null +++ b/graal-io/graal-io-owl/graal-io-owl.iml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/graal-io/graal-io-rdf/graal-io-rdf.iml b/graal-io/graal-io-rdf/graal-io-rdf.iml new file mode 100644 index 000000000..62a0f752d --- /dev/null +++ b/graal-io/graal-io-rdf/graal-io-rdf.iml @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/graal-io/graal-io-ruleml/graal-io-ruleml.iml b/graal-io/graal-io-ruleml/graal-io-ruleml.iml new file mode 100644 index 000000000..49ed287be --- /dev/null +++ b/graal-io/graal-io-ruleml/graal-io-ruleml.iml @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/graal-io/graal-io-sparql/graal-io-sparql.iml b/graal-io/graal-io-sparql/graal-io-sparql.iml new file mode 100644 index 000000000..40d28bc1a --- /dev/null +++ b/graal-io/graal-io-sparql/graal-io-sparql.iml @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/graal-io/graal-io.iml b/graal-io/graal-io.iml new file mode 100644 index 000000000..8773f974f --- /dev/null +++ b/graal-io/graal-io.iml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/graal-kb/graal-kb.iml b/graal-kb/graal-kb.iml new file mode 100644 index 000000000..e107a87e9 --- /dev/null +++ b/graal-kb/graal-kb.iml @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/graal-keyvalue/graal-key-value-core/graal-keyvalue-core.iml b/graal-keyvalue/graal-key-value-core/graal-keyvalue-core.iml new file mode 100644 index 000000000..b49f7c26f --- /dev/null +++ b/graal-keyvalue/graal-key-value-core/graal-keyvalue-core.iml @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/graal-keyvalue/graal-keyvalue.iml b/graal-keyvalue/graal-keyvalue.iml new file mode 100644 index 000000000..32e224f39 --- /dev/null +++ b/graal-keyvalue/graal-keyvalue.iml @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/graal-rules-analyser/graal-rules-analyser.iml b/graal-rules-analyser/graal-rules-analyser.iml new file mode 100644 index 000000000..fad2f67d6 --- /dev/null +++ b/graal-rules-analyser/graal-rules-analyser.iml @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/graal-sparql-homomorphism/graal-sparql-homomorphism.iml b/graal-sparql-homomorphism/graal-sparql-homomorphism.iml new file mode 100644 index 000000000..041b39386 --- /dev/null +++ b/graal-sparql-homomorphism/graal-sparql-homomorphism.iml @@ -0,0 +1,132 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/graal-store/graal-store-dictionary/graal-store-dictionary.iml b/graal-store/graal-store-dictionary/graal-store-dictionary.iml new file mode 100644 index 000000000..7a77363bf --- /dev/null +++ b/graal-store/graal-store-dictionary/graal-store-dictionary.iml @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/graal-store/graal-store-neo4j/graal-store-neo4j.iml b/graal-store/graal-store-neo4j/graal-store-neo4j.iml new file mode 100644 index 000000000..2f99f04a0 --- /dev/null +++ b/graal-store/graal-store-neo4j/graal-store-neo4j.iml @@ -0,0 +1,75 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/graal-store/graal-store-rdbms/graal-store-rdbms.iml b/graal-store/graal-store-rdbms/graal-store-rdbms.iml new file mode 100644 index 000000000..8773f974f --- /dev/null +++ b/graal-store/graal-store-rdbms/graal-store-rdbms.iml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/graal-store/graal-store-rdbms/rdbms-adhoc/rdbms-adhoc.iml b/graal-store/graal-store-rdbms/rdbms-adhoc/rdbms-adhoc.iml new file mode 100644 index 000000000..77f65ca6a --- /dev/null +++ b/graal-store/graal-store-rdbms/rdbms-adhoc/rdbms-adhoc.iml @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/graal-store/graal-store-rdbms/rdbms-common/rdbms-common.iml b/graal-store/graal-store-rdbms/rdbms-common/rdbms-common.iml new file mode 100644 index 000000000..d38f86173 --- /dev/null +++ b/graal-store/graal-store-rdbms/rdbms-common/rdbms-common.iml @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/graal-store/graal-store-rdbms/rdbms-natural/rdbms-natural.iml b/graal-store/graal-store-rdbms/rdbms-natural/rdbms-natural.iml new file mode 100644 index 000000000..77f65ca6a --- /dev/null +++ b/graal-store/graal-store-rdbms/rdbms-natural/rdbms-natural.iml @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/graal-store/graal-store-rdbms/rdbms-test/rdbms-test.iml b/graal-store/graal-store-rdbms/rdbms-test/rdbms-test.iml new file mode 100644 index 000000000..209a313c2 --- /dev/null +++ b/graal-store/graal-store-rdbms/rdbms-test/rdbms-test.iml @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/graal-store/graal-store-rdf4j/graal-store-rdf4j.iml b/graal-store/graal-store-rdf4j/graal-store-rdf4j.iml new file mode 100644 index 000000000..6c48b1f68 --- /dev/null +++ b/graal-store/graal-store-rdf4j/graal-store-rdf4j.iml @@ -0,0 +1,119 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/graal-store/graal-store.iml b/graal-store/graal-store.iml new file mode 100644 index 000000000..8773f974f --- /dev/null +++ b/graal-store/graal-store.iml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/graal-stratified-negation/dependency-reduced-pom.xml b/graal-stratified-negation/dependency-reduced-pom.xml new file mode 100644 index 000000000..66728b996 --- /dev/null +++ b/graal-stratified-negation/dependency-reduced-pom.xml @@ -0,0 +1,103 @@ + + + + graal + fr.lirmm.graphik + 1.3.2-SNAPSHOT + + 4.0.0 + graal-stratified-negation + fr.lirmm.graphik:graal-stratified-negation + The Stratified Negation module implements algorithms to query data. + + + Arthur BOIXEL + + + + ${basedir}/src/main/java + ${basedir}/src/test/java + + + maven-compiler-plugin + 3.3 + + + org.codehaus.plexus + plexus-compiler-javac-errorprone + 2.8.3 + + + com.google.errorprone + error_prone_core + ${error-prone.version} + + + + javac-with-errorprone + true + + -Xep:ClassName + -Xep:DepAnn + -Xep:EmptyIf + -Xep:NoAllocation + -Xep:NumericEquality + -Xep:NonCanonicalStaticMemberImport + -Xep:PrimitiveArrayPassedToVarargsMethod + -Xep:StringEquality + -Xep:Var:ERROR + -Xep:WildcardImport + -XepDisableWarningsInGeneratedCode + + true + 8 + 8 + + + + maven-shade-plugin + ${maven-shade-plugin.version} + + + package + + shade + + + + + + maven-surefire-plugin + 3.0.0-M3 + + methods + 5 + false + + + + + + + junit + junit + 4.12 + test + + + hamcrest-core + org.hamcrest + + + + + + 2.3.1 + 27.1-jre + 1.8 + 3.1.1 + UTF-8 + 1.3 + 0.9.0 + + diff --git a/graal-stratified-negation/graal-stratified-negation.iml b/graal-stratified-negation/graal-stratified-negation.iml new file mode 100644 index 000000000..b2312d711 --- /dev/null +++ b/graal-stratified-negation/graal-stratified-negation.iml @@ -0,0 +1,49 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/graal-test/graal-test.iml b/graal-test/graal-test.iml new file mode 100644 index 000000000..f0b696d20 --- /dev/null +++ b/graal-test/graal-test.iml @@ -0,0 +1,195 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/graal-util/graal-util.iml b/graal-util/graal-util.iml new file mode 100644 index 000000000..aef90dda3 --- /dev/null +++ b/graal-util/graal-util.iml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/graal.iml b/graal.iml new file mode 100644 index 000000000..8773f974f --- /dev/null +++ b/graal.iml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/pom.xml b/pom.xml index f973c008e..2d71580dd 100644 --- a/pom.xml +++ b/pom.xml @@ -67,6 +67,7 @@ algorithms, structural analysis of decidability properties of a rule set, a text graal-io graal-kb graal-forward-chaining + graal-stratified-negation graal-store graal-backward-chaining graal-rules-analyser @@ -77,7 +78,7 @@ algorithms, structural analysis of decidability properties of a rule set, a text graal-builtin-predicates graal-sparql-homomorphism graal-keyvalue - graal-stratified-negation + diff --git a/rdf4j-common/rdf4j-common.iml b/rdf4j-common/rdf4j-common.iml new file mode 100644 index 000000000..974b75d11 --- /dev/null +++ b/rdf4j-common/rdf4j-common.iml @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file