You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@marmotta.apache.org by ja...@apache.org on 2014/02/27 17:38:34 UTC

[01/10] git commit: MARMOTTA-440: Improved rdf-patch module, can now also create diffs.

Repository: marmotta
Updated Branches:
  refs/heads/ldp 397cd2aff -> 14d61a17f


MARMOTTA-440: Improved rdf-patch module, can now also create diffs.


Project: http://git-wip-us.apache.org/repos/asf/marmotta/repo
Commit: http://git-wip-us.apache.org/repos/asf/marmotta/commit/14d61a17
Tree: http://git-wip-us.apache.org/repos/asf/marmotta/tree/14d61a17
Diff: http://git-wip-us.apache.org/repos/asf/marmotta/diff/14d61a17

Branch: refs/heads/ldp
Commit: 14d61a17f0c1fd34e3fe497c14875597c2894f32
Parents: 8d79b11
Author: Jakob Frank <ja...@apache.org>
Authored: Thu Feb 27 17:37:00 2014 +0100
Committer: Jakob Frank <ja...@apache.org>
Committed: Thu Feb 27 17:38:15 2014 +0100

----------------------------------------------------------------------
 .../marmotta/platform/ldp/patch/RdfPatchIO.java | 164 +++++++++++++++++++
 .../platform/ldp/patch/RdfPatchUtil.java        | 147 +++++++++++++++--
 .../platform/ldp/patch/model/PatchLine.java     |  19 +++
 .../ldp/patch/parser/RdfPatchParser.java        |   5 +
 .../src/main/javacc/rdf-patch.jj                |   2 +
 .../platform/ldp/patch/RdfPatchIOTest.java      |  59 +++++++
 .../platform/ldp/patch/RdfPatchUtilTest.java    |  43 +++++
 7 files changed, 426 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/marmotta/blob/14d61a17/commons/marmotta-sesame-tools/marmotta-util-rdfpatch/src/main/java/org/apache/marmotta/platform/ldp/patch/RdfPatchIO.java
----------------------------------------------------------------------
diff --git a/commons/marmotta-sesame-tools/marmotta-util-rdfpatch/src/main/java/org/apache/marmotta/platform/ldp/patch/RdfPatchIO.java b/commons/marmotta-sesame-tools/marmotta-util-rdfpatch/src/main/java/org/apache/marmotta/platform/ldp/patch/RdfPatchIO.java
new file mode 100644
index 0000000..2120a23
--- /dev/null
+++ b/commons/marmotta-sesame-tools/marmotta-util-rdfpatch/src/main/java/org/apache/marmotta/platform/ldp/patch/RdfPatchIO.java
@@ -0,0 +1,164 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.marmotta.platform.ldp.patch;
+
+import org.apache.commons.io.output.StringBuilderWriter;
+import org.apache.marmotta.platform.ldp.patch.model.PatchLine;
+import org.openrdf.model.*;
+import org.openrdf.rio.turtle.TurtleUtil;
+
+import java.io.*;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * Serialize/Write an rdf-patch document
+ *
+ * @author Jakob Frank
+ */
+public class RdfPatchIO {
+
+    /**
+     * Serialize the provided Patch as String.
+     * @param patch the patch to serialize
+     * @return String representation of the given patch
+     */
+    public static String toString(List<PatchLine> patch) {
+        return toString(patch, Collections.<String,String>emptyMap());
+    }
+
+    /**
+     * Serialize the provided Patch to String.
+     * @param patch the patch to serialize
+     * @param namespaces the namespaces to use
+     * @return String representation of the given patch.
+     */
+    public static String toString(List<PatchLine> patch, Map<String, String> namespaces) {
+        StringBuilderWriter sbw = new StringBuilderWriter();
+        writePatch(sbw, patch, namespaces);
+        return sbw.toString();
+    }
+
+    /**
+     * Write the provided patch to the given OutputStream.
+     * @param os the OutputStream to write to, will <em>not</em> be closed.
+     * @param patch the patch to write
+     */
+    public static void writePatch(OutputStream os, List<PatchLine> patch) {
+        writePatch(os, patch, Collections.<String,String>emptyMap());
+    }
+
+    /**
+     * Write the provided patch to the given OutputStream.
+     * @param os the OutputStream to write to, will <em>not</em> be closed.
+     * @param patch the patch to write
+     * @param namespaces the namespaces to write (and replace)
+     */
+    public static void writePatch(OutputStream os, List<PatchLine> patch, Map<String, String> namespaces) {
+        writePatch(new OutputStreamWriter(os), patch, namespaces);
+    }
+
+    /**
+     * Write the provided patch to the given Writer.
+     * @param writer the target to write to, will <em>not</em> be closed.
+     * @param patch the patch to write
+     */
+    public static void writePatch(Writer writer, List<PatchLine> patch) {
+        writePatch(writer, patch, Collections.<String,String>emptyMap());
+    }
+
+    /**
+     * Write the provided patch to the given Writer.
+     * @param writer the target to write to, will <em>not</em> be closed.
+     * @param patch the patch to write
+     * @param namespaces the namespaces to write (and replace)
+     */
+    public static void writePatch(Writer writer, List<PatchLine> patch, Map<String, String> namespaces) {
+        PrintWriter ps = new PrintWriter(writer);
+
+        HashMap<String, String> inverseNamespaceMap = new HashMap<>(namespaces.size());
+        for (Map.Entry<String, String> ns : namespaces.entrySet()) {
+            inverseNamespaceMap.put(ns.getValue(), ns.getKey());
+            ps.printf("@prefix %s: <%s> .%n", ns.getKey(), ns.getValue());
+        }
+        ps.println();
+        for (PatchLine patchLine : patch) {
+            final Statement st = patchLine.getStatement();
+            ps.printf("%S %s %s %s .", patchLine.getOperator().getCommand(),
+                    io(st.getSubject(), inverseNamespaceMap),
+                    io(st.getPredicate(), inverseNamespaceMap),
+                    io(st.getObject(), inverseNamespaceMap)
+                    );
+        }
+
+        ps.flush();
+    }
+
+    /**
+     * "Stringify" a Sesame-Value for rdf-patch.
+     * Heavily inspired by {@link org.openrdf.rio.turtle.TurtleWriter} and {@link org.openrdf.rio.turtle.TurtleUtil}
+     *
+     * @param v the Value to write
+     * @param inverseNamespaceMap an inverse Map of known namespaces (e.g. http://example.com/foo# -> foo)
+     * @return String-serialization of the Value.
+     */
+    private static String io(Value v, Map<String, String> inverseNamespaceMap) {
+        if (v == null) {
+            return "R";
+        } else if (v instanceof URI) {
+            final String uri = v.stringValue();
+            String prefix = null;
+
+            final int si = TurtleUtil.findURISplitIndex(uri);
+            if (si > 0) {
+                String namespace = uri.substring(0, si);
+                prefix = inverseNamespaceMap.get(namespace);
+            }
+
+            if (prefix != null) {
+                return String.format("%s:%s", prefix, uri.substring(si));
+            } else {
+                return String.format("<%s>", uri);
+            }
+        } else if (v instanceof BNode) {
+            return "_:" + ((BNode) v).getID();
+        } else if (v instanceof Literal) {
+            final Literal l = (Literal) v;
+            final String label = l.getLabel();
+            final StringBuilder sb = new StringBuilder();
+            if (label.indexOf('\n') != -1 || label.indexOf('\r') != -1 || label.indexOf('\t') != -1) {
+                sb.append("\"\"\"").append(TurtleUtil.encodeLongString(label)).append("\"\"\"");
+            } else {
+                sb.append("\"").append(TurtleUtil.encodeString(label)).append("\"");
+            }
+            if (l.getLanguage() != null) {
+                sb.append("@").append(l.getLanguage());
+            } else if (l.getDatatype() != null) {
+                sb.append("^^").append(io(l.getDatatype(), inverseNamespaceMap));
+            }
+            return sb.toString();
+        }
+        return v.toString();
+    }
+
+    private RdfPatchIO() {
+        // static access only
+    }
+}

http://git-wip-us.apache.org/repos/asf/marmotta/blob/14d61a17/commons/marmotta-sesame-tools/marmotta-util-rdfpatch/src/main/java/org/apache/marmotta/platform/ldp/patch/RdfPatchUtil.java
----------------------------------------------------------------------
diff --git a/commons/marmotta-sesame-tools/marmotta-util-rdfpatch/src/main/java/org/apache/marmotta/platform/ldp/patch/RdfPatchUtil.java b/commons/marmotta-sesame-tools/marmotta-util-rdfpatch/src/main/java/org/apache/marmotta/platform/ldp/patch/RdfPatchUtil.java
index e4d073b..bd86e67 100644
--- a/commons/marmotta-sesame-tools/marmotta-util-rdfpatch/src/main/java/org/apache/marmotta/platform/ldp/patch/RdfPatchUtil.java
+++ b/commons/marmotta-sesame-tools/marmotta-util-rdfpatch/src/main/java/org/apache/marmotta/platform/ldp/patch/RdfPatchUtil.java
@@ -19,23 +19,22 @@ package org.apache.marmotta.platform.ldp.patch;
 
 import org.apache.commons.io.IOUtils;
 import org.apache.marmotta.platform.ldp.patch.model.PatchLine;
+import org.apache.marmotta.platform.ldp.patch.model.WildcardStatement;
 import org.apache.marmotta.platform.ldp.patch.parser.ParseException;
 import org.apache.marmotta.platform.ldp.patch.parser.RdfPatchParser;
 import org.apache.marmotta.platform.ldp.patch.parser.RdfPatchParserImpl;
-import org.openrdf.model.Resource;
-import org.openrdf.model.Statement;
-import org.openrdf.model.URI;
-import org.openrdf.model.Value;
+import org.openrdf.model.*;
 import org.openrdf.repository.Repository;
 import org.openrdf.repository.RepositoryConnection;
 import org.openrdf.repository.RepositoryException;
+import org.openrdf.repository.RepositoryResult;
 
 import java.io.IOException;
 import java.io.InputStream;
-import java.util.List;
+import java.util.*;
 
 /**
- * RdfPatchUtil - Util-Class to apply rdf-patches on a {@link Repository} or {@link org.openrdf.repository.RepositoryConnection}
+ * RdfPatchUtil - Util-Class to apply and create rdf-patches on a {@link Repository} or {@link org.openrdf.repository.RepositoryConnection}
  *
  * @author Jakob Frank
  */
@@ -50,7 +49,7 @@ public class RdfPatchUtil {
      * @throws InvalidPatchDocumentException if the patch is invalid
      */
     public static void applyPatch(Repository repository, String patch, Resource... contexts) throws RepositoryException, ParseException, InvalidPatchDocumentException {
-        applyPatch(repository, getPatch(patch), contexts);
+        applyPatch(repository, getPatch(repository.getValueFactory(), patch), contexts);
     }
 
     /**
@@ -62,7 +61,7 @@ public class RdfPatchUtil {
      * @throws InvalidPatchDocumentException if the patch is invalid
      */
     public static void applyPatch(Repository repository, InputStream patchSource, Resource... contexts) throws RepositoryException, ParseException, InvalidPatchDocumentException {
-        applyPatch(repository, getPatch(patchSource), contexts);
+        applyPatch(repository, getPatch(repository.getValueFactory(), patchSource), contexts);
     }
 
     /**
@@ -74,7 +73,7 @@ public class RdfPatchUtil {
      * @throws InvalidPatchDocumentException if the patch is invalid
      */
     public static void applyPatch(RepositoryConnection connection, String patch, Resource... contexts) throws RepositoryException, ParseException, InvalidPatchDocumentException {
-        applyPatch(connection, getPatch(patch), contexts);
+        applyPatch(connection, getPatch(connection.getValueFactory(), patch), contexts);
     }
 
     /**
@@ -86,7 +85,7 @@ public class RdfPatchUtil {
      * @throws InvalidPatchDocumentException if the patch is invalid
      */
     public static void applyPatch(RepositoryConnection connection, InputStream patchSource, Resource... contexts) throws RepositoryException, ParseException, InvalidPatchDocumentException {
-        applyPatch(connection, getPatch(patchSource), contexts);
+        applyPatch(connection, getPatch(connection.getValueFactory(), patchSource), contexts);
     }
 
     /**
@@ -153,14 +152,15 @@ public class RdfPatchUtil {
         }
     }
 
-    private static List<PatchLine> getPatch(InputStream is) throws ParseException {
+    private static List<PatchLine> getPatch(ValueFactory valueFactory, InputStream is) throws ParseException {
         RdfPatchParser parser = new RdfPatchParserImpl(is);
+        parser.setValueFactory(valueFactory);
         return parser.parsePatch();
     }
 
-    private static List<PatchLine> getPatch(String patch) throws ParseException {
+    private static List<PatchLine> getPatch(ValueFactory valueFactory, String patch) throws ParseException {
         try (InputStream is = IOUtils.toInputStream(patch)) {
-            return getPatch(is);
+            return getPatch(valueFactory, is);
         } catch (IOException e) {
             // You can always close an InputStream on a String
             assert(false);
@@ -168,6 +168,127 @@ public class RdfPatchUtil {
         }
     }
 
+    /**
+     * Create an RDF-Patch that applies the changes from {@code r1} to {@code r2}.
+     * @param r1 the 'from' Repository
+     * @param r2 the 'to' Repository
+     * @param optimize optimize the patch, i.e. remove duplicate or idempotent operations.
+     * @param contexts restrict analysis to these contexts (leave empty to use <em>all</em> contexts)
+     * @return List of PatchLines
+     */
+    public static List<PatchLine> diff(Repository r1, Repository r2, boolean optimize, Resource... contexts) throws RepositoryException {
+        final RepositoryConnection c1 = r1.getConnection(), c2 = r2.getConnection();
+        try {
+            c1.begin();
+            c2.begin();
+            final List<PatchLine> diff = diff(c1, c2, optimize, contexts);
+            c1.commit();
+            c2.commit();
+            return diff;
+        } finally {
+            c1.close();
+            c2.close();
+        }
+    }
+
+    /**
+     * Create an RDF-Patch that applies the changes from {@code c1} to {@code c2}.
+     * @param c1 the 'from' RepositoryConnection
+     * @param c2 the 'to' RepositoryConnection
+     * @param optimize optimize the patch, i.e. remove duplicate or idempotent operations.
+     * @param contexts restrict analysis to these contexts (leave empty to use <em>all</em> contexts)
+     * @return List of PatchLines
+     */
+    public static List<PatchLine> diff(RepositoryConnection c1, RepositoryConnection c2, boolean optimize, Resource... contexts) throws RepositoryException {
+        Set<Statement> additions = new HashSet<>(),
+                removals = new HashSet<>();
+
+        final RepositoryResult<Statement> st1 = c1.getStatements(null, null, null, false, contexts);
+        try {
+            while (st1.hasNext()) {
+                final Statement st = st1.next();
+                if (!c2.hasStatement(st, false, contexts)) {
+                    removals.add(st);
+                }
+            }
+        } finally {
+            st1.close();
+        }
+
+        final RepositoryResult<Statement> st2 = c2.getStatements(null, null, null, false, contexts);
+        try {
+            while (st2.hasNext()) {
+                final Statement st = st2.next();
+                if (!c1.hasStatement(st, false, contexts)) {
+                    additions.add(st);
+                }
+            }
+        } finally {
+            st2.close();
+        }
+
+        if (optimize) {
+            final TreeSet<Statement> delList = new TreeSet<>(new StatementComparator());
+            delList.addAll(removals);
+            final TreeSet<Statement> addList = new TreeSet<>(new StatementComparator());
+            addList.addAll(additions);
+
+            additions = addList;
+            removals = delList;
+        }
+
+        Resource pS = null;
+        URI pP = null;
+        Value pO = null;
+        ArrayList<PatchLine> patch = new ArrayList<>(removals.size()+additions.size());
+        for (Statement s : removals) {
+            final WildcardStatement ws = new WildcardStatement(
+                    s.getSubject().equals(pS) ? null : s.getSubject(),
+                    s.getPredicate().equals(pP) ? null : s.getPredicate(),
+                    s.getObject().equals(pO) ? null : s.getObject()
+            );
+            patch.add(new PatchLine(PatchLine.Operator.DELETE, ws));
+            pS = s.getSubject();
+            pP = s.getPredicate();
+            pO = s.getObject();
+        }
+        for (Statement s : additions) {
+            final WildcardStatement ws = new WildcardStatement(
+                    s.getSubject().equals(pS) ? null : s.getSubject(),
+                    s.getPredicate().equals(pP) ? null : s.getPredicate(),
+                    s.getObject().equals(pO) ? null : s.getObject()
+            );
+            patch.add(new PatchLine(PatchLine.Operator.ADD, ws));
+            pS = s.getSubject();
+            pP = s.getPredicate();
+            pO = s.getObject();
+        }
+
+        return patch;
+    }
+
+    private static class StatementComparator implements Comparator<Statement> {
+        @Override
+        public int compare(Statement s1, Statement s2) {
+            final int si = compare(s1.getSubject(), s2.getSubject());
+            if (si != 0) {
+                return si;
+            } else {
+                final int pi = compare(s1.getPredicate(), s2.getPredicate());
+                if (pi != 0) {
+                    return pi;
+                }
+                else {
+                    return compare(s1.getObject(), s2.getObject());
+                }
+            }
+        }
+
+        private int compare(Value v1, Value v2) {
+            return v1.toString().compareTo(v2.toString());
+        }
+    }
+
     private RdfPatchUtil() {
         // static access only
     }

http://git-wip-us.apache.org/repos/asf/marmotta/blob/14d61a17/commons/marmotta-sesame-tools/marmotta-util-rdfpatch/src/main/java/org/apache/marmotta/platform/ldp/patch/model/PatchLine.java
----------------------------------------------------------------------
diff --git a/commons/marmotta-sesame-tools/marmotta-util-rdfpatch/src/main/java/org/apache/marmotta/platform/ldp/patch/model/PatchLine.java b/commons/marmotta-sesame-tools/marmotta-util-rdfpatch/src/main/java/org/apache/marmotta/platform/ldp/patch/model/PatchLine.java
index fe533fd..026cbad 100644
--- a/commons/marmotta-sesame-tools/marmotta-util-rdfpatch/src/main/java/org/apache/marmotta/platform/ldp/patch/model/PatchLine.java
+++ b/commons/marmotta-sesame-tools/marmotta-util-rdfpatch/src/main/java/org/apache/marmotta/platform/ldp/patch/model/PatchLine.java
@@ -65,4 +65,23 @@ public class PatchLine {
     public Statement getStatement() {
         return statement;
     }
+
+    @Override
+    public boolean equals(Object obj) {
+        if (this == obj) return true;
+
+        if (obj instanceof PatchLine) {
+            if (operator != ((PatchLine) obj).operator) return false;
+
+            return statement.equals(((PatchLine) obj).statement);
+        }
+
+        return false;
+    }
+
+    @Override
+    public String toString() {
+        return String.format("%S %s", operator.getCommand(), statement);
+
+    }
 }

http://git-wip-us.apache.org/repos/asf/marmotta/blob/14d61a17/commons/marmotta-sesame-tools/marmotta-util-rdfpatch/src/main/java/org/apache/marmotta/platform/ldp/patch/parser/RdfPatchParser.java
----------------------------------------------------------------------
diff --git a/commons/marmotta-sesame-tools/marmotta-util-rdfpatch/src/main/java/org/apache/marmotta/platform/ldp/patch/parser/RdfPatchParser.java b/commons/marmotta-sesame-tools/marmotta-util-rdfpatch/src/main/java/org/apache/marmotta/platform/ldp/patch/parser/RdfPatchParser.java
index d78d7c5..4963b7b 100644
--- a/commons/marmotta-sesame-tools/marmotta-util-rdfpatch/src/main/java/org/apache/marmotta/platform/ldp/patch/parser/RdfPatchParser.java
+++ b/commons/marmotta-sesame-tools/marmotta-util-rdfpatch/src/main/java/org/apache/marmotta/platform/ldp/patch/parser/RdfPatchParser.java
@@ -18,6 +18,7 @@
 package org.apache.marmotta.platform.ldp.patch.parser;
 
 import org.apache.marmotta.platform.ldp.patch.model.PatchLine;
+import org.openrdf.model.ValueFactory;
 
 import java.util.List;
 
@@ -38,6 +39,10 @@ public interface RdfPatchParser {
      */
     public static final String FILE_EXTENSION = "rdfp";
 
+    void setValueFactory(ValueFactory vf);
+
+    ValueFactory getValueFactory();
+
     /**
      * Parse the rdf-patch
      * @return a List of {@link org.apache.marmotta.platform.ldp.patch.model.PatchLine}s

http://git-wip-us.apache.org/repos/asf/marmotta/blob/14d61a17/commons/marmotta-sesame-tools/marmotta-util-rdfpatch/src/main/javacc/rdf-patch.jj
----------------------------------------------------------------------
diff --git a/commons/marmotta-sesame-tools/marmotta-util-rdfpatch/src/main/javacc/rdf-patch.jj b/commons/marmotta-sesame-tools/marmotta-util-rdfpatch/src/main/javacc/rdf-patch.jj
index 7b47aaf..4b518a9 100644
--- a/commons/marmotta-sesame-tools/marmotta-util-rdfpatch/src/main/javacc/rdf-patch.jj
+++ b/commons/marmotta-sesame-tools/marmotta-util-rdfpatch/src/main/javacc/rdf-patch.jj
@@ -55,11 +55,13 @@ public class RdfPatchParserImpl implements RdfPatchParser {
         this.valueFactory = vf;
     }
 
+    @Override
     public void setValueFactory(ValueFactory vf) {
         if (vf == null) throw new IllegalArgumentException("ValueFactory must not be null");
         this.valueFactory = vf;
     }
 
+    @Override
     public ValueFactory getValueFactory() {
         return this.valueFactory;
     }

http://git-wip-us.apache.org/repos/asf/marmotta/blob/14d61a17/commons/marmotta-sesame-tools/marmotta-util-rdfpatch/src/test/java/org/apache/marmotta/platform/ldp/patch/RdfPatchIOTest.java
----------------------------------------------------------------------
diff --git a/commons/marmotta-sesame-tools/marmotta-util-rdfpatch/src/test/java/org/apache/marmotta/platform/ldp/patch/RdfPatchIOTest.java b/commons/marmotta-sesame-tools/marmotta-util-rdfpatch/src/test/java/org/apache/marmotta/platform/ldp/patch/RdfPatchIOTest.java
new file mode 100644
index 0000000..4ba507f
--- /dev/null
+++ b/commons/marmotta-sesame-tools/marmotta-util-rdfpatch/src/test/java/org/apache/marmotta/platform/ldp/patch/RdfPatchIOTest.java
@@ -0,0 +1,59 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.marmotta.platform.ldp.patch;
+
+import org.apache.marmotta.platform.ldp.patch.model.PatchLine;
+import org.apache.marmotta.platform.ldp.patch.parser.ParseException;
+import org.apache.marmotta.platform.ldp.patch.parser.RdfPatchParser;
+import org.apache.marmotta.platform.ldp.patch.parser.RdfPatchParserImpl;
+import org.junit.Assert;
+import org.junit.Test;
+
+import java.io.StringReader;
+import java.util.List;
+
+/**
+ * Testing {@link org.apache.marmotta.platform.ldp.patch.RdfPatchIO}
+ */
+public class RdfPatchIOTest {
+
+    @Test
+    public void testIllustrative() throws Exception {
+        RdfPatchParserImpl parser = new RdfPatchParserImpl(getClass().getResourceAsStream("/illustrative.rdfp"));
+        checkRoundtrip(parser);
+    }
+
+    @Test
+    public void testRdfPatch() throws ParseException {
+        RdfPatchParserImpl parser = new RdfPatchParserImpl(getClass().getResourceAsStream("/rdf-patch.rdfp"));
+        checkRoundtrip(parser);
+    }
+
+    private void checkRoundtrip(RdfPatchParserImpl parser) throws ParseException {
+        final List<PatchLine> patch1 = parser.parsePatch();
+
+        final String serialized = RdfPatchIO.toString(patch1);
+
+        parser.ReInit(new StringReader(serialized));
+        final List<PatchLine> patch2 = parser.parsePatch();
+
+        for (int i = 0; i < patch1.size(); i++) {
+            Assert.assertEquals(patch1.get(i), patch2.get(i));
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/marmotta/blob/14d61a17/commons/marmotta-sesame-tools/marmotta-util-rdfpatch/src/test/java/org/apache/marmotta/platform/ldp/patch/RdfPatchUtilTest.java
----------------------------------------------------------------------
diff --git a/commons/marmotta-sesame-tools/marmotta-util-rdfpatch/src/test/java/org/apache/marmotta/platform/ldp/patch/RdfPatchUtilTest.java b/commons/marmotta-sesame-tools/marmotta-util-rdfpatch/src/test/java/org/apache/marmotta/platform/ldp/patch/RdfPatchUtilTest.java
index d734c50..b03b1ef 100644
--- a/commons/marmotta-sesame-tools/marmotta-util-rdfpatch/src/test/java/org/apache/marmotta/platform/ldp/patch/RdfPatchUtilTest.java
+++ b/commons/marmotta-sesame-tools/marmotta-util-rdfpatch/src/test/java/org/apache/marmotta/platform/ldp/patch/RdfPatchUtilTest.java
@@ -19,7 +19,11 @@ package org.apache.marmotta.platform.ldp.patch;
 
 import org.apache.marmotta.platform.ldp.patch.InvalidPatchDocumentException;
 import org.apache.marmotta.platform.ldp.patch.RdfPatchUtil;
+import org.apache.marmotta.platform.ldp.patch.model.PatchLine;
+import org.apache.marmotta.platform.ldp.patch.model.WildcardStatement;
 import org.apache.marmotta.platform.ldp.patch.parser.ParseException;
+import org.hamcrest.CoreMatchers;
+import org.hamcrest.collection.IsIterableContainingInOrder;
 import org.junit.After;
 import org.junit.Assert;
 import org.junit.Before;
@@ -27,6 +31,7 @@ import org.junit.Test;
 import org.openrdf.model.Literal;
 import org.openrdf.model.URI;
 import org.openrdf.model.impl.LiteralImpl;
+import org.openrdf.model.impl.StatementImpl;
 import org.openrdf.model.impl.URIImpl;
 import org.openrdf.model.vocabulary.FOAF;
 import org.openrdf.repository.Repository;
@@ -36,6 +41,8 @@ import org.openrdf.repository.sail.SailRepository;
 import org.openrdf.rio.RDFFormat;
 import org.openrdf.sail.memory.MemoryStore;
 
+import java.util.List;
+
 /**
  * Testing RdfPatchUtil
  *
@@ -118,4 +125,40 @@ public class RdfPatchUtilTest {
             con.close();
         }
     }
+
+    @Test
+    public void testDiff() throws Exception {
+        final RepositoryConnection con1 = repository.getConnection();
+        final URI mbox = con1.getValueFactory().createURI("mailto:charlie@example.com");
+        try {
+            con1.begin();
+            con1.remove(bob, FOAF.KNOWS, charlie);
+            con1.add(bob, FOAF.KNOWS, alice);
+            con1.add(charlie, FOAF.MBOX, mbox);
+            con1.commit();
+        } finally {
+            con1.close();
+        }
+
+        final Repository orig = new SailRepository(new MemoryStore());
+        orig.initialize();
+        final RepositoryConnection con = orig.getConnection();
+        try {
+            con.begin();
+            con.add(this.getClass().getResourceAsStream("/illustrative.in.ttl"), BASE_URI, RDFFormat.TURTLE);
+            con.commit();
+        } finally {
+            con.close();
+        }
+
+        // Optimize here to have a predictable order of the patch lines.
+        final List<PatchLine> diff = RdfPatchUtil.diff(orig, repository, true);
+        Assert.assertEquals("Wrong patch size", 3, diff.size());
+
+        Assert.assertThat("Wrong patch", diff, IsIterableContainingInOrder.contains(
+                new PatchLine(PatchLine.Operator.DELETE, new WildcardStatement(bob, FOAF.KNOWS, charlie)),
+                new PatchLine(PatchLine.Operator.ADD, new WildcardStatement(null, null, alice)),
+                new PatchLine(PatchLine.Operator.ADD, new WildcardStatement(charlie, FOAF.MBOX, mbox))
+                ));
+    }
 }


[03/10] git commit: MARMOTTA-440: Moved rdf-patch to a separate module (marmotta-utils-rdfpatch)

Posted by ja...@apache.org.
MARMOTTA-440: Moved rdf-patch to a separate module (marmotta-utils-rdfpatch)


Project: http://git-wip-us.apache.org/repos/asf/marmotta/repo
Commit: http://git-wip-us.apache.org/repos/asf/marmotta/commit/2a509e76
Tree: http://git-wip-us.apache.org/repos/asf/marmotta/tree/2a509e76
Diff: http://git-wip-us.apache.org/repos/asf/marmotta/diff/2a509e76

Branch: refs/heads/ldp
Commit: 2a509e76638c1b3611a94c10988c4d0dee238e8d
Parents: 9377ec1
Author: Jakob Frank <ja...@apache.org>
Authored: Thu Feb 27 12:14:59 2014 +0100
Committer: Jakob Frank <ja...@apache.org>
Committed: Thu Feb 27 17:38:15 2014 +0100

----------------------------------------------------------------------
 .../marmotta-util-rdfpatch/pom.xml              | 152 +++++++++++++
 .../patch/InvalidPatchDocumentException.java    |  41 ++++
 .../platform/ldp/patch/RdfPatchUtil.java        | 174 +++++++++++++++
 .../platform/ldp/patch/model/PatchLine.java     |  68 ++++++
 .../ldp/patch/model/WildcardStatement.java      | 108 +++++++++
 .../ldp/patch/parser/RdfPatchParser.java        |  47 ++++
 .../src/main/javacc/rdf-patch.jj                | 219 +++++++++++++++++++
 .../platform/ldp/patch/RdfPatchUtilTest.java    | 121 ++++++++++
 .../patch/parser/RdfPatchParserImplTest.java    | 100 +++++++++
 .../src/test/resources/illustrative.in.ttl      |  28 +++
 .../src/test/resources/illustrative.rdfp        |  25 +++
 .../src/test/resources/rdf-patch.rdfp           |  98 +++++++++
 commons/marmotta-sesame-tools/pom.xml           |   1 +
 platform/marmotta-ldp/pom.xml                   |  40 +---
 .../patch/InvalidPatchDocumentException.java    |  41 ----
 .../platform/ldp/patch/RdfPatchUtil.java        | 174 ---------------
 .../platform/ldp/patch/model/PatchLine.java     |  68 ------
 .../ldp/patch/model/WildcardStatement.java      | 108 ---------
 .../ldp/patch/parser/RdfPatchParser.java        |  47 ----
 .../marmotta-ldp/src/main/javacc/rdf-patch.jj   | 219 -------------------
 .../platform/ldp/patch/RdfPatchUtilTest.java    | 119 ----------
 .../patch/parser/RdfPatchParserImplTest.java    | 100 ---------
 .../src/test/resources/illustrative.in.ttl      |  28 ---
 .../src/test/resources/illustrative.rdfp        |  25 ---
 .../src/test/resources/rdf-patch.rdfp           |  98 ---------
 25 files changed, 1187 insertions(+), 1062 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/marmotta/blob/2a509e76/commons/marmotta-sesame-tools/marmotta-util-rdfpatch/pom.xml
----------------------------------------------------------------------
diff --git a/commons/marmotta-sesame-tools/marmotta-util-rdfpatch/pom.xml b/commons/marmotta-sesame-tools/marmotta-util-rdfpatch/pom.xml
new file mode 100644
index 0000000..ce35792
--- /dev/null
+++ b/commons/marmotta-sesame-tools/marmotta-util-rdfpatch/pom.xml
@@ -0,0 +1,152 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+        http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>org.apache.marmotta</groupId>
+        <artifactId>marmotta-parent</artifactId>
+        <version>3.2.0-SNAPSHOT</version>
+        <relativePath>../../../parent/</relativePath>
+    </parent>
+
+    <artifactId>marmotta-util-rdfpatch</artifactId>
+    <packaging>jar</packaging>
+
+    <name>Marmotta Sesame Tools: RDF Patch Util</name>
+
+    <description>Util-Methods to apply 'application/rdf-patch' changesets to Sesame</description>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.zeroturnaround</groupId>
+                <artifactId>jrebel-maven-plugin</artifactId>
+                <configuration>
+                    <relativePath>../../../</relativePath>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>javacc-maven-plugin</artifactId>
+                <version>2.6</version>
+                <executions>
+                    <execution>
+                        <id>javacc</id>
+                        <goals>
+                            <goal>javacc</goal>
+                        </goals>
+                        <configuration>
+                            <lookAhead>1</lookAhead>
+                            <isStatic>false</isStatic>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>build-helper-maven-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>add-source</id>
+                        <phase>generate-sources</phase>
+                        <goals>
+                            <goal>add-source</goal>
+                        </goals>
+                        <configuration>
+                            <sources>
+                                <source>${project.build.directory}/generated-sources/javacc/</source>
+                            </sources>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+
+    <dependencies>
+        <!-- data model -->
+        <dependency>
+            <groupId>org.openrdf.sesame</groupId>
+            <artifactId>sesame-model</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.openrdf.sesame</groupId>
+            <artifactId>sesame-repository-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.openrdf.sesame</groupId>
+            <artifactId>sesame-rio-turtle</artifactId>
+            <!-- rdf-patch only uses a single Util-Class from the turtle module -->
+            <exclusions>
+                <exclusion>
+                    <groupId>org.openrdf.sesame</groupId>
+                    <artifactId>sesame-rio-datatypes</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.openrdf.sesame</groupId>
+                    <artifactId>sesame-rio-languages</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+
+        <!-- Utilities -->
+        <dependency>
+            <groupId>org.apache.commons</groupId>
+            <artifactId>commons-lang3</artifactId>
+        </dependency>
+
+        <!-- Testing -->
+        <dependency>
+            <artifactId>junit</artifactId>
+            <groupId>junit</groupId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <artifactId>hamcrest-core</artifactId>
+            <groupId>org.hamcrest</groupId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <artifactId>hamcrest-library</artifactId>
+            <groupId>org.hamcrest</groupId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>ch.qos.logback</groupId>
+            <artifactId>logback-core</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>ch.qos.logback</groupId>
+            <artifactId>logback-classic</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.openrdf.sesame</groupId>
+            <artifactId>sesame-sail-memory</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.openrdf.sesame</groupId>
+            <artifactId>sesame-repository-sail</artifactId>
+            <scope>test</scope>
+        </dependency>
+
+    </dependencies>
+</project>

http://git-wip-us.apache.org/repos/asf/marmotta/blob/2a509e76/commons/marmotta-sesame-tools/marmotta-util-rdfpatch/src/main/java/org/apache/marmotta/platform/ldp/patch/InvalidPatchDocumentException.java
----------------------------------------------------------------------
diff --git a/commons/marmotta-sesame-tools/marmotta-util-rdfpatch/src/main/java/org/apache/marmotta/platform/ldp/patch/InvalidPatchDocumentException.java b/commons/marmotta-sesame-tools/marmotta-util-rdfpatch/src/main/java/org/apache/marmotta/platform/ldp/patch/InvalidPatchDocumentException.java
new file mode 100644
index 0000000..a5128a7
--- /dev/null
+++ b/commons/marmotta-sesame-tools/marmotta-util-rdfpatch/src/main/java/org/apache/marmotta/platform/ldp/patch/InvalidPatchDocumentException.java
@@ -0,0 +1,41 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.marmotta.platform.ldp.patch;
+
+/**
+ * Exception thrown if a PatchDocument (i.e. a List of {@link org.apache.marmotta.platform.ldp.patch.model.PatchLine}s)
+ * cannot be evauated, e.g. because a wildcard ({@code R}) was never defined before.
+ */
+public class InvalidPatchDocumentException extends Exception {
+
+    public InvalidPatchDocumentException() {
+        super();
+    }
+
+    public InvalidPatchDocumentException(String message) {
+        super(message);
+    }
+
+    public InvalidPatchDocumentException(String message, Throwable cause) {
+        super(message, cause);
+    }
+
+    public InvalidPatchDocumentException(Throwable cause) {
+        super(cause);
+    }
+}

http://git-wip-us.apache.org/repos/asf/marmotta/blob/2a509e76/commons/marmotta-sesame-tools/marmotta-util-rdfpatch/src/main/java/org/apache/marmotta/platform/ldp/patch/RdfPatchUtil.java
----------------------------------------------------------------------
diff --git a/commons/marmotta-sesame-tools/marmotta-util-rdfpatch/src/main/java/org/apache/marmotta/platform/ldp/patch/RdfPatchUtil.java b/commons/marmotta-sesame-tools/marmotta-util-rdfpatch/src/main/java/org/apache/marmotta/platform/ldp/patch/RdfPatchUtil.java
new file mode 100644
index 0000000..e4d073b
--- /dev/null
+++ b/commons/marmotta-sesame-tools/marmotta-util-rdfpatch/src/main/java/org/apache/marmotta/platform/ldp/patch/RdfPatchUtil.java
@@ -0,0 +1,174 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.marmotta.platform.ldp.patch;
+
+import org.apache.commons.io.IOUtils;
+import org.apache.marmotta.platform.ldp.patch.model.PatchLine;
+import org.apache.marmotta.platform.ldp.patch.parser.ParseException;
+import org.apache.marmotta.platform.ldp.patch.parser.RdfPatchParser;
+import org.apache.marmotta.platform.ldp.patch.parser.RdfPatchParserImpl;
+import org.openrdf.model.Resource;
+import org.openrdf.model.Statement;
+import org.openrdf.model.URI;
+import org.openrdf.model.Value;
+import org.openrdf.repository.Repository;
+import org.openrdf.repository.RepositoryConnection;
+import org.openrdf.repository.RepositoryException;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.List;
+
+/**
+ * RdfPatchUtil - Util-Class to apply rdf-patches on a {@link Repository} or {@link org.openrdf.repository.RepositoryConnection}
+ *
+ * @author Jakob Frank
+ */
+public class RdfPatchUtil {
+
+    /**
+     * Apply the provided patch to the repository
+     * @param repository the {@link org.openrdf.repository.Repository} to patch
+     * @param patch the patch to apply
+     * @param contexts restrict changes to these contexts (leave empty to apply to <em>all</em> contexts)
+     * @throws ParseException if the patch could not be parsed
+     * @throws InvalidPatchDocumentException if the patch is invalid
+     */
+    public static void applyPatch(Repository repository, String patch, Resource... contexts) throws RepositoryException, ParseException, InvalidPatchDocumentException {
+        applyPatch(repository, getPatch(patch), contexts);
+    }
+
+    /**
+     * Apply the provided patch to the repository
+     * @param repository the {@link org.openrdf.repository.Repository} to patch
+     * @param patchSource the patch to apply
+     * @param contexts restrict changes to these contexts (leave empty to apply to <em>all</em> contexts)
+     * @throws ParseException if the patch could not be parsed
+     * @throws InvalidPatchDocumentException if the patch is invalid
+     */
+    public static void applyPatch(Repository repository, InputStream patchSource, Resource... contexts) throws RepositoryException, ParseException, InvalidPatchDocumentException {
+        applyPatch(repository, getPatch(patchSource), contexts);
+    }
+
+    /**
+     * Apply the provided patch to the repository
+     * @param connection the {@link org.openrdf.repository.RepositoryConnection} to patch
+     * @param patch the patch to apply
+     * @param contexts restrict changes to these contexts (leave empty to apply to <em>all</em> contexts)
+     * @throws ParseException if the patch could not be parsed
+     * @throws InvalidPatchDocumentException if the patch is invalid
+     */
+    public static void applyPatch(RepositoryConnection connection, String patch, Resource... contexts) throws RepositoryException, ParseException, InvalidPatchDocumentException {
+        applyPatch(connection, getPatch(patch), contexts);
+    }
+
+    /**
+     * Apply the provided patch to the repository
+     * @param connection the {@link org.openrdf.repository.RepositoryConnection} to patch
+     * @param patchSource the patch to apply
+     * @param contexts restrict changes to these contexts (leave empty to apply to <em>all</em> contexts)
+     * @throws ParseException if the patch could not be parsed
+     * @throws InvalidPatchDocumentException if the patch is invalid
+     */
+    public static void applyPatch(RepositoryConnection connection, InputStream patchSource, Resource... contexts) throws RepositoryException, ParseException, InvalidPatchDocumentException {
+        applyPatch(connection, getPatch(patchSource), contexts);
+    }
+
+    /**
+     * Apply the provided patch to the repository
+     * @param repository the {@link org.openrdf.repository.Repository} to patch
+     * @param patch the patch to apply
+     * @param contexts restrict changes to these contexts (leave empty to apply to <em>all</em> contexts)
+     * @throws InvalidPatchDocumentException if the patch is invalid
+     */
+    public static void applyPatch(Repository repository, List<PatchLine> patch, Resource... contexts) throws RepositoryException, InvalidPatchDocumentException {
+        RepositoryConnection con = repository.getConnection();
+        try {
+            con.begin();
+            applyPatch(con, patch, contexts);
+            con.commit();
+        } catch (final Throwable t) {
+            con.rollback();
+            throw t;
+        } finally {
+            con.close();
+        }
+    }
+
+    /**
+     * Apply the provided patch to the repository
+     * @param connection the {@link org.openrdf.repository.RepositoryConnection} to patch
+     * @param patch the patch to apply
+     * @param contexts restrict changes to these contexts (leave empty to apply to <em>all</em> contexts)
+     * @throws InvalidPatchDocumentException if the patch is invalid
+     */
+    public static void applyPatch(RepositoryConnection connection, List<PatchLine> patch, Resource... contexts) throws RepositoryException, InvalidPatchDocumentException {
+        Resource subject = null;
+        URI predicate = null;
+        Value object = null;
+
+        for (PatchLine patchLine : patch) {
+            final Statement statement = patchLine.getStatement();
+            subject = statement.getSubject()!=null? statement.getSubject():subject;
+            predicate = statement.getPredicate()!=null?statement.getPredicate():predicate;
+            object = statement.getObject()!=null?statement.getObject():object;
+
+            if (subject == null || predicate == null || object == null) {
+                if (subject == null) {
+                    throw new InvalidPatchDocumentException("Cannot resolve 'R' - subject was never set");
+                }
+                if (predicate == null) {
+                    throw new InvalidPatchDocumentException("Cannot resolve 'R' - predicate was never set");
+                }
+                if (object == null) {
+                    throw new InvalidPatchDocumentException("Cannot resolve 'R' - object was never set");
+                }
+            }
+
+            switch (patchLine.getOperator()) {
+                case ADD:
+                    connection.add(subject, predicate, object, contexts);
+                    break;
+                case DELETE:
+                    connection.remove(subject, predicate, object, contexts);
+                    break;
+                default:
+                    throw new IllegalArgumentException("Unknown patch operation: " + patchLine.getOperator());
+            }
+        }
+    }
+
+    private static List<PatchLine> getPatch(InputStream is) throws ParseException {
+        RdfPatchParser parser = new RdfPatchParserImpl(is);
+        return parser.parsePatch();
+    }
+
+    private static List<PatchLine> getPatch(String patch) throws ParseException {
+        try (InputStream is = IOUtils.toInputStream(patch)) {
+            return getPatch(is);
+        } catch (IOException e) {
+            // You can always close an InputStream on a String
+            assert(false);
+            return null;
+        }
+    }
+
+    private RdfPatchUtil() {
+        // static access only
+    }
+}

http://git-wip-us.apache.org/repos/asf/marmotta/blob/2a509e76/commons/marmotta-sesame-tools/marmotta-util-rdfpatch/src/main/java/org/apache/marmotta/platform/ldp/patch/model/PatchLine.java
----------------------------------------------------------------------
diff --git a/commons/marmotta-sesame-tools/marmotta-util-rdfpatch/src/main/java/org/apache/marmotta/platform/ldp/patch/model/PatchLine.java b/commons/marmotta-sesame-tools/marmotta-util-rdfpatch/src/main/java/org/apache/marmotta/platform/ldp/patch/model/PatchLine.java
new file mode 100644
index 0000000..fe533fd
--- /dev/null
+++ b/commons/marmotta-sesame-tools/marmotta-util-rdfpatch/src/main/java/org/apache/marmotta/platform/ldp/patch/model/PatchLine.java
@@ -0,0 +1,68 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.marmotta.platform.ldp.patch.model;
+
+import org.openrdf.model.Statement;
+import org.openrdf.model.vocabulary.RDFS;
+
+/**
+ * A single PatchLine, i.e. a operation of a Patch.
+ * Can be either a {@code ADD} od {@code DELETE}
+ */
+public class PatchLine {
+    public enum Operator {
+        ADD("A"),
+        DELETE("D");
+
+        private final String cmd;
+
+        private Operator(String cmd) {
+            this.cmd = cmd;
+        }
+
+        public String getCommand() {
+            return cmd;
+        }
+
+        public static Operator fromCommand(String cmd) {
+            for (Operator op: values()) {
+                if (op.cmd.equalsIgnoreCase(cmd)) {
+                    return op;
+                }
+            }
+            throw new IllegalArgumentException("Unknown Operator: " + cmd);
+        }
+    }
+
+
+    private final Operator operator;
+    private final Statement statement;
+
+    public PatchLine(Operator operator, Statement statement) {
+        this.operator = operator;
+        this.statement = statement;
+    }
+
+    public Operator getOperator() {
+        return operator;
+    }
+
+    public Statement getStatement() {
+        return statement;
+    }
+}

http://git-wip-us.apache.org/repos/asf/marmotta/blob/2a509e76/commons/marmotta-sesame-tools/marmotta-util-rdfpatch/src/main/java/org/apache/marmotta/platform/ldp/patch/model/WildcardStatement.java
----------------------------------------------------------------------
diff --git a/commons/marmotta-sesame-tools/marmotta-util-rdfpatch/src/main/java/org/apache/marmotta/platform/ldp/patch/model/WildcardStatement.java b/commons/marmotta-sesame-tools/marmotta-util-rdfpatch/src/main/java/org/apache/marmotta/platform/ldp/patch/model/WildcardStatement.java
new file mode 100644
index 0000000..4180a23
--- /dev/null
+++ b/commons/marmotta-sesame-tools/marmotta-util-rdfpatch/src/main/java/org/apache/marmotta/platform/ldp/patch/model/WildcardStatement.java
@@ -0,0 +1,108 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.marmotta.platform.ldp.patch.model;
+
+import org.apache.commons.lang3.ObjectUtils;
+import org.openrdf.model.Resource;
+import org.openrdf.model.Statement;
+import org.openrdf.model.URI;
+import org.openrdf.model.Value;
+
+/**
+ * The Statement in a RdfPatch.
+ * {@code null}-Values represent {@code R}epeat from the <a href="http://afs.github.io/rdf-patch/#rdf-patch-details">Spec</a>.
+ */
+public class WildcardStatement implements Statement {
+
+
+    private final Value object;
+    private final URI predicate;
+    private final Resource subject;
+
+    public WildcardStatement(Resource subject, URI predicate, Value object) {
+        this.object = object;
+        this.predicate = predicate;
+        this.subject = subject;
+    }
+
+    @Override
+    public Resource getSubject() {
+        return subject;
+    }
+
+    @Override
+    public URI getPredicate() {
+        return predicate;
+    }
+
+    @Override
+    public Value getObject() {
+        return object;
+    }
+
+    @Override
+    public Resource getContext() {
+        return null;
+    }
+
+    @Override
+    public int hashCode() {
+        return 961 * (subject!=null?subject.hashCode():0) + 31 * (predicate!=null?predicate.hashCode():0) + (object!=null?object.hashCode():0);
+    }
+
+    @Override
+    public boolean equals(Object other) {
+        if (this == other) {
+            return true;
+        }
+
+        if (other instanceof Statement) {
+            Statement otherSt = (Statement)other;
+
+            // The object is potentially the cheapest to check, as types
+            // of these references might be different.
+
+            // In general the number of different predicates in sets of
+            // statements is the smallest, so predicate equality is checked
+            // last.
+            return ObjectUtils.equals(object, otherSt.getObject()) && ObjectUtils.equals(subject, otherSt.getSubject())
+                    && ObjectUtils.equals(predicate, otherSt.getPredicate());
+        }
+
+        return false;
+    }
+
+    /**
+     * Gives a String-representation of this Statement that can be used for
+     * debugging.
+     */
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder(256);
+
+        sb.append("(");
+        sb.append(getSubject());
+        sb.append(", ");
+        sb.append(getPredicate());
+        sb.append(", ");
+        sb.append(getObject());
+        sb.append(")");
+
+        return sb.toString();
+    }
+}

http://git-wip-us.apache.org/repos/asf/marmotta/blob/2a509e76/commons/marmotta-sesame-tools/marmotta-util-rdfpatch/src/main/java/org/apache/marmotta/platform/ldp/patch/parser/RdfPatchParser.java
----------------------------------------------------------------------
diff --git a/commons/marmotta-sesame-tools/marmotta-util-rdfpatch/src/main/java/org/apache/marmotta/platform/ldp/patch/parser/RdfPatchParser.java b/commons/marmotta-sesame-tools/marmotta-util-rdfpatch/src/main/java/org/apache/marmotta/platform/ldp/patch/parser/RdfPatchParser.java
new file mode 100644
index 0000000..d78d7c5
--- /dev/null
+++ b/commons/marmotta-sesame-tools/marmotta-util-rdfpatch/src/main/java/org/apache/marmotta/platform/ldp/patch/parser/RdfPatchParser.java
@@ -0,0 +1,47 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.marmotta.platform.ldp.patch.parser;
+
+import org.apache.marmotta.platform.ldp.patch.model.PatchLine;
+
+import java.util.List;
+
+/**
+ * Parser for the {@code application/rdf-patch} format.
+ *
+ * @see <a href="http://afs.github.io/rdf-patch/">http://afs.github.io/rdf-patch/</a>
+ */
+public interface RdfPatchParser {
+
+    /**
+     * Mime-Type: {@value}
+     */
+    public static final String MIME_TYPE = "application/rdf-patch";
+
+    /**
+     * Default File extension for rdf-patch: {@value}
+     */
+    public static final String FILE_EXTENSION = "rdfp";
+
+    /**
+     * Parse the rdf-patch
+     * @return a List of {@link org.apache.marmotta.platform.ldp.patch.model.PatchLine}s
+     * @throws ParseException if the patch could not be parsed.
+     */
+    public List<PatchLine> parsePatch() throws ParseException;
+}

http://git-wip-us.apache.org/repos/asf/marmotta/blob/2a509e76/commons/marmotta-sesame-tools/marmotta-util-rdfpatch/src/main/javacc/rdf-patch.jj
----------------------------------------------------------------------
diff --git a/commons/marmotta-sesame-tools/marmotta-util-rdfpatch/src/main/javacc/rdf-patch.jj b/commons/marmotta-sesame-tools/marmotta-util-rdfpatch/src/main/javacc/rdf-patch.jj
new file mode 100644
index 0000000..7b47aaf
--- /dev/null
+++ b/commons/marmotta-sesame-tools/marmotta-util-rdfpatch/src/main/javacc/rdf-patch.jj
@@ -0,0 +1,219 @@
+/*
+ * Copyright (c) 2013 The Apache Software Foundation
+ *
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+ options
+{
+  STATIC=false;
+  LOOKAHEAD=1;
+  CACHE_TOKENS=true;
+//  FORCE_LA_CHECK=true;
+//  CHOICE_AMBIGUITY_CHECK=5;
+  //LOOKAHEAD=2147483647;
+  //DEBUG_PARSER=true;
+  //DEBUG_TOKEN_MANAGER=true;
+  //DEBUG_LOOKAHEAD=true;
+}
+
+PARSER_BEGIN(RdfPatchParserImpl)
+package org.apache.marmotta.platform.ldp.patch.parser;
+
+import org.apache.marmotta.platform.ldp.patch.model.PatchLine;
+import org.apache.marmotta.platform.ldp.patch.model.WildcardStatement;
+import org.openrdf.model.*;
+import org.openrdf.model.impl.ValueFactoryImpl;
+import org.openrdf.rio.turtle.TurtleUtil;
+
+import java.io.InputStream;
+import java.util.HashMap;
+import java.util.LinkedList;
+import java.util.List;
+
+public class RdfPatchParserImpl implements RdfPatchParser {
+
+    private HashMap<String, String> namespaces = new HashMap<String, String>();
+    private ValueFactory valueFactory = ValueFactoryImpl.getInstance();
+
+    public RdfPatchParserImpl(ValueFactory vf, InputStream is) {
+        this(is);
+        this.valueFactory = vf;
+    }
+
+    public RdfPatchParserImpl(ValueFactory vf, InputStream is, String enc) {
+        this(is, enc);
+        this.valueFactory = vf;
+    }
+
+    public void setValueFactory(ValueFactory vf) {
+        if (vf == null) throw new IllegalArgumentException("ValueFactory must not be null");
+        this.valueFactory = vf;
+    }
+
+    public ValueFactory getValueFactory() {
+        return this.valueFactory;
+    }
+
+
+    private URI createURI(String uri) {
+        return this.valueFactory.createURI(unwrapUri(uri));
+    }
+
+    private URI createURI(String prefix, String local) {
+        return this.valueFactory.createURI(namespaces.get(prefix)+local);
+    }
+
+    private URI createURIfromQname(String qname) {
+        final String[] split = qname.split(":", 2);
+        return createURI(split[0], split[1]);
+    }
+
+    private BNode createBNode(String id) {
+        return this.valueFactory.createBNode(id);
+    }
+
+    private Literal createLiteral(String value, String lang, URI type) throws ParseException {
+        try {
+            value = TurtleUtil.decodeString(value.substring(1, value.length() - 1));
+        } catch (IllegalArgumentException e) {
+            throw new ParseException(e.getMessage());
+        }
+        if (lang != null) {
+            return this.valueFactory.createLiteral(value, lang);
+        } else if (type != null) {
+            return this.valueFactory.createLiteral(value, type);
+        } else {
+            return this.valueFactory.createLiteral(value);
+        }
+    }
+
+    private Literal createLongLiteral(String value, String lang, URI type) throws ParseException {
+        value = value.substring(2, value.length() - 2);
+        return createLiteral(value, lang, type);
+    }
+
+    private String unwrapUri(String uri) {
+        if (uri.startsWith("<")) {
+            uri = uri.substring(1);
+        }
+        if (uri.endsWith(">")) {
+            uri = uri.substring(0, uri.length()-1);
+        }
+        return uri;
+    }
+
+}
+PARSER_END(RdfPatchParserImpl)
+
+SKIP : {
+ 	" "
+|	"\r"
+|	"\t"
+|	"\n"
+}
+
+MORE: {
+ "\"\"\"" : WithinLongString |
+ "\"" : WithinString
+}
+
+<WithinString> TOKEN: {
+  <STRLIT: (~["\\"])"\""> : DEFAULT
+}
+
+<WithinLongString> TOKEN: {
+  <STRLONGLIT: (~["\\"]) "\"\"\""> : DEFAULT
+}
+
+
+<WithinString> MORE: {
+  <~["\n","\r"]>
+}
+
+<WithinLongString> MORE: {
+  <~[]>
+}
+
+TOKEN : {
+  < OP:        ["A","D"] > |
+  < REPEAT:    "R" >  |
+  < UNDEFINED: "U" >  |
+  < PREFIX:    "@prefix" > |
+  < DOT:       "." >  |
+  < COLON:     ":" >  |
+  < IDENT:     ["a"-"z","A"-"Z","0"-"9","_"](["a"-"z","A"-"Z","0"-"9","_","'","-", "."])* > |
+  < URI:       "<" (~[ ">","<", "\"", "{", "}", "^", "\\", "|", "`", "\u0000"-"\u0020"])+ ">" > |
+  < BNODE:     "_:" <IDENT> > |
+  < QNAME:     (["a"-"z","A"-"Z","0"-"9"](["a"-"z","A"-"Z","0"-"9","_","'","-", "."])*)? <COLON> <IDENT> > |
+  < LANG:      "@" >  |
+  < TYPE:      "^^" >
+}
+
+SPECIAL_TOKEN : {
+  <COMMENT: "#" (~["\n","\r"])* ("\n"|"\r"|"\r\n")>
+}
+
+
+
+public List<PatchLine> parsePatch() : {
+    Token id, prefix, op;
+    Statement statement;
+    LinkedList<PatchLine> diff = new LinkedList<PatchLine>();
+    namespaces.clear();
+}
+{
+    ( <PREFIX> id = <IDENT> <COLON> prefix = <URI> <DOT> { namespaces.put(id.image, unwrapUri(prefix.image));} )*
+    (
+      op = <OP> statement = parseStatement() <DOT> { diff.add(new PatchLine(PatchLine.Operator.fromCommand(op.image), statement)); }
+    )*
+    <EOF>
+    {
+        return diff;
+    }
+}
+
+private Statement parseStatement() : {
+    Token t1 = null;
+    Token lVal = null, lLang = null;
+    Resource subject;
+    URI predicate, type = null;
+    Value object;
+}
+{
+    ( subject = parseURI() |
+        t1 = <BNODE> { subject = createBNode(t1.image.substring(2)); } |
+        <REPEAT> { subject = null; }
+    )
+    ( predicate = parseURI() |
+        <REPEAT> { predicate = null; }
+    )
+    ( object = parseURI() |
+        t1 = <BNODE> { object = createBNode(t1.image.substring(2)); } |
+        lVal = <STRLIT> (<LANG> lLang = <IDENT>)? (<TYPE> type = parseURI())? {
+            object = createLiteral(lVal.image, lLang!=null?lLang.image:null, type);
+        } |
+        lVal = <STRLONGLIT> (<LANG> lLang = <IDENT>)? (<TYPE> type = parseURI())? {
+            object = createLongLiteral(lVal.image, lLang!=null?lLang.image:null, type);
+        } |
+        <REPEAT> { object = null; }
+    )
+    { return new WildcardStatement(subject, predicate, object); }
+}
+
+private URI parseURI() : {
+    Token u;
+}
+{
+    u = <URI> { return createURI(u.image); } |
+    u = <QNAME> { return createURIfromQname(u.image); }
+}

http://git-wip-us.apache.org/repos/asf/marmotta/blob/2a509e76/commons/marmotta-sesame-tools/marmotta-util-rdfpatch/src/test/java/org/apache/marmotta/platform/ldp/patch/RdfPatchUtilTest.java
----------------------------------------------------------------------
diff --git a/commons/marmotta-sesame-tools/marmotta-util-rdfpatch/src/test/java/org/apache/marmotta/platform/ldp/patch/RdfPatchUtilTest.java b/commons/marmotta-sesame-tools/marmotta-util-rdfpatch/src/test/java/org/apache/marmotta/platform/ldp/patch/RdfPatchUtilTest.java
new file mode 100644
index 0000000..d734c50
--- /dev/null
+++ b/commons/marmotta-sesame-tools/marmotta-util-rdfpatch/src/test/java/org/apache/marmotta/platform/ldp/patch/RdfPatchUtilTest.java
@@ -0,0 +1,121 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.marmotta.platform.ldp.patch;
+
+import org.apache.marmotta.platform.ldp.patch.InvalidPatchDocumentException;
+import org.apache.marmotta.platform.ldp.patch.RdfPatchUtil;
+import org.apache.marmotta.platform.ldp.patch.parser.ParseException;
+import org.junit.After;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+import org.openrdf.model.Literal;
+import org.openrdf.model.URI;
+import org.openrdf.model.impl.LiteralImpl;
+import org.openrdf.model.impl.URIImpl;
+import org.openrdf.model.vocabulary.FOAF;
+import org.openrdf.repository.Repository;
+import org.openrdf.repository.RepositoryConnection;
+import org.openrdf.repository.RepositoryException;
+import org.openrdf.repository.sail.SailRepository;
+import org.openrdf.rio.RDFFormat;
+import org.openrdf.sail.memory.MemoryStore;
+
+/**
+ * Testing RdfPatchUtil
+ *
+ * @author Jakob Frank
+ */
+public class RdfPatchUtilTest {
+
+    public static final String BASE_URI = "http://example/";
+
+    private Repository repository;
+    private URI alice, bob, charlie;
+    private Literal lcBob, ucBob;
+
+    @Before
+    public void setUp() throws Exception {
+        repository = new SailRepository(new MemoryStore());
+        repository.initialize();
+
+        alice = repository.getValueFactory().createURI("http://example/alice");
+        bob = repository.getValueFactory().createURI("http://example/bob");
+        charlie = repository.getValueFactory().createURI("http://example/charlie");
+
+        lcBob = repository.getValueFactory().createLiteral("bob");
+        ucBob = repository.getValueFactory().createLiteral("Bob");
+
+        RepositoryConnection con = repository.getConnection();
+        try {
+            con.begin();
+            con.add(this.getClass().getResourceAsStream("/illustrative.in.ttl"), BASE_URI, RDFFormat.TURTLE);
+            con.commit();
+        } finally {
+            con.close();
+        }
+    }
+
+    @After
+    public void tearDown() throws Exception {
+        if (repository != null) {
+            repository.shutDown();
+        }
+    }
+
+    @Test
+    public void testApplyPatch() throws Exception {
+        RepositoryConnection con = repository.getConnection();
+        try {
+            con.begin();
+
+            Assert.assertTrue(con.hasStatement(bob, FOAF.NAME, lcBob, false));
+            Assert.assertFalse(con.hasStatement(bob, FOAF.NAME, ucBob, false));
+            Assert.assertFalse(con.hasStatement(bob, FOAF.KNOWS, alice, false));
+            Assert.assertTrue(con.hasStatement(bob, FOAF.KNOWS, charlie, false));
+
+            RdfPatchUtil.applyPatch(con, this.getClass().getResourceAsStream("/illustrative.rdfp"));
+
+            Assert.assertFalse(con.hasStatement(bob, FOAF.NAME, lcBob, false));
+            Assert.assertTrue(con.hasStatement(bob, FOAF.NAME, ucBob, false));
+            Assert.assertTrue(con.hasStatement(bob, FOAF.KNOWS, alice, false));
+            Assert.assertFalse(con.hasStatement(bob, FOAF.KNOWS, charlie, false));
+
+            con.commit();
+        } finally {
+            con.close();
+        }
+    }
+
+    @Test(expected = InvalidPatchDocumentException.class)
+    public void testInvalidPatchDocumentException() throws RepositoryException, ParseException, InvalidPatchDocumentException {
+        RepositoryConnection con = repository.getConnection();
+        try {
+            final String invalidPatch = "A <http://example/foo> R <http://example/bar> .";
+
+            RdfPatchUtil.applyPatch(con, invalidPatch);
+
+            Assert.fail("applyPatch should throw an InvalidPatchDocumentException");
+        } catch (final Throwable t) {
+            con.rollback();
+            throw t;
+        } finally {
+            con.close();
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/marmotta/blob/2a509e76/commons/marmotta-sesame-tools/marmotta-util-rdfpatch/src/test/java/org/apache/marmotta/platform/ldp/patch/parser/RdfPatchParserImplTest.java
----------------------------------------------------------------------
diff --git a/commons/marmotta-sesame-tools/marmotta-util-rdfpatch/src/test/java/org/apache/marmotta/platform/ldp/patch/parser/RdfPatchParserImplTest.java b/commons/marmotta-sesame-tools/marmotta-util-rdfpatch/src/test/java/org/apache/marmotta/platform/ldp/patch/parser/RdfPatchParserImplTest.java
new file mode 100644
index 0000000..c03cbf5
--- /dev/null
+++ b/commons/marmotta-sesame-tools/marmotta-util-rdfpatch/src/test/java/org/apache/marmotta/platform/ldp/patch/parser/RdfPatchParserImplTest.java
@@ -0,0 +1,100 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.marmotta.platform.ldp.patch.parser;
+
+import org.apache.marmotta.platform.ldp.patch.model.PatchLine;
+import org.junit.After;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+import org.openrdf.model.*;
+import org.openrdf.model.impl.LiteralImpl;
+import org.openrdf.model.impl.URIImpl;
+import org.openrdf.model.vocabulary.FOAF;
+
+import java.util.Iterator;
+import java.util.List;
+
+/**
+ * Testing the RdfPatchParserImpl
+ *
+ * @author Jakob Frank
+ */
+public class RdfPatchParserImplTest {
+
+
+    private RdfPatchParserImpl parser;
+    private URI alice, bob, charlie;
+    private Literal lcBob, ucBob;
+
+    @Before
+    public void setUp() {
+        parser = new RdfPatchParserImpl(this.getClass().getResourceAsStream("/illustrative.rdfp"));
+
+        alice = new URIImpl("http://example/alice");
+        bob = new URIImpl("http://example/bob");
+        charlie = new URIImpl("http://example/charlie");
+
+        lcBob = new LiteralImpl("bob");
+        ucBob = new LiteralImpl("Bob");
+    }
+
+    @After
+    public void tearDown() {
+        parser = null;
+    }
+
+
+    @Test
+    public void testParsing() throws ParseException {
+        List<PatchLine> patchLines = parser.parsePatch();
+
+        Iterator<PatchLine> it = patchLines.iterator();
+
+        Assert.assertTrue(it.hasNext());
+        checkPatchLine(it.next(), PatchLine.Operator.DELETE, bob, FOAF.NAME, lcBob);
+
+        Assert.assertTrue(it.hasNext());
+        checkPatchLine(it.next(), PatchLine.Operator.ADD, bob, FOAF.NAME, ucBob);
+
+        Assert.assertTrue(it.hasNext());
+        checkPatchLine(it.next(), PatchLine.Operator.ADD, null, FOAF.KNOWS, alice);
+
+        Assert.assertTrue(it.hasNext());
+        checkPatchLine(it.next(), PatchLine.Operator.DELETE, null, null, charlie);
+    }
+
+    private void checkPatchLine(PatchLine line, PatchLine.Operator operator, Resource subejct, URI predicate, Value object) {
+        Assert.assertEquals("Wrong patch operation", operator, line.getOperator());
+
+        Statement statement = line.getStatement();
+        Assert.assertEquals("Wrong subject", subejct, statement.getSubject());
+        Assert.assertEquals("Wrong predicate", predicate, statement.getPredicate());
+        Assert.assertEquals("Wrong object", object, statement.getObject());
+    }
+
+    @Test
+    public void testFullParsing() throws ParseException {
+        parser.ReInit(getClass().getResourceAsStream("/rdf-patch.rdfp"));
+
+        List<PatchLine> patchLines = parser.parsePatch();
+        Assert.assertNotNull(patchLines);
+        Assert.assertEquals(22, patchLines.size());
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/marmotta/blob/2a509e76/commons/marmotta-sesame-tools/marmotta-util-rdfpatch/src/test/resources/illustrative.in.ttl
----------------------------------------------------------------------
diff --git a/commons/marmotta-sesame-tools/marmotta-util-rdfpatch/src/test/resources/illustrative.in.ttl b/commons/marmotta-sesame-tools/marmotta-util-rdfpatch/src/test/resources/illustrative.in.ttl
new file mode 100644
index 0000000..d52213a
--- /dev/null
+++ b/commons/marmotta-sesame-tools/marmotta-util-rdfpatch/src/test/resources/illustrative.in.ttl
@@ -0,0 +1,28 @@
+#
+#  Licensed to the Apache Software Foundation (ASF) under one
+#  or more contributor license agreements. See the NOTICE file
+#  distributed with this work for additional information
+#  regarding copyright ownership. The ASF licenses this file
+#  to you under the Apache License, Version 2.0 (the
+#  "License"); you may not use this file except in compliance
+#  with the License.  You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+#  Unless required by applicable law or agreed to in writing, software
+#  distributed under the License is distributed on an "AS IS" BASIS,
+#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#  See the License for the specific language governing permissions and
+#  limitations under the License.
+#
+@prefix  foaf: <http://xmlns.com/foaf/0.1/> .
+
+<http://example/bob> a foaf:Person;
+    foaf:name "bob" ;
+    foaf:knows <http://example/charlie>.
+
+<http://example/alice> a foaf:Person;
+    foaf:name "Alice" .
+
+<http://example/charlie> a foaf:Person;
+    foaf:name "Charlie" .

http://git-wip-us.apache.org/repos/asf/marmotta/blob/2a509e76/commons/marmotta-sesame-tools/marmotta-util-rdfpatch/src/test/resources/illustrative.rdfp
----------------------------------------------------------------------
diff --git a/commons/marmotta-sesame-tools/marmotta-util-rdfpatch/src/test/resources/illustrative.rdfp b/commons/marmotta-sesame-tools/marmotta-util-rdfpatch/src/test/resources/illustrative.rdfp
new file mode 100644
index 0000000..e5c0ab9
--- /dev/null
+++ b/commons/marmotta-sesame-tools/marmotta-util-rdfpatch/src/test/resources/illustrative.rdfp
@@ -0,0 +1,25 @@
+# 
+#  Licensed to the Apache Software Foundation (ASF) under one
+#  or more contributor license agreements. See the NOTICE file
+#  distributed with this work for additional information
+#  regarding copyright ownership. The ASF licenses this file
+#  to you under the Apache License, Version 2.0 (the
+#  "License"); you may not use this file except in compliance
+#  with the License.  You may obtain a copy of the License at
+# 
+#      http://www.apache.org/licenses/LICENSE-2.0
+# 
+#  Unless required by applicable law or agreed to in writing, software
+#  distributed under the License is distributed on an "AS IS" BASIS,
+#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#  See the License for the specific language governing permissions and
+#  limitations under the License.
+#
+@prefix  foaf: <http://xmlns.com/foaf/0.1/> .
+# Fix Bobs name
+D <http://example/bob> foaf:name "bob" .
+A <http://example/bob> foaf:name "Bob" .
+# At ApacheCon EU, Bob met Alice
+A R foaf:knows <http://example/alice> .
+# Bob and Charlie had a fight
+D R R <http://example/charlie> .

http://git-wip-us.apache.org/repos/asf/marmotta/blob/2a509e76/commons/marmotta-sesame-tools/marmotta-util-rdfpatch/src/test/resources/rdf-patch.rdfp
----------------------------------------------------------------------
diff --git a/commons/marmotta-sesame-tools/marmotta-util-rdfpatch/src/test/resources/rdf-patch.rdfp b/commons/marmotta-sesame-tools/marmotta-util-rdfpatch/src/test/resources/rdf-patch.rdfp
new file mode 100644
index 0000000..25d4829
--- /dev/null
+++ b/commons/marmotta-sesame-tools/marmotta-util-rdfpatch/src/test/resources/rdf-patch.rdfp
@@ -0,0 +1,98 @@
+#
+#  Licensed to the Apache Software Foundation (ASF) under one
+#  or more contributor license agreements. See the NOTICE file
+#  distributed with this work for additional information
+#  regarding copyright ownership. The ASF licenses this file
+#  to you under the Apache License, Version 2.0 (the
+#  "License"); you may not use this file except in compliance
+#  with the License.  You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+#  Unless required by applicable law or agreed to in writing, software
+#  distributed under the License is distributed on an "AS IS" BASIS,
+#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#  See the License for the specific language governing permissions and
+#  limitations under the License.
+#
+@prefix rdf:     <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.
+@prefix rdfs:    <http://www.w3.org/2000/01/rdf-schema#>.
+@prefix dcterms: <http://purl.org/dc/terms/>.
+@prefix skos:    <http://www.w3.org/2004/02/skos/core#>.
+@prefix foaf:    <http://xmlns.com/foaf/0.1/>.
+@prefix xsd:     <http://www.w3.org/2001/XMLSchema#>.
+@prefix ex:      <http://example/test/>.
+
+# 3 full uris
+D <http://example/test/a> <http://example/test/b> <http://example/test/c> .
+A <http://example/test/a> <http://example/test/b> <http://example/test/c> .
+
+# Repeats
+A <http://example/test/a> <http://example/test/b> <http://example/test/c> .
+A R <http://example/test/b> <http://example/test/c> .
+A R R <http://example/test/c> .
+D R R <http://example/test/d> .
+A <http://example/test/a> R <http://example/test/c> .
+A <http://example/test/b> R R .
+A R <http://example/test/b> R .
+
+# QNAME / CURL
+D ex:a ex:b ex:c .
+A ex:a ex:b ex:c .
+
+# BNODE
+D _:b1 ex:b _:b2 .
+A _:b1 ex:b _:b2 .
+
+# Plain literal
+D ex:l dcterms:title "plain literal" .
+A ex:l dcterms:title "plain literal with excapte \"quote\"" .
+
+# Language literal
+D ex:ll dcterms:description "Deutsch"@de .
+A ex:ll dcterms:description "German"@en .
+
+# Typed literal
+D ex:tl dcterms:modified "2014-02-01T15:12:51.000Z"^^xsd:dateTime .
+A ex:tl dcterms:modified "2014-02-26T15:12:55.000Z"^^<http://www.w3.org/2001/XMLSchema#xsd:dateTime> .
+
+# LongString
+D ex:long dcterms:license """
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+\"License\"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an \"AS IS\" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+""" .
+
+A ex:long dcterms:license """
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+\"License\"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an \"AS IS\" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""^^ex:License .
+
+A ex:long dcterms:description """
+Every Software requires a licese.
+"""@en .

http://git-wip-us.apache.org/repos/asf/marmotta/blob/2a509e76/commons/marmotta-sesame-tools/pom.xml
----------------------------------------------------------------------
diff --git a/commons/marmotta-sesame-tools/pom.xml b/commons/marmotta-sesame-tools/pom.xml
index e55ae01..1c9c190 100644
--- a/commons/marmotta-sesame-tools/pom.xml
+++ b/commons/marmotta-sesame-tools/pom.xml
@@ -61,6 +61,7 @@
         <module>marmotta-util-facading</module>
         <module>marmotta-util-filter</module>
         <module>marmotta-util-tripletable</module>
+        <module>marmotta-util-rdfpatch</module>
     </modules>
 
 </project>

http://git-wip-us.apache.org/repos/asf/marmotta/blob/2a509e76/platform/marmotta-ldp/pom.xml
----------------------------------------------------------------------
diff --git a/platform/marmotta-ldp/pom.xml b/platform/marmotta-ldp/pom.xml
index f79cb9a..f861fde 100644
--- a/platform/marmotta-ldp/pom.xml
+++ b/platform/marmotta-ldp/pom.xml
@@ -76,41 +76,6 @@
 
         <plugins>
             <plugin>
-                <groupId>org.codehaus.mojo</groupId>
-                <artifactId>javacc-maven-plugin</artifactId>
-                <version>2.6</version>
-                <executions>
-                    <execution>
-                        <id>javacc</id>
-                        <goals>
-                            <goal>javacc</goal>
-                        </goals>
-                        <configuration>
-                            <lookAhead>1</lookAhead>
-                            <isStatic>false</isStatic>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-            <plugin>
-                <groupId>org.codehaus.mojo</groupId>
-                <artifactId>build-helper-maven-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <id>add-source</id>
-                        <phase>generate-sources</phase>
-                        <goals>
-                            <goal>add-source</goal>
-                        </goals>
-                        <configuration>
-                            <sources>
-                                <source>${project.build.directory}/generated-sources/javacc/</source>
-                            </sources>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-            <plugin>
                 <groupId>org.apache.marmotta</groupId>
                 <artifactId>buildinfo-maven-plugin</artifactId>
                 <configuration>
@@ -212,6 +177,11 @@
             <version>${project.version}</version>
         </dependency>
         <dependency>
+            <groupId>org.apache.marmotta</groupId>
+            <artifactId>marmotta-util-rdfpatch</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
             <groupId>javax.servlet</groupId>
             <artifactId>javax.servlet-api</artifactId>
             <version>${servlet.api.version}</version>

http://git-wip-us.apache.org/repos/asf/marmotta/blob/2a509e76/platform/marmotta-ldp/src/main/java/org/apache/marmotta/platform/ldp/patch/InvalidPatchDocumentException.java
----------------------------------------------------------------------
diff --git a/platform/marmotta-ldp/src/main/java/org/apache/marmotta/platform/ldp/patch/InvalidPatchDocumentException.java b/platform/marmotta-ldp/src/main/java/org/apache/marmotta/platform/ldp/patch/InvalidPatchDocumentException.java
deleted file mode 100644
index a5128a7..0000000
--- a/platform/marmotta-ldp/src/main/java/org/apache/marmotta/platform/ldp/patch/InvalidPatchDocumentException.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.marmotta.platform.ldp.patch;
-
-/**
- * Exception thrown if a PatchDocument (i.e. a List of {@link org.apache.marmotta.platform.ldp.patch.model.PatchLine}s)
- * cannot be evauated, e.g. because a wildcard ({@code R}) was never defined before.
- */
-public class InvalidPatchDocumentException extends Exception {
-
-    public InvalidPatchDocumentException() {
-        super();
-    }
-
-    public InvalidPatchDocumentException(String message) {
-        super(message);
-    }
-
-    public InvalidPatchDocumentException(String message, Throwable cause) {
-        super(message, cause);
-    }
-
-    public InvalidPatchDocumentException(Throwable cause) {
-        super(cause);
-    }
-}

http://git-wip-us.apache.org/repos/asf/marmotta/blob/2a509e76/platform/marmotta-ldp/src/main/java/org/apache/marmotta/platform/ldp/patch/RdfPatchUtil.java
----------------------------------------------------------------------
diff --git a/platform/marmotta-ldp/src/main/java/org/apache/marmotta/platform/ldp/patch/RdfPatchUtil.java b/platform/marmotta-ldp/src/main/java/org/apache/marmotta/platform/ldp/patch/RdfPatchUtil.java
deleted file mode 100644
index e4d073b..0000000
--- a/platform/marmotta-ldp/src/main/java/org/apache/marmotta/platform/ldp/patch/RdfPatchUtil.java
+++ /dev/null
@@ -1,174 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.marmotta.platform.ldp.patch;
-
-import org.apache.commons.io.IOUtils;
-import org.apache.marmotta.platform.ldp.patch.model.PatchLine;
-import org.apache.marmotta.platform.ldp.patch.parser.ParseException;
-import org.apache.marmotta.platform.ldp.patch.parser.RdfPatchParser;
-import org.apache.marmotta.platform.ldp.patch.parser.RdfPatchParserImpl;
-import org.openrdf.model.Resource;
-import org.openrdf.model.Statement;
-import org.openrdf.model.URI;
-import org.openrdf.model.Value;
-import org.openrdf.repository.Repository;
-import org.openrdf.repository.RepositoryConnection;
-import org.openrdf.repository.RepositoryException;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.List;
-
-/**
- * RdfPatchUtil - Util-Class to apply rdf-patches on a {@link Repository} or {@link org.openrdf.repository.RepositoryConnection}
- *
- * @author Jakob Frank
- */
-public class RdfPatchUtil {
-
-    /**
-     * Apply the provided patch to the repository
-     * @param repository the {@link org.openrdf.repository.Repository} to patch
-     * @param patch the patch to apply
-     * @param contexts restrict changes to these contexts (leave empty to apply to <em>all</em> contexts)
-     * @throws ParseException if the patch could not be parsed
-     * @throws InvalidPatchDocumentException if the patch is invalid
-     */
-    public static void applyPatch(Repository repository, String patch, Resource... contexts) throws RepositoryException, ParseException, InvalidPatchDocumentException {
-        applyPatch(repository, getPatch(patch), contexts);
-    }
-
-    /**
-     * Apply the provided patch to the repository
-     * @param repository the {@link org.openrdf.repository.Repository} to patch
-     * @param patchSource the patch to apply
-     * @param contexts restrict changes to these contexts (leave empty to apply to <em>all</em> contexts)
-     * @throws ParseException if the patch could not be parsed
-     * @throws InvalidPatchDocumentException if the patch is invalid
-     */
-    public static void applyPatch(Repository repository, InputStream patchSource, Resource... contexts) throws RepositoryException, ParseException, InvalidPatchDocumentException {
-        applyPatch(repository, getPatch(patchSource), contexts);
-    }
-
-    /**
-     * Apply the provided patch to the repository
-     * @param connection the {@link org.openrdf.repository.RepositoryConnection} to patch
-     * @param patch the patch to apply
-     * @param contexts restrict changes to these contexts (leave empty to apply to <em>all</em> contexts)
-     * @throws ParseException if the patch could not be parsed
-     * @throws InvalidPatchDocumentException if the patch is invalid
-     */
-    public static void applyPatch(RepositoryConnection connection, String patch, Resource... contexts) throws RepositoryException, ParseException, InvalidPatchDocumentException {
-        applyPatch(connection, getPatch(patch), contexts);
-    }
-
-    /**
-     * Apply the provided patch to the repository
-     * @param connection the {@link org.openrdf.repository.RepositoryConnection} to patch
-     * @param patchSource the patch to apply
-     * @param contexts restrict changes to these contexts (leave empty to apply to <em>all</em> contexts)
-     * @throws ParseException if the patch could not be parsed
-     * @throws InvalidPatchDocumentException if the patch is invalid
-     */
-    public static void applyPatch(RepositoryConnection connection, InputStream patchSource, Resource... contexts) throws RepositoryException, ParseException, InvalidPatchDocumentException {
-        applyPatch(connection, getPatch(patchSource), contexts);
-    }
-
-    /**
-     * Apply the provided patch to the repository
-     * @param repository the {@link org.openrdf.repository.Repository} to patch
-     * @param patch the patch to apply
-     * @param contexts restrict changes to these contexts (leave empty to apply to <em>all</em> contexts)
-     * @throws InvalidPatchDocumentException if the patch is invalid
-     */
-    public static void applyPatch(Repository repository, List<PatchLine> patch, Resource... contexts) throws RepositoryException, InvalidPatchDocumentException {
-        RepositoryConnection con = repository.getConnection();
-        try {
-            con.begin();
-            applyPatch(con, patch, contexts);
-            con.commit();
-        } catch (final Throwable t) {
-            con.rollback();
-            throw t;
-        } finally {
-            con.close();
-        }
-    }
-
-    /**
-     * Apply the provided patch to the repository
-     * @param connection the {@link org.openrdf.repository.RepositoryConnection} to patch
-     * @param patch the patch to apply
-     * @param contexts restrict changes to these contexts (leave empty to apply to <em>all</em> contexts)
-     * @throws InvalidPatchDocumentException if the patch is invalid
-     */
-    public static void applyPatch(RepositoryConnection connection, List<PatchLine> patch, Resource... contexts) throws RepositoryException, InvalidPatchDocumentException {
-        Resource subject = null;
-        URI predicate = null;
-        Value object = null;
-
-        for (PatchLine patchLine : patch) {
-            final Statement statement = patchLine.getStatement();
-            subject = statement.getSubject()!=null? statement.getSubject():subject;
-            predicate = statement.getPredicate()!=null?statement.getPredicate():predicate;
-            object = statement.getObject()!=null?statement.getObject():object;
-
-            if (subject == null || predicate == null || object == null) {
-                if (subject == null) {
-                    throw new InvalidPatchDocumentException("Cannot resolve 'R' - subject was never set");
-                }
-                if (predicate == null) {
-                    throw new InvalidPatchDocumentException("Cannot resolve 'R' - predicate was never set");
-                }
-                if (object == null) {
-                    throw new InvalidPatchDocumentException("Cannot resolve 'R' - object was never set");
-                }
-            }
-
-            switch (patchLine.getOperator()) {
-                case ADD:
-                    connection.add(subject, predicate, object, contexts);
-                    break;
-                case DELETE:
-                    connection.remove(subject, predicate, object, contexts);
-                    break;
-                default:
-                    throw new IllegalArgumentException("Unknown patch operation: " + patchLine.getOperator());
-            }
-        }
-    }
-
-    private static List<PatchLine> getPatch(InputStream is) throws ParseException {
-        RdfPatchParser parser = new RdfPatchParserImpl(is);
-        return parser.parsePatch();
-    }
-
-    private static List<PatchLine> getPatch(String patch) throws ParseException {
-        try (InputStream is = IOUtils.toInputStream(patch)) {
-            return getPatch(is);
-        } catch (IOException e) {
-            // You can always close an InputStream on a String
-            assert(false);
-            return null;
-        }
-    }
-
-    private RdfPatchUtil() {
-        // static access only
-    }
-}

http://git-wip-us.apache.org/repos/asf/marmotta/blob/2a509e76/platform/marmotta-ldp/src/main/java/org/apache/marmotta/platform/ldp/patch/model/PatchLine.java
----------------------------------------------------------------------
diff --git a/platform/marmotta-ldp/src/main/java/org/apache/marmotta/platform/ldp/patch/model/PatchLine.java b/platform/marmotta-ldp/src/main/java/org/apache/marmotta/platform/ldp/patch/model/PatchLine.java
deleted file mode 100644
index 83c6651..0000000
--- a/platform/marmotta-ldp/src/main/java/org/apache/marmotta/platform/ldp/patch/model/PatchLine.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.marmotta.platform.ldp.patch.model;
-
-import org.openrdf.model.Statement;
-
-/**
- * A single PatchLine, i.e. a operation of a Patch.
- * Can be either a {@code ADD} od {@code DELETE}
- */
-public class PatchLine {
-    public enum Operator {
-        ADD("A"),
-        DELETE("D");
-
-
-        private final String cmd;
-
-        private Operator(String cmd) {
-            this.cmd = cmd;
-        }
-
-        public String getCommand() {
-            return cmd;
-        }
-
-        public static Operator fromCommand(String cmd) {
-            for (Operator op: values()) {
-                if (op.cmd.equalsIgnoreCase(cmd)) {
-                    return op;
-                }
-            }
-            throw new IllegalArgumentException("Unknown Operator: " + cmd);
-        }
-    }
-
-
-    private final Operator operator;
-    private final Statement statement;
-
-    public PatchLine(Operator operator, Statement statement) {
-        this.operator = operator;
-        this.statement = statement;
-    }
-
-    public Operator getOperator() {
-        return operator;
-    }
-
-    public Statement getStatement() {
-        return statement;
-    }
-}

http://git-wip-us.apache.org/repos/asf/marmotta/blob/2a509e76/platform/marmotta-ldp/src/main/java/org/apache/marmotta/platform/ldp/patch/model/WildcardStatement.java
----------------------------------------------------------------------
diff --git a/platform/marmotta-ldp/src/main/java/org/apache/marmotta/platform/ldp/patch/model/WildcardStatement.java b/platform/marmotta-ldp/src/main/java/org/apache/marmotta/platform/ldp/patch/model/WildcardStatement.java
deleted file mode 100644
index 4180a23..0000000
--- a/platform/marmotta-ldp/src/main/java/org/apache/marmotta/platform/ldp/patch/model/WildcardStatement.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.marmotta.platform.ldp.patch.model;
-
-import org.apache.commons.lang3.ObjectUtils;
-import org.openrdf.model.Resource;
-import org.openrdf.model.Statement;
-import org.openrdf.model.URI;
-import org.openrdf.model.Value;
-
-/**
- * The Statement in a RdfPatch.
- * {@code null}-Values represent {@code R}epeat from the <a href="http://afs.github.io/rdf-patch/#rdf-patch-details">Spec</a>.
- */
-public class WildcardStatement implements Statement {
-
-
-    private final Value object;
-    private final URI predicate;
-    private final Resource subject;
-
-    public WildcardStatement(Resource subject, URI predicate, Value object) {
-        this.object = object;
-        this.predicate = predicate;
-        this.subject = subject;
-    }
-
-    @Override
-    public Resource getSubject() {
-        return subject;
-    }
-
-    @Override
-    public URI getPredicate() {
-        return predicate;
-    }
-
-    @Override
-    public Value getObject() {
-        return object;
-    }
-
-    @Override
-    public Resource getContext() {
-        return null;
-    }
-
-    @Override
-    public int hashCode() {
-        return 961 * (subject!=null?subject.hashCode():0) + 31 * (predicate!=null?predicate.hashCode():0) + (object!=null?object.hashCode():0);
-    }
-
-    @Override
-    public boolean equals(Object other) {
-        if (this == other) {
-            return true;
-        }
-
-        if (other instanceof Statement) {
-            Statement otherSt = (Statement)other;
-
-            // The object is potentially the cheapest to check, as types
-            // of these references might be different.
-
-            // In general the number of different predicates in sets of
-            // statements is the smallest, so predicate equality is checked
-            // last.
-            return ObjectUtils.equals(object, otherSt.getObject()) && ObjectUtils.equals(subject, otherSt.getSubject())
-                    && ObjectUtils.equals(predicate, otherSt.getPredicate());
-        }
-
-        return false;
-    }
-
-    /**
-     * Gives a String-representation of this Statement that can be used for
-     * debugging.
-     */
-    @Override
-    public String toString() {
-        StringBuilder sb = new StringBuilder(256);
-
-        sb.append("(");
-        sb.append(getSubject());
-        sb.append(", ");
-        sb.append(getPredicate());
-        sb.append(", ");
-        sb.append(getObject());
-        sb.append(")");
-
-        return sb.toString();
-    }
-}

http://git-wip-us.apache.org/repos/asf/marmotta/blob/2a509e76/platform/marmotta-ldp/src/main/java/org/apache/marmotta/platform/ldp/patch/parser/RdfPatchParser.java
----------------------------------------------------------------------
diff --git a/platform/marmotta-ldp/src/main/java/org/apache/marmotta/platform/ldp/patch/parser/RdfPatchParser.java b/platform/marmotta-ldp/src/main/java/org/apache/marmotta/platform/ldp/patch/parser/RdfPatchParser.java
deleted file mode 100644
index d78d7c5..0000000
--- a/platform/marmotta-ldp/src/main/java/org/apache/marmotta/platform/ldp/patch/parser/RdfPatchParser.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.marmotta.platform.ldp.patch.parser;
-
-import org.apache.marmotta.platform.ldp.patch.model.PatchLine;
-
-import java.util.List;
-
-/**
- * Parser for the {@code application/rdf-patch} format.
- *
- * @see <a href="http://afs.github.io/rdf-patch/">http://afs.github.io/rdf-patch/</a>
- */
-public interface RdfPatchParser {
-
-    /**
-     * Mime-Type: {@value}
-     */
-    public static final String MIME_TYPE = "application/rdf-patch";
-
-    /**
-     * Default File extension for rdf-patch: {@value}
-     */
-    public static final String FILE_EXTENSION = "rdfp";
-
-    /**
-     * Parse the rdf-patch
-     * @return a List of {@link org.apache.marmotta.platform.ldp.patch.model.PatchLine}s
-     * @throws ParseException if the patch could not be parsed.
-     */
-    public List<PatchLine> parsePatch() throws ParseException;
-}

http://git-wip-us.apache.org/repos/asf/marmotta/blob/2a509e76/platform/marmotta-ldp/src/main/javacc/rdf-patch.jj
----------------------------------------------------------------------
diff --git a/platform/marmotta-ldp/src/main/javacc/rdf-patch.jj b/platform/marmotta-ldp/src/main/javacc/rdf-patch.jj
deleted file mode 100644
index 7b47aaf..0000000
--- a/platform/marmotta-ldp/src/main/javacc/rdf-patch.jj
+++ /dev/null
@@ -1,219 +0,0 @@
-/*
- * Copyright (c) 2013 The Apache Software Foundation
- *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- */
- options
-{
-  STATIC=false;
-  LOOKAHEAD=1;
-  CACHE_TOKENS=true;
-//  FORCE_LA_CHECK=true;
-//  CHOICE_AMBIGUITY_CHECK=5;
-  //LOOKAHEAD=2147483647;
-  //DEBUG_PARSER=true;
-  //DEBUG_TOKEN_MANAGER=true;
-  //DEBUG_LOOKAHEAD=true;
-}
-
-PARSER_BEGIN(RdfPatchParserImpl)
-package org.apache.marmotta.platform.ldp.patch.parser;
-
-import org.apache.marmotta.platform.ldp.patch.model.PatchLine;
-import org.apache.marmotta.platform.ldp.patch.model.WildcardStatement;
-import org.openrdf.model.*;
-import org.openrdf.model.impl.ValueFactoryImpl;
-import org.openrdf.rio.turtle.TurtleUtil;
-
-import java.io.InputStream;
-import java.util.HashMap;
-import java.util.LinkedList;
-import java.util.List;
-
-public class RdfPatchParserImpl implements RdfPatchParser {
-
-    private HashMap<String, String> namespaces = new HashMap<String, String>();
-    private ValueFactory valueFactory = ValueFactoryImpl.getInstance();
-
-    public RdfPatchParserImpl(ValueFactory vf, InputStream is) {
-        this(is);
-        this.valueFactory = vf;
-    }
-
-    public RdfPatchParserImpl(ValueFactory vf, InputStream is, String enc) {
-        this(is, enc);
-        this.valueFactory = vf;
-    }
-
-    public void setValueFactory(ValueFactory vf) {
-        if (vf == null) throw new IllegalArgumentException("ValueFactory must not be null");
-        this.valueFactory = vf;
-    }
-
-    public ValueFactory getValueFactory() {
-        return this.valueFactory;
-    }
-
-
-    private URI createURI(String uri) {
-        return this.valueFactory.createURI(unwrapUri(uri));
-    }
-
-    private URI createURI(String prefix, String local) {
-        return this.valueFactory.createURI(namespaces.get(prefix)+local);
-    }
-
-    private URI createURIfromQname(String qname) {
-        final String[] split = qname.split(":", 2);
-        return createURI(split[0], split[1]);
-    }
-
-    private BNode createBNode(String id) {
-        return this.valueFactory.createBNode(id);
-    }
-
-    private Literal createLiteral(String value, String lang, URI type) throws ParseException {
-        try {
-            value = TurtleUtil.decodeString(value.substring(1, value.length() - 1));
-        } catch (IllegalArgumentException e) {
-            throw new ParseException(e.getMessage());
-        }
-        if (lang != null) {
-            return this.valueFactory.createLiteral(value, lang);
-        } else if (type != null) {
-            return this.valueFactory.createLiteral(value, type);
-        } else {
-            return this.valueFactory.createLiteral(value);
-        }
-    }
-
-    private Literal createLongLiteral(String value, String lang, URI type) throws ParseException {
-        value = value.substring(2, value.length() - 2);
-        return createLiteral(value, lang, type);
-    }
-
-    private String unwrapUri(String uri) {
-        if (uri.startsWith("<")) {
-            uri = uri.substring(1);
-        }
-        if (uri.endsWith(">")) {
-            uri = uri.substring(0, uri.length()-1);
-        }
-        return uri;
-    }
-
-}
-PARSER_END(RdfPatchParserImpl)
-
-SKIP : {
- 	" "
-|	"\r"
-|	"\t"
-|	"\n"
-}
-
-MORE: {
- "\"\"\"" : WithinLongString |
- "\"" : WithinString
-}
-
-<WithinString> TOKEN: {
-  <STRLIT: (~["\\"])"\""> : DEFAULT
-}
-
-<WithinLongString> TOKEN: {
-  <STRLONGLIT: (~["\\"]) "\"\"\""> : DEFAULT
-}
-
-
-<WithinString> MORE: {
-  <~["\n","\r"]>
-}
-
-<WithinLongString> MORE: {
-  <~[]>
-}
-
-TOKEN : {
-  < OP:        ["A","D"] > |
-  < REPEAT:    "R" >  |
-  < UNDEFINED: "U" >  |
-  < PREFIX:    "@prefix" > |
-  < DOT:       "." >  |
-  < COLON:     ":" >  |
-  < IDENT:     ["a"-"z","A"-"Z","0"-"9","_"](["a"-"z","A"-"Z","0"-"9","_","'","-", "."])* > |
-  < URI:       "<" (~[ ">","<", "\"", "{", "}", "^", "\\", "|", "`", "\u0000"-"\u0020"])+ ">" > |
-  < BNODE:     "_:" <IDENT> > |
-  < QNAME:     (["a"-"z","A"-"Z","0"-"9"](["a"-"z","A"-"Z","0"-"9","_","'","-", "."])*)? <COLON> <IDENT> > |
-  < LANG:      "@" >  |
-  < TYPE:      "^^" >
-}
-
-SPECIAL_TOKEN : {
-  <COMMENT: "#" (~["\n","\r"])* ("\n"|"\r"|"\r\n")>
-}
-
-
-
-public List<PatchLine> parsePatch() : {
-    Token id, prefix, op;
-    Statement statement;
-    LinkedList<PatchLine> diff = new LinkedList<PatchLine>();
-    namespaces.clear();
-}
-{
-    ( <PREFIX> id = <IDENT> <COLON> prefix = <URI> <DOT> { namespaces.put(id.image, unwrapUri(prefix.image));} )*
-    (
-      op = <OP> statement = parseStatement() <DOT> { diff.add(new PatchLine(PatchLine.Operator.fromCommand(op.image), statement)); }
-    )*
-    <EOF>
-    {
-        return diff;
-    }
-}
-
-private Statement parseStatement() : {
-    Token t1 = null;
-    Token lVal = null, lLang = null;
-    Resource subject;
-    URI predicate, type = null;
-    Value object;
-}
-{
-    ( subject = parseURI() |
-        t1 = <BNODE> { subject = createBNode(t1.image.substring(2)); } |
-        <REPEAT> { subject = null; }
-    )
-    ( predicate = parseURI() |
-        <REPEAT> { predicate = null; }
-    )
-    ( object = parseURI() |
-        t1 = <BNODE> { object = createBNode(t1.image.substring(2)); } |
-        lVal = <STRLIT> (<LANG> lLang = <IDENT>)? (<TYPE> type = parseURI())? {
-            object = createLiteral(lVal.image, lLang!=null?lLang.image:null, type);
-        } |
-        lVal = <STRLONGLIT> (<LANG> lLang = <IDENT>)? (<TYPE> type = parseURI())? {
-            object = createLongLiteral(lVal.image, lLang!=null?lLang.image:null, type);
-        } |
-        <REPEAT> { object = null; }
-    )
-    { return new WildcardStatement(subject, predicate, object); }
-}
-
-private URI parseURI() : {
-    Token u;
-}
-{
-    u = <URI> { return createURI(u.image); } |
-    u = <QNAME> { return createURIfromQname(u.image); }
-}

http://git-wip-us.apache.org/repos/asf/marmotta/blob/2a509e76/platform/marmotta-ldp/src/test/java/org/apache/marmotta/platform/ldp/patch/RdfPatchUtilTest.java
----------------------------------------------------------------------
diff --git a/platform/marmotta-ldp/src/test/java/org/apache/marmotta/platform/ldp/patch/RdfPatchUtilTest.java b/platform/marmotta-ldp/src/test/java/org/apache/marmotta/platform/ldp/patch/RdfPatchUtilTest.java
deleted file mode 100644
index 80a42c3..0000000
--- a/platform/marmotta-ldp/src/test/java/org/apache/marmotta/platform/ldp/patch/RdfPatchUtilTest.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.marmotta.platform.ldp.patch;
-
-import org.apache.marmotta.commons.vocabulary.FOAF;
-import org.apache.marmotta.platform.ldp.patch.parser.ParseException;
-import org.junit.After;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
-import org.openrdf.model.Literal;
-import org.openrdf.model.URI;
-import org.openrdf.model.impl.LiteralImpl;
-import org.openrdf.model.impl.URIImpl;
-import org.openrdf.repository.Repository;
-import org.openrdf.repository.RepositoryConnection;
-import org.openrdf.repository.RepositoryException;
-import org.openrdf.repository.sail.SailRepository;
-import org.openrdf.rio.RDFFormat;
-import org.openrdf.sail.memory.MemoryStore;
-
-/**
- * Testing RdfPatchUtil
- *
- * @author Jakob Frank
- */
-public class RdfPatchUtilTest {
-
-    public static final String BASE_URI = "http://example/";
-
-    private Repository repository;
-    private URI alice, bob, charlie;
-    private Literal lcBob, ucBob;
-
-    @Before
-    public void setUp() throws Exception {
-        repository = new SailRepository(new MemoryStore());
-        repository.initialize();
-
-        alice = repository.getValueFactory().createURI("http://example/alice");
-        bob = repository.getValueFactory().createURI("http://example/bob");
-        charlie = repository.getValueFactory().createURI("http://example/charlie");
-
-        lcBob = repository.getValueFactory().createLiteral("bob");
-        ucBob = repository.getValueFactory().createLiteral("Bob");
-
-        RepositoryConnection con = repository.getConnection();
-        try {
-            con.begin();
-            con.add(this.getClass().getResourceAsStream("/illustrative.in.ttl"), BASE_URI, RDFFormat.TURTLE);
-            con.commit();
-        } finally {
-            con.close();
-        }
-    }
-
-    @After
-    public void tearDown() throws Exception {
-        if (repository != null) {
-            repository.shutDown();
-        }
-    }
-
-    @Test
-    public void testApplyPatch() throws Exception {
-        RepositoryConnection con = repository.getConnection();
-        try {
-            con.begin();
-
-            Assert.assertTrue(con.hasStatement(bob, FOAF.name, lcBob, false));
-            Assert.assertFalse(con.hasStatement(bob, FOAF.name, ucBob, false));
-            Assert.assertFalse(con.hasStatement(bob, FOAF.knows, alice, false));
-            Assert.assertTrue(con.hasStatement(bob, FOAF.knows, charlie, false));
-
-            RdfPatchUtil.applyPatch(con, this.getClass().getResourceAsStream("/illustrative.rdfp"));
-
-            Assert.assertFalse(con.hasStatement(bob, FOAF.name, lcBob, false));
-            Assert.assertTrue(con.hasStatement(bob, FOAF.name, ucBob, false));
-            Assert.assertTrue(con.hasStatement(bob, FOAF.knows, alice, false));
-            Assert.assertFalse(con.hasStatement(bob, FOAF.knows, charlie, false));
-
-            con.commit();
-        } finally {
-            con.close();
-        }
-    }
-
-    @Test(expected = InvalidPatchDocumentException.class)
-    public void testInvalidPatchDocumentException() throws RepositoryException, ParseException, InvalidPatchDocumentException {
-        RepositoryConnection con = repository.getConnection();
-        try {
-            final String invalidPatch = "A <http://example/foo> R <http://example/bar> .";
-
-            RdfPatchUtil.applyPatch(con, invalidPatch);
-
-            Assert.fail("applyPatch should throw an InvalidPatchDocumentException");
-        } catch (final Throwable t) {
-            con.rollback();
-            throw t;
-        } finally {
-            con.close();
-        }
-    }
-}


[02/10] MARMOTTA-440: Moved rdf-patch to a separate module (marmotta-utils-rdfpatch)

Posted by ja...@apache.org.
http://git-wip-us.apache.org/repos/asf/marmotta/blob/2a509e76/platform/marmotta-ldp/src/test/java/org/apache/marmotta/platform/ldp/patch/parser/RdfPatchParserImplTest.java
----------------------------------------------------------------------
diff --git a/platform/marmotta-ldp/src/test/java/org/apache/marmotta/platform/ldp/patch/parser/RdfPatchParserImplTest.java b/platform/marmotta-ldp/src/test/java/org/apache/marmotta/platform/ldp/patch/parser/RdfPatchParserImplTest.java
deleted file mode 100644
index 9b9be1f..0000000
--- a/platform/marmotta-ldp/src/test/java/org/apache/marmotta/platform/ldp/patch/parser/RdfPatchParserImplTest.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.marmotta.platform.ldp.patch.parser;
-
-import org.apache.marmotta.commons.vocabulary.FOAF;
-import org.apache.marmotta.platform.ldp.patch.model.PatchLine;
-import org.junit.After;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
-import org.openrdf.model.*;
-import org.openrdf.model.impl.LiteralImpl;
-import org.openrdf.model.impl.URIImpl;
-
-import java.util.Iterator;
-import java.util.List;
-
-/**
- * Testing the RdfPatchParserImpl
- *
- * @author Jakob Frank
- */
-public class RdfPatchParserImplTest {
-
-
-    private RdfPatchParserImpl parser;
-    private URI alice, bob, charlie;
-    private Literal lcBob, ucBob;
-
-    @Before
-    public void setUp() {
-        parser = new RdfPatchParserImpl(this.getClass().getResourceAsStream("/illustrative.rdfp"));
-
-        alice = new URIImpl("http://example/alice");
-        bob = new URIImpl("http://example/bob");
-        charlie = new URIImpl("http://example/charlie");
-
-        lcBob = new LiteralImpl("bob");
-        ucBob = new LiteralImpl("Bob");
-    }
-
-    @After
-    public void tearDown() {
-        parser = null;
-    }
-
-
-    @Test
-    public void testParsing() throws ParseException {
-        List<PatchLine> patchLines = parser.parsePatch();
-
-        Iterator<PatchLine> it = patchLines.iterator();
-
-        Assert.assertTrue(it.hasNext());
-        checkPatchLine(it.next(), PatchLine.Operator.DELETE, bob, FOAF.name, lcBob);
-
-        Assert.assertTrue(it.hasNext());
-        checkPatchLine(it.next(), PatchLine.Operator.ADD, bob, FOAF.name, ucBob);
-
-        Assert.assertTrue(it.hasNext());
-        checkPatchLine(it.next(), PatchLine.Operator.ADD, null, FOAF.knows, alice);
-
-        Assert.assertTrue(it.hasNext());
-        checkPatchLine(it.next(), PatchLine.Operator.DELETE, null, null, charlie);
-    }
-
-    private void checkPatchLine(PatchLine line, PatchLine.Operator operator, Resource subejct, URI predicate, Value object) {
-        Assert.assertEquals("Wrong patch operation", operator, line.getOperator());
-
-        Statement statement = line.getStatement();
-        Assert.assertEquals("Wrong subject", subejct, statement.getSubject());
-        Assert.assertEquals("Wrong predicate", predicate, statement.getPredicate());
-        Assert.assertEquals("Wrong object", object, statement.getObject());
-    }
-
-    @Test
-    public void testFullParsing() throws ParseException {
-        parser.ReInit(getClass().getResourceAsStream("/rdf-patch.rdfp"));
-
-        List<PatchLine> patchLines = parser.parsePatch();
-        Assert.assertNotNull(patchLines);
-        Assert.assertEquals(22, patchLines.size());
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/marmotta/blob/2a509e76/platform/marmotta-ldp/src/test/resources/illustrative.in.ttl
----------------------------------------------------------------------
diff --git a/platform/marmotta-ldp/src/test/resources/illustrative.in.ttl b/platform/marmotta-ldp/src/test/resources/illustrative.in.ttl
deleted file mode 100644
index d52213a..0000000
--- a/platform/marmotta-ldp/src/test/resources/illustrative.in.ttl
+++ /dev/null
@@ -1,28 +0,0 @@
-#
-#  Licensed to the Apache Software Foundation (ASF) under one
-#  or more contributor license agreements. See the NOTICE file
-#  distributed with this work for additional information
-#  regarding copyright ownership. The ASF licenses this file
-#  to you under the Apache License, Version 2.0 (the
-#  "License"); you may not use this file except in compliance
-#  with the License.  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-#
-@prefix  foaf: <http://xmlns.com/foaf/0.1/> .
-
-<http://example/bob> a foaf:Person;
-    foaf:name "bob" ;
-    foaf:knows <http://example/charlie>.
-
-<http://example/alice> a foaf:Person;
-    foaf:name "Alice" .
-
-<http://example/charlie> a foaf:Person;
-    foaf:name "Charlie" .

http://git-wip-us.apache.org/repos/asf/marmotta/blob/2a509e76/platform/marmotta-ldp/src/test/resources/illustrative.rdfp
----------------------------------------------------------------------
diff --git a/platform/marmotta-ldp/src/test/resources/illustrative.rdfp b/platform/marmotta-ldp/src/test/resources/illustrative.rdfp
deleted file mode 100644
index e5c0ab9..0000000
--- a/platform/marmotta-ldp/src/test/resources/illustrative.rdfp
+++ /dev/null
@@ -1,25 +0,0 @@
-# 
-#  Licensed to the Apache Software Foundation (ASF) under one
-#  or more contributor license agreements. See the NOTICE file
-#  distributed with this work for additional information
-#  regarding copyright ownership. The ASF licenses this file
-#  to you under the Apache License, Version 2.0 (the
-#  "License"); you may not use this file except in compliance
-#  with the License.  You may obtain a copy of the License at
-# 
-#      http://www.apache.org/licenses/LICENSE-2.0
-# 
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-#
-@prefix  foaf: <http://xmlns.com/foaf/0.1/> .
-# Fix Bobs name
-D <http://example/bob> foaf:name "bob" .
-A <http://example/bob> foaf:name "Bob" .
-# At ApacheCon EU, Bob met Alice
-A R foaf:knows <http://example/alice> .
-# Bob and Charlie had a fight
-D R R <http://example/charlie> .

http://git-wip-us.apache.org/repos/asf/marmotta/blob/2a509e76/platform/marmotta-ldp/src/test/resources/rdf-patch.rdfp
----------------------------------------------------------------------
diff --git a/platform/marmotta-ldp/src/test/resources/rdf-patch.rdfp b/platform/marmotta-ldp/src/test/resources/rdf-patch.rdfp
deleted file mode 100644
index 25d4829..0000000
--- a/platform/marmotta-ldp/src/test/resources/rdf-patch.rdfp
+++ /dev/null
@@ -1,98 +0,0 @@
-#
-#  Licensed to the Apache Software Foundation (ASF) under one
-#  or more contributor license agreements. See the NOTICE file
-#  distributed with this work for additional information
-#  regarding copyright ownership. The ASF licenses this file
-#  to you under the Apache License, Version 2.0 (the
-#  "License"); you may not use this file except in compliance
-#  with the License.  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-#
-@prefix rdf:     <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.
-@prefix rdfs:    <http://www.w3.org/2000/01/rdf-schema#>.
-@prefix dcterms: <http://purl.org/dc/terms/>.
-@prefix skos:    <http://www.w3.org/2004/02/skos/core#>.
-@prefix foaf:    <http://xmlns.com/foaf/0.1/>.
-@prefix xsd:     <http://www.w3.org/2001/XMLSchema#>.
-@prefix ex:      <http://example/test/>.
-
-# 3 full uris
-D <http://example/test/a> <http://example/test/b> <http://example/test/c> .
-A <http://example/test/a> <http://example/test/b> <http://example/test/c> .
-
-# Repeats
-A <http://example/test/a> <http://example/test/b> <http://example/test/c> .
-A R <http://example/test/b> <http://example/test/c> .
-A R R <http://example/test/c> .
-D R R <http://example/test/d> .
-A <http://example/test/a> R <http://example/test/c> .
-A <http://example/test/b> R R .
-A R <http://example/test/b> R .
-
-# QNAME / CURL
-D ex:a ex:b ex:c .
-A ex:a ex:b ex:c .
-
-# BNODE
-D _:b1 ex:b _:b2 .
-A _:b1 ex:b _:b2 .
-
-# Plain literal
-D ex:l dcterms:title "plain literal" .
-A ex:l dcterms:title "plain literal with excapte \"quote\"" .
-
-# Language literal
-D ex:ll dcterms:description "Deutsch"@de .
-A ex:ll dcterms:description "German"@en .
-
-# Typed literal
-D ex:tl dcterms:modified "2014-02-01T15:12:51.000Z"^^xsd:dateTime .
-A ex:tl dcterms:modified "2014-02-26T15:12:55.000Z"^^<http://www.w3.org/2001/XMLSchema#xsd:dateTime> .
-
-# LongString
-D ex:long dcterms:license """
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership. The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-\"License\"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an \"AS IS\" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-""" .
-
-A ex:long dcterms:license """
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership. The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-\"License\"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an \"AS IS\" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-"""^^ex:License .
-
-A ex:long dcterms:description """
-Every Software requires a licese.
-"""@en .


[10/10] git commit: MARMOTTA-440: improved error handling in rdf-patch parser

Posted by ja...@apache.org.
MARMOTTA-440: improved error handling in rdf-patch parser


Project: http://git-wip-us.apache.org/repos/asf/marmotta/repo
Commit: http://git-wip-us.apache.org/repos/asf/marmotta/commit/9377ec10
Tree: http://git-wip-us.apache.org/repos/asf/marmotta/tree/9377ec10
Diff: http://git-wip-us.apache.org/repos/asf/marmotta/diff/9377ec10

Branch: refs/heads/ldp
Commit: 9377ec102228a7fa7c862bbea8cf6c8c0ecd6c28
Parents: 397cd2a
Author: Jakob Frank <ja...@apache.org>
Authored: Thu Feb 27 09:07:12 2014 +0100
Committer: Jakob Frank <ja...@apache.org>
Committed: Thu Feb 27 17:38:15 2014 +0100

----------------------------------------------------------------------
 platform/marmotta-ldp/src/main/javacc/rdf-patch.jj | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/marmotta/blob/9377ec10/platform/marmotta-ldp/src/main/javacc/rdf-patch.jj
----------------------------------------------------------------------
diff --git a/platform/marmotta-ldp/src/main/javacc/rdf-patch.jj b/platform/marmotta-ldp/src/main/javacc/rdf-patch.jj
index 92a001c..7b47aaf 100644
--- a/platform/marmotta-ldp/src/main/javacc/rdf-patch.jj
+++ b/platform/marmotta-ldp/src/main/javacc/rdf-patch.jj
@@ -82,8 +82,12 @@ public class RdfPatchParserImpl implements RdfPatchParser {
         return this.valueFactory.createBNode(id);
     }
 
-    private Literal createLiteral(String value, String lang, URI type) {
-        value = TurtleUtil.decodeString(value.substring(1, value.length() - 1));
+    private Literal createLiteral(String value, String lang, URI type) throws ParseException {
+        try {
+            value = TurtleUtil.decodeString(value.substring(1, value.length() - 1));
+        } catch (IllegalArgumentException e) {
+            throw new ParseException(e.getMessage());
+        }
         if (lang != null) {
             return this.valueFactory.createLiteral(value, lang);
         } else if (type != null) {
@@ -93,7 +97,7 @@ public class RdfPatchParserImpl implements RdfPatchParser {
         }
     }
 
-    private Literal createLongLiteral(String value, String lang, URI type) {
+    private Literal createLongLiteral(String value, String lang, URI type) throws ParseException {
         value = value.substring(2, value.length() - 2);
         return createLiteral(value, lang, type);
     }


[08/10] MARMOTTA-448: moved vocabularies into a separate module: marmotta-model-vocabs. Also fixed some redundant dependencies.

Posted by ja...@apache.org.
http://git-wip-us.apache.org/repos/asf/marmotta/blob/8d79b113/commons/marmotta-commons/src/main/java/org/apache/marmotta/commons/vocabulary/SCHEMA.java
----------------------------------------------------------------------
diff --git a/commons/marmotta-commons/src/main/java/org/apache/marmotta/commons/vocabulary/SCHEMA.java b/commons/marmotta-commons/src/main/java/org/apache/marmotta/commons/vocabulary/SCHEMA.java
deleted file mode 100644
index 13c4379..0000000
--- a/commons/marmotta-commons/src/main/java/org/apache/marmotta/commons/vocabulary/SCHEMA.java
+++ /dev/null
@@ -1,5810 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.marmotta.commons.vocabulary;
-
-import org.openrdf.model.URI;
-import org.openrdf.model.ValueFactory;
-import org.openrdf.model.impl.ValueFactoryImpl;
-
-/**
- * Namespace SCHEMA
- */
-public class SCHEMA {
-
-    public static final String NAMESPACE = "http://schema.org/";
-
-    public static final String PREFIX = "schema";
-
-    /**
-     * Web page type: About page. 
-     */
-    public static final URI AboutPage;
-
-    /**
-     * Accountancy business. 
-     */
-    public static final URI AccountingService;
-
-    /**
-     * A geographical region under the jurisdiction of a particular government. 
-     */
-    public static final URI AdministrativeArea;
-
-    /**
-     * An adult entertainment establishment. 
-     */
-    public static final URI AdultEntertainment;
-
-    /**
-     * When a single product that has different offers (for example, the same pair of shoes is offered by different merchants), then AggregateOffer can be used. 
-     */
-    public static final URI AggregateOffer;
-
-    /**
-     * The average rating based on multiple ratings or reviews. 
-     */
-    public static final URI AggregateRating;
-
-    /**
-     * An airport. 
-     */
-    public static final URI Airport;
-
-    /**
-     * An amusement park. 
-     */
-    public static final URI AmusementPark;
-
-    /**
-     * Any part of the human body, typically a component of an anatomical system. Organs, tissues, and cells are all anatomical structures. 
-     */
-    public static final URI AnatomicalStructure;
-
-    /**
-     * An anatomical system is a group of anatomical structures that work together to perform a certain task. Anatomical systems, such as organ systems, are one organizing principle of anatomy, and can includes circulatory, digestive, endocrine, integumentary, immune, lymphatic, muscular, nervous, reproductive, respiratory, skeletal, urinary, vestibular, and other systems. 
-     */
-    public static final URI AnatomicalSystem;
-
-    /**
-     * Animal shelter. 
-     */
-    public static final URI AnimalShelter;
-
-    /**
-     * Residence type: Apartment complex. 
-     */
-    public static final URI ApartmentComplex;
-
-    /**
-     * An indication for a medical therapy that has been formally specified or approved by a regulatory body that regulates use of the therapy; for example, the US FDA approves indications for most drugs in the US. 
-     */
-    public static final URI ApprovedIndication;
-
-    /**
-     * Aquarium. 
-     */
-    public static final URI Aquarium;
-
-    /**
-     * An art gallery. 
-     */
-    public static final URI ArtGallery;
-
-    /**
-     * A type of blood vessel that specifically carries blood away from the heart. 
-     */
-    public static final URI Artery;
-
-    /**
-     * An article, such as a news article or piece of investigative report. Newspapers and magazines have articles of many different types and this is intended to cover them all. 
-     */
-    public static final URI Article;
-
-    /**
-     * Professional service: Attorney. 
-     */
-    public static final URI Attorney;
-
-    /**
-     * Intended audience for a creative work, i.e. the group for whom the work was created. 
-     */
-    public static final URI Audience;
-
-    /**
-     * An audio file. 
-     */
-    public static final URI AudioObject;
-
-    /**
-     * Auto body shop. 
-     */
-    public static final URI AutoBodyShop;
-
-    /**
-     * An car dealership. 
-     */
-    public static final URI AutoDealer;
-
-    /**
-     * An auto parts store. 
-     */
-    public static final URI AutoPartsStore;
-
-    /**
-     * A car rental business. 
-     */
-    public static final URI AutoRental;
-
-    /**
-     * Car repair business. 
-     */
-    public static final URI AutoRepair;
-
-    /**
-     * A car wash business. 
-     */
-    public static final URI AutoWash;
-
-    /**
-     * ATM/cash machine. 
-     */
-    public static final URI AutomatedTeller;
-
-    /**
-     * Car repair, sales, or parts. 
-     */
-    public static final URI AutomotiveBusiness;
-
-    /**
-     * A bakery. 
-     */
-    public static final URI Bakery;
-
-    /**
-     * Bank or credit union. 
-     */
-    public static final URI BankOrCreditUnion;
-
-    /**
-     * A bar or pub. 
-     */
-    public static final URI BarOrPub;
-
-    /**
-     * Beach. 
-     */
-    public static final URI Beach;
-
-    /**
-     * Beauty salon. 
-     */
-    public static final URI BeautySalon;
-
-    /**
-     * Bed and breakfast. 
-     */
-    public static final URI BedAndBreakfast;
-
-    /**
-     * A bike store. 
-     */
-    public static final URI BikeStore;
-
-    /**
-     * A blog 
-     */
-    public static final URI Blog;
-
-    /**
-     * A blog post. 
-     */
-    public static final URI BlogPosting;
-
-    /**
-     * A medical test performed on a sample of a patient's blood. 
-     */
-    public static final URI BloodTest;
-
-    /**
-     * A body of water, such as a sea, ocean, or lake. 
-     */
-    public static final URI BodyOfWater;
-
-    /**
-     * Rigid connective tissue that comprises up the skeletal structure of the human body. 
-     */
-    public static final URI Bone;
-
-    /**
-     * A book. 
-     */
-    public static final URI Book;
-
-    /**
-     * The publication format of the book. 
-     */
-    public static final URI BookFormatType;
-
-    /**
-     * A bookstore. 
-     */
-    public static final URI BookStore;
-
-    /**
-     * A bowling alley. 
-     */
-    public static final URI BowlingAlley;
-
-    /**
-     * Any anatomical structure which pertains to the soft nervous tissue functioning as the coordinating center of sensation and intellectual and nervous activity. 
-     */
-    public static final URI BrainStructure;
-
-    /**
-     * A brand is a name used by an organization or business person for labeling a product, product group, or similar. 
-     */
-    public static final URI Brand;
-
-    /**
-     * Brewery. 
-     */
-    public static final URI Brewery;
-
-    /**
-     * A Buddhist temple. 
-     */
-    public static final URI BuddhistTemple;
-
-    /**
-     * A bus station. 
-     */
-    public static final URI BusStation;
-
-    /**
-     * A bus stop. 
-     */
-    public static final URI BusStop;
-
-    /**
-     * A business entity type is a conceptual entity representing the legal form, the size, the main line of business, the position in the value chain, or any combination thereof, of an organization or business person.
-
-     Commonly used values:
-
-     http://purl.org/goodrelations/v1#Business
-     http://purl.org/goodrelations/v1#Enduser
-     http://purl.org/goodrelations/v1#PublicInstitution
-     http://purl.org/goodrelations/v1#Reseller 
-     */
-    public static final URI BusinessEntityType;
-
-    /**
-     * Event type: Business event. 
-     */
-    public static final URI BusinessEvent;
-
-    /**
-     * The business function specifies the type of activity or access (i.e., the bundle of rights) offered by the organization or business person through the offer. Typical are sell, rental or lease, maintenance or repair, manufacture / produce, recycle / dispose, engineering / construction, or installation. Proprietary specifications of access rights are also instances of this class.
-
-     Commonly used values:
-
-     http://purl.org/goodrelations/v1#ConstructionInstallation
-     http://purl.org/goodrelations/v1#Dispose
-     http://purl.org/goodrelations/v1#LeaseOut
-     http://purl.org/goodrelations/v1#Maintain
-     http://purl.org/goodrelations/v1#ProvideService
-     http://purl.org/goodrelations/v1#Repair
-     http://purl.org/goodrelations/v1#Sell
-     http://purl.org/goodrelations/v1#Buy 
-     */
-    public static final URI BusinessFunction;
-
-    /**
-     * A cafe or coffee shop. 
-     */
-    public static final URI CafeOrCoffeeShop;
-
-    /**
-     * A campground. 
-     */
-    public static final URI Campground;
-
-    /**
-     * A canal, like the Panama Canal 
-     */
-    public static final URI Canal;
-
-    /**
-     * A casino. 
-     */
-    public static final URI Casino;
-
-    /**
-     * A Catholic church. 
-     */
-    public static final URI CatholicChurch;
-
-    /**
-     * A graveyard. 
-     */
-    public static final URI Cemetery;
-
-    /**
-     * Web page type: Checkout page. 
-     */
-    public static final URI CheckoutPage;
-
-    /**
-     * A Childcare center. 
-     */
-    public static final URI ChildCare;
-
-    /**
-     * Event type: Children's event. 
-     */
-    public static final URI ChildrensEvent;
-
-    /**
-     * A church. 
-     */
-    public static final URI Church;
-
-    /**
-     * A city or town. 
-     */
-    public static final URI City;
-
-    /**
-     * A city hall. 
-     */
-    public static final URI CityHall;
-
-    /**
-     * A public structure, such as a town hall or concert hall. 
-     */
-    public static final URI CivicStructure;
-
-    /**
-     * A clothing store. 
-     */
-    public static final URI ClothingStore;
-
-    /**
-     * Web page type: Collection page. 
-     */
-    public static final URI CollectionPage;
-
-    /**
-     * A college, university, or other third-level educational institution. 
-     */
-    public static final URI CollegeOrUniversity;
-
-    /**
-     * A comedy club. 
-     */
-    public static final URI ComedyClub;
-
-    /**
-     * Event type: Comedy event. 
-     */
-    public static final URI ComedyEvent;
-
-    /**
-     * A comment on an item - for example, a comment on a blog post. The comment's content is expressed via the "text" property, and its topic via "about", properties shared with all CreativeWorks. 
-     */
-    public static final URI Comment;
-
-    /**
-     * A computer store. 
-     */
-    public static final URI ComputerStore;
-
-    /**
-     * Web page type: Contact page. 
-     */
-    public static final URI ContactPage;
-
-    /**
-     * A contact point—for example, a Customer Complaints department. 
-     */
-    public static final URI ContactPoint;
-
-    /**
-     * One of the continents (for example, Europe or Africa). 
-     */
-    public static final URI Continent;
-
-    /**
-     * A convenience store. 
-     */
-    public static final URI ConvenienceStore;
-
-    /**
-     * Organization: A business corporation. 
-     */
-    public static final URI Corporation;
-
-    /**
-     * A country. 
-     */
-    public static final URI Country;
-
-    /**
-     * A courthouse. 
-     */
-    public static final URI Courthouse;
-
-    /**
-     * The most generic kind of creative work, including books, movies, photographs, software programs, etc. 
-     */
-    public static final URI CreativeWork;
-
-    /**
-     * A credit or debit card type as a standardized procedure for transferring the monetary amount for a purchase.
-
-     Commonly used values:
-
-     http://purl.org/goodrelations/v1#AmericanExpress
-     http://purl.org/goodrelations/v1#DinersClub
-     http://purl.org/goodrelations/v1#Discover
-     http://purl.org/goodrelations/v1#JCB
-     http://purl.org/goodrelations/v1#MasterCard
-     http://purl.org/goodrelations/v1#VISA 
-     */
-    public static final URI CreditCard;
-
-    /**
-     * A crematorium. 
-     */
-    public static final URI Crematorium;
-
-    /**
-     * An alternative, closely-related condition typically considered later in the differential diagnosis process along with the signs that are used to distinguish it. 
-     */
-    public static final URI DDxElement;
-
-    /**
-     * Event type: A social dance. 
-     */
-    public static final URI DanceEvent;
-
-    /**
-     * A dance group—for example, the Alvin Ailey Dance Theater or Riverdance. 
-     */
-    public static final URI DanceGroup;
-
-    /**
-     * The day of the week, e.g. used to specify to which day the opening hours of an OpeningHoursSpecification refer.
-
-     Commonly used values:
-
-     http://purl.org/goodrelations/v1#Monday
-     http://purl.org/goodrelations/v1#Tuesday
-     http://purl.org/goodrelations/v1#Wednesday
-     http://purl.org/goodrelations/v1#Thursday
-     http://purl.org/goodrelations/v1#Friday
-     http://purl.org/goodrelations/v1#Saturday
-     http://purl.org/goodrelations/v1#Sunday
-     http://purl.org/goodrelations/v1#PublicHolidays 
-     */
-    public static final URI DayOfWeek;
-
-    /**
-     * A day spa. 
-     */
-    public static final URI DaySpa;
-
-    /**
-     * A defence establishment, such as an army or navy base. 
-     */
-    public static final URI DefenceEstablishment;
-
-    /**
-     * The price for the delivery of an offer using a particular delivery method. 
-     */
-    public static final URI DeliveryChargeSpecification;
-
-    /**
-     * A delivery method is a standardized procedure for transferring the product or service to the destination of fulfilment chosen by the customer. Delivery methods are characterized by the means of transportation used, and by the organization or group that is the contracting party for the sending organization or person.
-
-     Commonly used values:
-
-     http://purl.org/goodrelations/v1#DeliveryModeDirectDownload
-     http://purl.org/goodrelations/v1#DeliveryModeFreight
-     http://purl.org/goodrelations/v1#DeliveryModeMail
-     http://purl.org/goodrelations/v1#DeliveryModeOwnFleet
-     http://purl.org/goodrelations/v1#DeliveryModePickUp
-     http://purl.org/goodrelations/v1#DHL
-     http://purl.org/goodrelations/v1#FederalExpress
-     http://purl.org/goodrelations/v1#UPS 
-     */
-    public static final URI DeliveryMethod;
-
-    /**
-     * A demand entity represents the public, not necessarily binding, not necessarily exclusive, announcement by an organization or person to seek a certain type of goods or services. For describing demand using this type, the very same properties used for Offer apply. 
-     */
-    public static final URI Demand;
-
-    /**
-     * A dentist. 
-     */
-    public static final URI Dentist;
-
-    /**
-     * A department store. 
-     */
-    public static final URI DepartmentStore;
-
-    /**
-     * A medical laboratory that offers on-site or off-site diagnostic services. 
-     */
-    public static final URI DiagnosticLab;
-
-    /**
-     * A medical procedure intended primarly for diagnostic, as opposed to therapeutic, purposes. 
-     */
-    public static final URI DiagnosticProcedure;
-
-    /**
-     * A strategy of regulating the intake of food to achieve or maintain a specific health-related goal. 
-     */
-    public static final URI Diet;
-
-    /**
-     * A product taken by mouth that contains a dietary ingredient intended to supplement the diet. Dietary ingredients may include vitamins, minerals, herbs or other botanicals, amino acids, and substances such as enzymes, organ tissues, glandulars and metabolites. 
-     */
-    public static final URI DietarySupplement;
-
-    /**
-     * Properties that take Distances as values are of the form '<Number> <Length unit of measure>'. E.g., '7 ft' 
-     */
-    public static final URI Distance;
-
-    /**
-     * A specific dosing schedule for a drug or supplement. 
-     */
-    public static final URI DoseSchedule;
-
-    /**
-     * A chemical or biologic substance, used as a medical therapy, that has a physiological effect on an organism. 
-     */
-    public static final URI Drug;
-
-    /**
-     * A class of medical drugs, e.g., statins. Classes can represent general pharmacological class, common mechanisms of action, common physiological effects, etc. 
-     */
-    public static final URI DrugClass;
-
-    /**
-     * The cost per unit of a medical drug. Note that this type is not meant to represent the price in an offer of a drug for sale; see the Offer type for that. This type will typically be used to tag wholesale or average retail cost of a drug, or maximum reimbursable cost. Costs of medical drugs vary widely depending on how and where they are paid for, so while this type captures some of the variables, costs should be used with caution by consumers of this schema's markup. 
-     */
-    public static final URI DrugCost;
-
-    /**
-     * Enumerated categories of medical drug costs. 
-     */
-    public static final URI DrugCostCategory;
-
-    /**
-     * The legal availability status of a medical drug. 
-     */
-    public static final URI DrugLegalStatus;
-
-    /**
-     * Categories that represent an assessment of the risk of fetal injury due to a drug or pharmaceutical used as directed by the mother during pregnancy. 
-     */
-    public static final URI DrugPregnancyCategory;
-
-    /**
-     * Indicates whether this drug is available by prescription or over-the-counter. 
-     */
-    public static final URI DrugPrescriptionStatus;
-
-    /**
-     * A specific strength in which a medical drug is available in a specific country. 
-     */
-    public static final URI DrugStrength;
-
-    /**
-     * A dry-cleaning business. 
-     */
-    public static final URI DryCleaningOrLaundry;
-
-    /**
-     * Quantity: Duration (use  ISO 8601 duration format). 
-     */
-    public static final URI Duration;
-
-    /**
-     * Event type: Education event. 
-     */
-    public static final URI EducationEvent;
-
-    /**
-     * An educational organization. 
-     */
-    public static final URI EducationalOrganization;
-
-    /**
-     * An electrician. 
-     */
-    public static final URI Electrician;
-
-    /**
-     * An electronics store. 
-     */
-    public static final URI ElectronicsStore;
-
-    /**
-     * An elementary school. 
-     */
-    public static final URI ElementarySchool;
-
-    /**
-     * An embassy. 
-     */
-    public static final URI Embassy;
-
-    /**
-     * An emergency service, such as a fire station or ER. 
-     */
-    public static final URI EmergencyService;
-
-    /**
-     * An employment agency. 
-     */
-    public static final URI EmploymentAgency;
-
-    /**
-     * Properties that take Enerygy as values are of the form '<Number> <Energy unit of measure>' 
-     */
-    public static final URI Energy;
-
-    /**
-     * A business providing entertainment. 
-     */
-    public static final URI EntertainmentBusiness;
-
-    /**
-     * Lists or enumerations—for example, a list of cuisines or music genres, etc. 
-     */
-    public static final URI Enumeration;
-
-    /**
-     * An event happening at a certain time at a certain location. 
-     */
-    public static final URI Event;
-
-    /**
-     * An event venue. 
-     */
-    public static final URI EventVenue;
-
-    /**
-     * A gym. 
-     */
-    public static final URI ExerciseGym;
-
-    /**
-     * Fitness-related activity designed for a specific health-related purpose, including defined exercise routines as well as activity prescribed by a clinician. 
-     */
-    public static final URI ExercisePlan;
-
-    /**
-     * A fast-food restaurant. 
-     */
-    public static final URI FastFoodRestaurant;
-
-    /**
-     * Event type: Festival. 
-     */
-    public static final URI Festival;
-
-    /**
-     * Financial services business. 
-     */
-    public static final URI FinancialService;
-
-    /**
-     * A fire station. With firemen. 
-     */
-    public static final URI FireStation;
-
-    /**
-     * A florist. 
-     */
-    public static final URI Florist;
-
-    /**
-     * A food-related business. 
-     */
-    public static final URI FoodEstablishment;
-
-    /**
-     * Event type: Food event. 
-     */
-    public static final URI FoodEvent;
-
-    /**
-     * A furniture store. 
-     */
-    public static final URI FurnitureStore;
-
-    /**
-     * A garden store. 
-     */
-    public static final URI GardenStore;
-
-    /**
-     * A gas station. 
-     */
-    public static final URI GasStation;
-
-    /**
-     * Residence type: Gated community. 
-     */
-    public static final URI GatedResidenceCommunity;
-
-    /**
-     * A general contractor. 
-     */
-    public static final URI GeneralContractor;
-
-    /**
-     * The geographic coordinates of a place or event. 
-     */
-    public static final URI GeoCoordinates;
-
-    /**
-     * The geographic shape of a place. 
-     */
-    public static final URI GeoShape;
-
-    /**
-     * A golf course. 
-     */
-    public static final URI GolfCourse;
-
-    /**
-     * A government building. 
-     */
-    public static final URI GovernmentBuilding;
-
-    /**
-     * A government office—for example, an IRS or DMV office. 
-     */
-    public static final URI GovernmentOffice;
-
-    /**
-     * A governmental organization or agency. 
-     */
-    public static final URI GovernmentOrganization;
-
-    /**
-     * A grocery store. 
-     */
-    public static final URI GroceryStore;
-
-    /**
-     * An HVAC service. 
-     */
-    public static final URI HVACBusiness;
-
-    /**
-     * A hair salon. 
-     */
-    public static final URI HairSalon;
-
-    /**
-     * A hardware store. 
-     */
-    public static final URI HardwareStore;
-
-    /**
-     * Health and beauty. 
-     */
-    public static final URI HealthAndBeautyBusiness;
-
-    /**
-     * A health club. 
-     */
-    public static final URI HealthClub;
-
-    /**
-     * A high school. 
-     */
-    public static final URI HighSchool;
-
-    /**
-     * A Hindu temple. 
-     */
-    public static final URI HinduTemple;
-
-    /**
-     * A hobby store. 
-     */
-    public static final URI HobbyShop;
-
-    /**
-     * A construction business. 
-     */
-    public static final URI HomeAndConstructionBusiness;
-
-    /**
-     * A home goods store. 
-     */
-    public static final URI HomeGoodsStore;
-
-    /**
-     * A hospital. 
-     */
-    public static final URI Hospital;
-
-    /**
-     * A hostel. 
-     */
-    public static final URI Hostel;
-
-    /**
-     * A hotel. 
-     */
-    public static final URI Hotel;
-
-    /**
-     * A house painting service. 
-     */
-    public static final URI HousePainter;
-
-    /**
-     * An ice cream shop 
-     */
-    public static final URI IceCreamShop;
-
-    /**
-     * Web page type: Image gallery page. 
-     */
-    public static final URI ImageGallery;
-
-    /**
-     * An image file. 
-     */
-    public static final URI ImageObject;
-
-    /**
-     * Any medical imaging modality typically used for diagnostic purposes. 
-     */
-    public static final URI ImagingTest;
-
-    /**
-     * A single, identifiable product instance (e.g. a laptop with a particular serial number). 
-     */
-    public static final URI IndividualProduct;
-
-    /**
-     * Classes of agents or pathogens that transmit infectious diseases. Enumerated type. 
-     */
-    public static final URI InfectiousAgentClass;
-
-    /**
-     * An infectious disease is a clinically evident human disease resulting from the presence of pathogenic microbial agents, like pathogenic viruses, pathogenic bacteria, fungi, protozoa, multicellular parasites, and prions. To be considered an infectious disease, such pathogens are known to be able to cause this disease. 
-     */
-    public static final URI InfectiousDisease;
-
-    /**
-     * Insurance agency. 
-     */
-    public static final URI InsuranceAgency;
-
-    /**
-     * A utility class that serves as the umbrella for a number of 'intangible' things such as quantities, structured values, etc. 
-     */
-    public static final URI Intangible;
-
-    /**
-     * An internet cafe. 
-     */
-    public static final URI InternetCafe;
-
-    /**
-     * A list of possible product availablity options. 
-     */
-    public static final URI ItemAvailability;
-
-    /**
-     * A list of items of any sort—for example, Top 10 Movies About Weathermen, or Top 100 Party Songs. Not to be confused with HTML lists, which are often used only for formatting. 
-     */
-    public static final URI ItemList;
-
-    /**
-     * A page devoted to a single item, such as a particular product or hotel. 
-     */
-    public static final URI ItemPage;
-
-    /**
-     * A jewelry store. 
-     */
-    public static final URI JewelryStore;
-
-    /**
-     * A listing that describes a job opening in a certain organization. 
-     */
-    public static final URI JobPosting;
-
-    /**
-     * The anatomical location at which two or more bones make contact. 
-     */
-    public static final URI Joint;
-
-    /**
-     * A lake (for example, Lake Pontrachain). 
-     */
-    public static final URI LakeBodyOfWater;
-
-    /**
-     * A landform or physical feature.  Landform elements include mountains, plains, lakes, rivers, seascape and oceanic waterbody interface features such as bays, peninsulas, seas and so forth, including sub-aqueous terrain features such as submersed mountain ranges, volcanoes, and the great ocean basins. 
-     */
-    public static final URI Landform;
-
-    /**
-     * An historical landmark or building. 
-     */
-    public static final URI LandmarksOrHistoricalBuildings;
-
-    /**
-     * Natural languages such as Spanish, Tamil, Hindi, English, etc. and programming languages such as Scheme and Lisp. 
-     */
-    public static final URI Language;
-
-    /**
-     * A legislative building—for example, the state capitol. 
-     */
-    public static final URI LegislativeBuilding;
-
-    /**
-     * A library. 
-     */
-    public static final URI Library;
-
-    /**
-     * A process of care involving exercise, changes to diet, fitness routines, and other lifestyle changes aimed at improving a health condition. 
-     */
-    public static final URI LifestyleModification;
-
-    /**
-     * A short band of tough, flexible, fibrous connective tissue that functions to connect multiple bones, cartilages, and structurally support joints. 
-     */
-    public static final URI Ligament;
-
-    /**
-     * A liquor store. 
-     */
-    public static final URI LiquorStore;
-
-    /**
-     * Event type: Literary event. 
-     */
-    public static final URI LiteraryEvent;
-
-    /**
-     * A particular physical business or branch of an organization. Examples of LocalBusiness include a restaurant, a particular branch of a restaurant chain, a branch of a bank, a medical practice, a club, a bowling alley, etc. 
-     */
-    public static final URI LocalBusiness;
-
-    /**
-     * A locksmith. 
-     */
-    public static final URI Locksmith;
-
-    /**
-     * A lodging business, such as a motel, hotel, or inn. 
-     */
-    public static final URI LodgingBusiness;
-
-    /**
-     * A type of blood vessel that specifically carries lymph fluid unidirectionally toward the heart. 
-     */
-    public static final URI LymphaticVessel;
-
-    /**
-     * A map. 
-     */
-    public static final URI Map;
-
-    /**
-     * Properties that take Mass as values are of the form '<Number> <Mass unit of measure>'. E.g., '7 kg' 
-     */
-    public static final URI Mass;
-
-    /**
-     * The maximum dosing schedule considered safe for a drug or supplement as recommended by an authority or by the drug/supplement's manufacturer. Capture the recommending authority in the recognizingAuthority property of MedicalEntity. 
-     */
-    public static final URI MaximumDoseSchedule;
-
-    /**
-     * An image, video, or audio object embedded in a web page. Note that a creative work may have many media objects associated with it on the same web page. For example, a page about a single song (MusicRecording) may have a music video (VideoObject), and a high and low bandwidth audio stream (2 AudioObject's). 
-     */
-    public static final URI MediaObject;
-
-    /**
-     * Target audiences for medical web pages. Enumerated type. 
-     */
-    public static final URI MedicalAudience;
-
-    /**
-     * The causative agent(s) that are responsible for the pathophysiologic process that eventually results in a medical condition, symptom or sign. In this schema, unless otherwise specified this is meant to be the proximate cause of the medical condition, symptom or sign. The proximate cause is defined as the causative agent that most directly results in the medical condition, symptom or sign. For example, the HIV virus could be considered a cause of AIDS. Or in a diagnostic context, if a patient fell and sustained a hip fracture and two days later sustained a pulmonary embolism which eventuated in a cardiac arrest, the cause of the cardiac arrest (the proximate cause) would be the pulmonary embolism and not the fall. Medical causes can include cardiovascular, chemical, dermatologic, endocrine, environmental, gastroenterologic, genetic, hematologic, gynecologic, iatrogenic, infectious, musculoskeletal, neurologic, nutritional, obstetric, oncologic, otolaryngologic, pharmacologic, 
 psychiatric, pulmonary, renal, rheumatologic, toxic, traumatic, or urologic causes; medical conditions can be causes as well. 
-     */
-    public static final URI MedicalCause;
-
-    /**
-     * A medical clinic. 
-     */
-    public static final URI MedicalClinic;
-
-    /**
-     * A code for a medical entity. 
-     */
-    public static final URI MedicalCode;
-
-    /**
-     * Any condition of the human body that affects the normal functioning of a person, whether physically or mentally. Includes diseases, injuries, disabilities, disorders, syndromes, etc. 
-     */
-    public static final URI MedicalCondition;
-
-    /**
-     * A stage of a medical condition, such as 'Stage IIIa'. 
-     */
-    public static final URI MedicalConditionStage;
-
-    /**
-     * A condition or factor that serves as a reason to withhold a certain medical therapy. Contraindications can be absolute (there are no reasonable circumstances for undertaking a course of action) or relative (the patient is at higher risk of complications, but that these risks may be outweighed by other considerations or mitigated by other measures). 
-     */
-    public static final URI MedicalContraindication;
-
-    /**
-     * Any object used in a medical capacity, such as to diagnose or treat a patient. 
-     */
-    public static final URI MedicalDevice;
-
-    /**
-     * Categories of medical devices, organized by the purpose or intended use of the device. 
-     */
-    public static final URI MedicalDevicePurpose;
-
-    /**
-     * The most generic type of entity related to health and the practice of medicine. 
-     */
-    public static final URI MedicalEntity;
-
-    /**
-     * Enumerations related to health and the practice of medicine. 
-     */
-    public static final URI MedicalEnumeration;
-
-    /**
-     * Level of evidence for a medical guideline. Enumerated type. 
-     */
-    public static final URI MedicalEvidenceLevel;
-
-    /**
-     * Any recommendation made by a standard society (e.g. ACC/AHA) or consensus statement that denotes how to diagnose and treat a particular condition. Note: this type should be used to tag the actual guideline recommendation; if the guideline recommendation occurs in a larger scholarly article, use MedicalScholarlyArticle to tag the overall article, not this type. Note also: the organization making the recommendation should be captured in the recognizingAuthority base property of MedicalEntity. 
-     */
-    public static final URI MedicalGuideline;
-
-    /**
-     * A guideline contraindication that designates a process as harmful and where quality of the data supporting the contraindication is sound. 
-     */
-    public static final URI MedicalGuidelineContraindication;
-
-    /**
-     * A guideline recommendation that is regarded as efficacious and where quality of the data supporting the recommendation is sound. 
-     */
-    public static final URI MedicalGuidelineRecommendation;
-
-    /**
-     * Any medical imaging modality typically used for diagnostic purposes. Enumerated type. 
-     */
-    public static final URI MedicalImagingTechnique;
-
-    /**
-     * A condition or factor that indicates use of a medical therapy, including signs, symptoms, risk factors, anatomical states, etc. 
-     */
-    public static final URI MedicalIndication;
-
-    /**
-     * A utility class that serves as the umbrella for a number of 'intangible' things in the medical space. 
-     */
-    public static final URI MedicalIntangible;
-
-    /**
-     * An observational study is a type of medical study that attempts to infer the possible effect of a treatment through observation of a cohort of subjects over a period of time. In an observational study, the assignment of subjects into treatment groups versus control groups is outside the control of the investigator. This is in contrast with controlled studies, such as the randomized controlled trials represented by MedicalTrial, where each subject is randomly assigned to a treatment group or a control group before the start of the treatment. 
-     */
-    public static final URI MedicalObservationalStudy;
-
-    /**
-     * Design models for observational medical studies. Enumerated type. 
-     */
-    public static final URI MedicalObservationalStudyDesign;
-
-    /**
-     * A medical organization, such as a doctor's office or clinic. 
-     */
-    public static final URI MedicalOrganization;
-
-    /**
-     * A process of care used in either a diagnostic, therapeutic, or palliative capacity that relies on invasive (surgical), non-invasive, or percutaneous techniques. 
-     */
-    public static final URI MedicalProcedure;
-
-    /**
-     * An enumeration that describes different types of medical procedures. 
-     */
-    public static final URI MedicalProcedureType;
-
-    /**
-     * A complex mathematical calculation requiring an online calculator, used to assess prognosis. Note: use the url property of Thing to record any URLs for online calculators. 
-     */
-    public static final URI MedicalRiskCalculator;
-
-    /**
-     * Any rule set or interactive tool for estimating the risk of developing a complication or condition. 
-     */
-    public static final URI MedicalRiskEstimator;
-
-    /**
-     * A risk factor is anything that increases a person's likelihood of developing or contracting a disease, medical condition, or complication. 
-     */
-    public static final URI MedicalRiskFactor;
-
-    /**
-     * A simple system that adds up the number of risk factors to yield a score that is associated with prognosis, e.g. CHAD score, TIMI risk score. 
-     */
-    public static final URI MedicalRiskScore;
-
-    /**
-     * A scholarly article in the medical domain. 
-     */
-    public static final URI MedicalScholarlyArticle;
-
-    /**
-     * Any physical manifestation of a person's medical condition discoverable by objective diagnostic tests or physical examination. 
-     */
-    public static final URI MedicalSign;
-
-    /**
-     * Any indication of the existence of a medical condition or disease. 
-     */
-    public static final URI MedicalSignOrSymptom;
-
-    /**
-     * Any specific branch of medical science or practice. Medical specialities include clinical specialties that pertain to particular organ systems and their respective disease states, as well as allied health specialties. Enumerated type. 
-     */
-    public static final URI MedicalSpecialty;
-
-    /**
-     * A medical study is an umbrella type covering all kinds of research studies relating to human medicine or health, including observational studies and interventional trials and registries, randomized, controlled or not. When the specific type of study is known, use one of the extensions of this type, such as MedicalTrial or MedicalObservationalStudy. Also, note that this type should be used to mark up data that describes the study itself; to tag an article that publishes the results of a study, use MedicalScholarlyArticle. Note: use the code property of MedicalEntity to store study IDs, e.g. clinicaltrials.gov ID. 
-     */
-    public static final URI MedicalStudy;
-
-    /**
-     * The status of a medical study. Enumerated type. 
-     */
-    public static final URI MedicalStudyStatus;
-
-    /**
-     * Any indication of the existence of a medical condition or disease that is apparent to the patient. 
-     */
-    public static final URI MedicalSymptom;
-
-    /**
-     * Any medical test, typically performed for diagnostic purposes. 
-     */
-    public static final URI MedicalTest;
-
-    /**
-     * Any collection of tests commonly ordered together. 
-     */
-    public static final URI MedicalTestPanel;
-
-    /**
-     * Any medical intervention designed to prevent, treat, and cure human diseases and medical conditions, including both curative and palliative therapies. Medical therapies are typically processes of care relying upon pharmacotherapy, behavioral therapy, supportive therapy (with fluid or nutrition for example), or detoxification (e.g. hemodialysis) aimed at improving or preventing a health condition. 
-     */
-    public static final URI MedicalTherapy;
-
-    /**
-     * A medical trial is a type of medical study that uses scientific process used to compare the safety and efficacy of medical therapies or medical procedures. In general, medical trials are controlled and subjects are allocated at random to the different treatment and/or control groups. 
-     */
-    public static final URI MedicalTrial;
-
-    /**
-     * Design models for medical trials. Enumerated type. 
-     */
-    public static final URI MedicalTrialDesign;
-
-    /**
-     * A web page that provides medical information. 
-     */
-    public static final URI MedicalWebPage;
-
-    /**
-     * Systems of medical practice. 
-     */
-    public static final URI MedicineSystem;
-
-    /**
-     * A men's clothing store. 
-     */
-    public static final URI MensClothingStore;
-
-    /**
-     * A middle school. 
-     */
-    public static final URI MiddleSchool;
-
-    /**
-     * A mobile software application. 
-     */
-    public static final URI MobileApplication;
-
-    /**
-     * A mobile-phone store. 
-     */
-    public static final URI MobilePhoneStore;
-
-    /**
-     * A mosque. 
-     */
-    public static final URI Mosque;
-
-    /**
-     * A motel. 
-     */
-    public static final URI Motel;
-
-    /**
-     * A motorcycle dealer. 
-     */
-    public static final URI MotorcycleDealer;
-
-    /**
-     * A motorcycle repair shop. 
-     */
-    public static final URI MotorcycleRepair;
-
-    /**
-     * A mountain, like Mount Whitney or Mount Everest 
-     */
-    public static final URI Mountain;
-
-    /**
-     * A movie. 
-     */
-    public static final URI Movie;
-
-    /**
-     * A movie rental store. 
-     */
-    public static final URI MovieRentalStore;
-
-    /**
-     * A movie theater. 
-     */
-    public static final URI MovieTheater;
-
-    /**
-     * A moving company. 
-     */
-    public static final URI MovingCompany;
-
-    /**
-     * A muscle is an anatomical structure consisting of a contractile form of tissue that animals use to effect movement. 
-     */
-    public static final URI Muscle;
-
-    /**
-     * A museum. 
-     */
-    public static final URI Museum;
-
-    /**
-     * A collection of music tracks. 
-     */
-    public static final URI MusicAlbum;
-
-    /**
-     * Event type: Music event. 
-     */
-    public static final URI MusicEvent;
-
-    /**
-     * A musical group, such as a band, an orchestra, or a choir. Can also be a solo musician. 
-     */
-    public static final URI MusicGroup;
-
-    /**
-     * A collection of music tracks in playlist form. 
-     */
-    public static final URI MusicPlaylist;
-
-    /**
-     * A music recording (track), usually a single song. 
-     */
-    public static final URI MusicRecording;
-
-    /**
-     * A music store. 
-     */
-    public static final URI MusicStore;
-
-    /**
-     * A music venue. 
-     */
-    public static final URI MusicVenue;
-
-    /**
-     * A music video file. 
-     */
-    public static final URI MusicVideoObject;
-
-    /**
-     * Organization: Non-governmental Organization. 
-     */
-    public static final URI NGO;
-
-    /**
-     * A nail salon. 
-     */
-    public static final URI NailSalon;
-
-    /**
-     * A common pathway for the electrochemical nerve impulses that are transmitted along each of the axons. 
-     */
-    public static final URI Nerve;
-
-    /**
-     * A news article 
-     */
-    public static final URI NewsArticle;
-
-    /**
-     * A nightclub or discotheque. 
-     */
-    public static final URI NightClub;
-
-    /**
-     * A notary. 
-     */
-    public static final URI Notary;
-
-    /**
-     * Nutritional information about the recipe. 
-     */
-    public static final URI NutritionInformation;
-
-    /**
-     * An ocean (for example, the Pacific). 
-     */
-    public static final URI OceanBodyOfWater;
-
-    /**
-     * An offer to sell an item—for example, an offer to sell a product, the DVD of a movie, or tickets to an event. 
-     */
-    public static final URI Offer;
-
-    /**
-     * A list of possible conditions for the item for sale. 
-     */
-    public static final URI OfferItemCondition;
-
-    /**
-     * An office equipment store. 
-     */
-    public static final URI OfficeEquipmentStore;
-
-    /**
-     * A structured value providing information about the opening hours of a place or a certain service inside a place. 
-     */
-    public static final URI OpeningHoursSpecification;
-
-    /**
-     * An optician's store. 
-     */
-    public static final URI Optician;
-
-    /**
-     * An organization such as a school, NGO, corporation, club, etc. 
-     */
-    public static final URI Organization;
-
-    /**
-     * An outlet store. 
-     */
-    public static final URI OutletStore;
-
-    /**
-     * A structured value providing information about when a certain organization or person owned a certain product. 
-     */
-    public static final URI OwnershipInfo;
-
-    /**
-     * A painting. 
-     */
-    public static final URI Painting;
-
-    /**
-     * A medical procedure intended primarly for palliative purposes, aimed at relieving the symptoms of an underlying health condition. 
-     */
-    public static final URI PalliativeProcedure;
-
-    /**
-     * A private parcel service as the delivery mode available for a certain offer.
-
-     Commonly used values:
-
-     http://purl.org/goodrelations/v1#DHL
-     http://purl.org/goodrelations/v1#FederalExpress
-     http://purl.org/goodrelations/v1#UPS 
-     */
-    public static final URI ParcelService;
-
-    /**
-     * A park. 
-     */
-    public static final URI Park;
-
-    /**
-     * A parking lot or other parking facility. 
-     */
-    public static final URI ParkingFacility;
-
-    /**
-     * A medical test performed by a laboratory that typically involves examination of a tissue sample by a pathologist. 
-     */
-    public static final URI PathologyTest;
-
-    /**
-     * A pawnstore. 
-     */
-    public static final URI PawnShop;
-
-    /**
-     * The costs of settling the payment using a particular payment method. 
-     */
-    public static final URI PaymentChargeSpecification;
-
-    /**
-     * A payment method is a standardized procedure for transferring the monetary amount for a purchase. Payment methods are characterized by the legal and technical structures used, and by the organization or group carrying out the transaction.
-
-     Commonly used values:
-
-     http://purl.org/goodrelations/v1#ByBankTransferInAdvance
-     http://purl.org/goodrelations/v1#ByInvoice
-     http://purl.org/goodrelations/v1#Cash
-     http://purl.org/goodrelations/v1#CheckInAdvance
-     http://purl.org/goodrelations/v1#COD
-     http://purl.org/goodrelations/v1#DirectDebit
-     http://purl.org/goodrelations/v1#GoogleCheckout
-     http://purl.org/goodrelations/v1#PayPal
-     http://purl.org/goodrelations/v1#PaySwarm 
-     */
-    public static final URI PaymentMethod;
-
-    /**
-     * A theatre or other performing art center. 
-     */
-    public static final URI PerformingArtsTheater;
-
-    /**
-     * A performance group, such as a band, an orchestra, or a circus. 
-     */
-    public static final URI PerformingGroup;
-
-    /**
-     * A person (alive, dead, undead, or fictional). 
-     */
-    public static final URI Person;
-
-    /**
-     * A pet store. 
-     */
-    public static final URI PetStore;
-
-    /**
-     * A pharmacy or drugstore. 
-     */
-    public static final URI Pharmacy;
-
-    /**
-     * A photograph. 
-     */
-    public static final URI Photograph;
-
-    /**
-     * Any bodily activity that enhances or maintains physical fitness and overall health and wellness. Includes activity that is part of daily living and routine, structured exercise, and exercise prescribed as part of a medical treatment or recovery plan. 
-     */
-    public static final URI PhysicalActivity;
-
-    /**
-     * Categories of physical activity, organized by physiologic classification. 
-     */
-    public static final URI PhysicalActivityCategory;
-
-    /**
-     * A type of physical examination of a patient performed by a physician. Enumerated type. 
-     */
-    public static final URI PhysicalExam;
-
-    /**
-     * A process of progressive physical care and rehabilitation aimed at improving a health condition. 
-     */
-    public static final URI PhysicalTherapy;
-
-    /**
-     * A doctor's office. 
-     */
-    public static final URI Physician;
-
-    /**
-     * Entities that have a somewhat fixed, physical extension. 
-     */
-    public static final URI Place;
-
-    /**
-     * Place of worship, such as a church, synagogue, or mosque. 
-     */
-    public static final URI PlaceOfWorship;
-
-    /**
-     * A playground. 
-     */
-    public static final URI Playground;
-
-    /**
-     * A plumbing service. 
-     */
-    public static final URI Plumber;
-
-    /**
-     * A police station. 
-     */
-    public static final URI PoliceStation;
-
-    /**
-     * A pond 
-     */
-    public static final URI Pond;
-
-    /**
-     * A post office. 
-     */
-    public static final URI PostOffice;
-
-    /**
-     * The mailing address. 
-     */
-    public static final URI PostalAddress;
-
-    /**
-     * A preschool. 
-     */
-    public static final URI Preschool;
-
-    /**
-     * An indication for preventing an underlying condition, symptom, etc. 
-     */
-    public static final URI PreventionIndication;
-
-    /**
-     * A structured value representing a monetary amount. Typically, only the subclasses of this type are used for markup. 
-     */
-    public static final URI PriceSpecification;
-
-    /**
-     * A product is anything that is made available for sale—for example, a pair of shoes, a concert ticket, or a car. Commodity services, like haircuts, can also be represented using this type. 
-     */
-    public static final URI Product;
-
-    /**
-     * A datasheet or vendor specification of a product (in the sense of a prototypical description). 
-     */
-    public static final URI ProductModel;
-
-    /**
-     * Provider of professional services. 
-     */
-    public static final URI ProfessionalService;
-
-    /**
-     * Web page type: Profile page. 
-     */
-    public static final URI ProfilePage;
-
-    /**
-     * A process of care relying upon counseling, dialogue, communication, verbalization aimed at improving a mental health condition. 
-     */
-    public static final URI PsychologicalTreatment;
-
-    /**
-     * A public swimming pool. 
-     */
-    public static final URI PublicSwimmingPool;
-
-    /**
-     * A predefined value for a product characteristic, e.g. the the power cord plug type "US" or the garment sizes "S", "M", "L", and "XL" 
-     */
-    public static final URI QualitativeValue;
-
-    /**
-     * A point value or interval for product characteristics and other purposes. 
-     */
-    public static final URI QuantitativeValue;
-
-    /**
-     * Quantities such as distance, time, mass, weight, etc. Particular instances of say Mass are entities like '3 Kg' or '4 milligrams'. 
-     */
-    public static final URI Quantity;
-
-    /**
-     * An RV park. 
-     */
-    public static final URI RVPark;
-
-    /**
-     * A process of care using radiation aimed at improving a health condition. 
-     */
-    public static final URI RadiationTherapy;
-
-    /**
-     * A radio station. 
-     */
-    public static final URI RadioStation;
-
-    /**
-     * The rating of the video. 
-     */
-    public static final URI Rating;
-
-    /**
-     * A real-estate agent. 
-     */
-    public static final URI RealEstateAgent;
-
-    /**
-     * A recipe. 
-     */
-    public static final URI Recipe;
-
-    /**
-     * A recommended dosing schedule for a drug or supplement as prescribed or recommended by an authority or by the drug/supplement's manufacturer. Capture the recommending authority in the recognizingAuthority property of MedicalEntity. 
-     */
-    public static final URI RecommendedDoseSchedule;
-
-    /**
-     * A recycling center. 
-     */
-    public static final URI RecyclingCenter;
-
-    /**
-     * A patient-reported or observed dosing schedule for a drug or supplement. 
-     */
-    public static final URI ReportedDoseSchedule;
-
-    /**
-     * A reservoir, like the Lake Kariba reservoir. 
-     */
-    public static final URI Reservoir;
-
-    /**
-     * The place where a person lives. 
-     */
-    public static final URI Residence;
-
-    /**
-     * A restaurant. 
-     */
-    public static final URI Restaurant;
-
-    /**
-     * A review of an item - for example, a restaurant, movie, or store. 
-     */
-    public static final URI Review;
-
-    /**
-     * A river (for example, the broad majestic Shannon). 
-     */
-    public static final URI RiverBodyOfWater;
-
-    /**
-     * A roofing contractor. 
-     */
-    public static final URI RoofingContractor;
-
-    /**
-     * Event type: Sales event. 
-     */
-    public static final URI SaleEvent;
-
-    /**
-     * A scholarly article. 
-     */
-    public static final URI ScholarlyArticle;
-
-    /**
-     * A school. 
-     */
-    public static final URI School;
-
-    /**
-     * A piece of sculpture. 
-     */
-    public static final URI Sculpture;
-
-    /**
-     * A sea (for example, the Caspian sea). 
-     */
-    public static final URI SeaBodyOfWater;
-
-    /**
-     * Web page type: Search results page. 
-     */
-    public static final URI SearchResultsPage;
-
-    /**
-     * Self-storage facility. 
-     */
-    public static final URI SelfStorage;
-
-    /**
-     * A shoe store. 
-     */
-    public static final URI ShoeStore;
-
-    /**
-     * A shopping center or mall. 
-     */
-    public static final URI ShoppingCenter;
-
-    /**
-     * Residence type: Single-family home. 
-     */
-    public static final URI SingleFamilyResidence;
-
-    /**
-     * A navigation element of the page. 
-     */
-    public static final URI SiteNavigationElement;
-
-    /**
-     * A ski resort. 
-     */
-    public static final URI SkiResort;
-
-    /**
-     * Event type: Social event. 
-     */
-    public static final URI SocialEvent;
-
-    /**
-     * A software application. 
-     */
-    public static final URI SoftwareApplication;
-
-    /**
-     * A placeholder for multiple similar products of the same kind. 
-     */
-    public static final URI SomeProducts;
-
-    /**
-     * Any branch of a field in which people typically develop specific expertise, usually after significant study, time, and effort. 
-     */
-    public static final URI Specialty;
-
-    /**
-     * A sporting goods store. 
-     */
-    public static final URI SportingGoodsStore;
-
-    /**
-     * A sports location, such as a playing field. 
-     */
-    public static final URI SportsActivityLocation;
-
-    /**
-     * A sports club. 
-     */
-    public static final URI SportsClub;
-
-    /**
-     * Event type: Sports event. 
-     */
-    public static final URI SportsEvent;
-
-    /**
-     * Organization: Sports team. 
-     */
-    public static final URI SportsTeam;
-
-    /**
-     * A stadium. 
-     */
-    public static final URI StadiumOrArena;
-
-    /**
-     * A state or province. 
-     */
-    public static final URI State;
-
-    /**
-     * A retail good store. 
-     */
-    public static final URI Store;
-
-    /**
-     * Structured values are strings—for example, addresses—that have certain constraints on their structure. 
-     */
-    public static final URI StructuredValue;
-
-    /**
-     * A subway station. 
-     */
-    public static final URI SubwayStation;
-
-    /**
-     * Anatomical features that can be observed by sight (without dissection), including the form and proportions of the human body as well as surface landmarks that correspond to deeper subcutaneous structures. Superficial anatomy plays an important role in sports medicine, phlebotomy, and other medical specialties as underlying anatomical structures can be identified through surface palpation. For example, during back surgery, superficial anatomy can be used to palpate and count vertebrae to find the site of incision. Or in phlebotomy, superficial anatomy can be used to locate an underlying vein; for example, the median cubital vein can be located by palpating the borders of the cubital fossa (such as the epicondyles of the humerus) and then looking for the superficial signs of the vein, such as size, prominence, ability to refill after depression, and feel of surrounding tissue support. As another example, in a subluxation (dislocation) of the glenohumeral joint, the bony structu
 re becomes pronounced with the deltoid muscle failing to cover the glenohumeral joint allowing the edges of the scapula to be superficially visible. Here, the superficial anatomy is the visible edges of the scapula, implying the underlying dislocation of the joint (the related anatomical structure). 
-     */
-    public static final URI SuperficialAnatomy;
-
-    /**
-     * A synagogue. 
-     */
-    public static final URI Synagogue;
-
-    /**
-     * An episode of a TV series or season. 
-     */
-    public static final URI TVEpisode;
-
-    /**
-     * A TV season. 
-     */
-    public static final URI TVSeason;
-
-    /**
-     * A television series. 
-     */
-    public static final URI TVSeries;
-
-    /**
-     * A table on the page. 
-     */
-    public static final URI Table;
-
-    /**
-     * A tattoo parlor. 
-     */
-    public static final URI TattooParlor;
-
-    /**
-     * A taxi stand. 
-     */
-    public static final URI TaxiStand;
-
-    /**
-     * A television station. 
-     */
-    public static final URI TelevisionStation;
-
-    /**
-     * A tennis complex. 
-     */
-    public static final URI TennisComplex;
-
-    /**
-     * Event type: Theater performance. 
-     */
-    public static final URI TheaterEvent;
-
-    /**
-     * A theater group or company—for example, the Royal Shakespeare Company or Druid Theatre. 
-     */
-    public static final URI TheaterGroup;
-
-    /**
-     * A medical procedure intended primarly for therapeutic purposes, aimed at improving a health condition. 
-     */
-    public static final URI TherapeuticProcedure;
-
-    /**
-     * The most generic type of item. 
-     */
-    public static final URI Thing;
-
-    /**
-     * A tire shop. 
-     */
-    public static final URI TireShop;
-
-    /**
-     * A tourist attraction. 
-     */
-    public static final URI TouristAttraction;
-
-    /**
-     * A tourist information center. 
-     */
-    public static final URI TouristInformationCenter;
-
-    /**
-     * A toystore. 
-     */
-    public static final URI ToyStore;
-
-    /**
-     * A train station. 
-     */
-    public static final URI TrainStation;
-
-    /**
-     * A travel agency. 
-     */
-    public static final URI TravelAgency;
-
-    /**
-     * An indication for treating an underlying condition, symptom, etc. 
-     */
-    public static final URI TreatmentIndication;
-
-    /**
-     * A structured value indicating the quantity, unit of measurement, and business function of goods included in a bundle offer. 
-     */
-    public static final URI TypeAndQuantityNode;
-
-    /**
-     * The price asked for a given offer by the respective organization or person. 
-     */
-    public static final URI UnitPriceSpecification;
-
-    /**
-     * User interaction: Block this content. 
-     */
-    public static final URI UserBlocks;
-
-    /**
-     * User interaction: Check-in at a place. 
-     */
-    public static final URI UserCheckins;
-
-    /**
-     * The UserInteraction event in which a user comments on an item. 
-     */
-    public static final URI UserComments;
-
-    /**
-     * User interaction: Download of an item. 
-     */
-    public static final URI UserDownloads;
-
-    /**
-     * A user interacting with a page 
-     */
-    public static final URI UserInteraction;
-
-    /**
-     * User interaction: Like an item. 
-     */
-    public static final URI UserLikes;
-
-    /**
-     * User interaction: Visit to a web page. 
-     */
-    public static final URI UserPageVisits;
-
-    /**
-     * User interaction: Play count of an item, for example a video or a song. 
-     */
-    public static final URI UserPlays;
-
-    /**
-     * User interaction: +1. 
-     */
-    public static final URI UserPlusOnes;
-
-    /**
-     * User interaction: Tweets. 
-     */
-    public static final URI UserTweets;
-
-    /**
-     * A type of blood vessel that specifically carries blood to the heart. 
-     */
-    public static final URI Vein;
-
-    /**
-     * A component of the human body circulatory system comprised of an intricate network of hollow tubes that transport blood throughout the entire body. 
-     */
-    public static final URI Vessel;
-
-    /**
-     * A vet's office. 
-     */
-    public static final URI VeterinaryCare;
-
-    /**
-     * Web page type: Video gallery page. 
-     */
-    public static final URI VideoGallery;
-
-    /**
-     * A video file. 
-     */
-    public static final URI VideoObject;
-
-    /**
-     * Event type: Visual arts event. 
-     */
-    public static final URI VisualArtsEvent;
-
-    /**
-     * A volcano, like Fuji san 
-     */
-    public static final URI Volcano;
-
-    /**
-     * An advertising section of the page. 
-     */
-    public static final URI WPAdBlock;
-
-    /**
-     * The footer section of the page. 
-     */
-    public static final URI WPFooter;
-
-    /**
-     * The header section of the page. 
-     */
-    public static final URI WPHeader;
-
-    /**
-     * A sidebar section of the page. 
-     */
-    public static final URI WPSideBar;
-
-    /**
-     * A structured value representing the duration and scope of services that will be provided to a customer free of charge in case of a defect or malfunction of a product. 
-     */
-    public static final URI WarrantyPromise;
-
-    /**
-     * A range of of services that will be provided to a customer free of charge in case of a defect or malfunction of a product.
-
-     Commonly used values:
-
-     http://purl.org/goodrelations/v1#Labor-BringIn
-     http://purl.org/goodrelations/v1#PartsAndLabor-BringIn
-     http://purl.org/goodrelations/v1#PartsAndLabor-PickUp 
-     */
-    public static final URI WarrantyScope;
-
-    /**
-     * A waterfall, like Niagara 
-     */
-    public static final URI Waterfall;
-
-    /**
-     * Web applications. 
-     */
-    public static final URI WebApplication;
-
-    /**
-     * A web page. Every web page is implicitly assumed to be declared to be of type WebPage, so the various properties about that webpage, such as breadcrumb may be used. We recommend explicit declaration if these properties are specified, but if they are found outside of an itemscope, they will be assumed to be about the page 
-     */
-    public static final URI WebPage;
-
-    /**
-     * A web page element, like a table or an image 
-     */
-    public static final URI WebPageElement;
-
-    /**
-     * A wholesale store. 
-     */
-    public static final URI WholesaleStore;
-
-    /**
-     * A winery. 
-     */
-    public static final URI Winery;
-
-    /**
-     * A zoo. 
-     */
-    public static final URI Zoo;
-
-    /**
-     * The subject matter of the content. 
-     */
-    public static final URI about;
-
-    /**
-     * The payment method(s) accepted by seller for this offer. 
-     */
-    public static final URI acceptedPaymentMethod;
-
-    /**
-     * Either Yes/No, or a URL at which reservations can be made. 
-     */
-    public static final URI acceptsReservations;
-
-    /**
-     * Specifies the Person that is legally accountable for the CreativeWork. 
-     */
-    public static final URI accountablePerson;
-
-    /**
-     * The organization or person from which the product was acquired. 
-     */
-    public static final URI acquiredFrom;
-
-    /**
-     * The movement the muscle generates. 
-     */
-    public static final URI action;
-
-    /**
-     * An active ingredient, typically chemical compounds and/or biologic substances. 
-     */
-    public static final URI activeIngredient;
-
-    /**
-     * Length of time to engage in the activity. 
-     */
-    public static final URI activityDuration;
-
-    /**
-     * How often one should engage in the activity. 
-     */
-    public static final URI activityFrequency;
-
-    /**
-     * A cast member of the movie, TV series, season, or episode, or video. 
-     */
-    public static final URI actor;
-
-    /**
-     * A cast member of the movie, TV series, season, or episode, or video. (legacy spelling; see singular form, actor) 
-     */
-    public static final URI actors;
-
-    /**
-     * An additional offer that can only be obtained in combination with the first base offer (e.g. supplements and extensions that are available for a surcharge). 
-     */
-    public static final URI addOn;
-
-    /**
-     * An additional name for a Person, can be used for a middle name. 
-     */
-    public static final URI additionalName;
-
-    /**
-     * An additional type for the item, typically used for adding more specific types from external vocabularies in microdata syntax. This is a relationship between something and a class that the thing is in. In RDFa syntax, it is better to use the native RDFa syntax - the 'typeof' attribute - for multiple types. Schema.org tools may have only weaker understanding of extra types, in particular those defined externally. 
-     */
-    public static final URI additionalType;
-
-    /**
-     * Any additional component of the exercise prescription that may need to be articulated to the patient. This may include the order of exercises, the number of repetitions of movement, quantitative distance, progressions over time, etc. 
-     */
-    public static final URI additionalVariable;
-
-    /**
-     * Physical address of the item. 
-     */
-    public static final URI address;
-
-    /**
-     * The country. For example, USA. You can also provide the two-letter ISO 3166-1 alpha-2 country code. 
-     */
-    public static final URI addressCountry;
-
-    /**
-     * The locality. For example, Mountain View. 
-     */
-    public static final URI addressLocality;
-
-    /**
-     * The region. For example, CA. 
-     */
-    public static final URI addressRegion;
-
-    /**
-     * A route by which this drug may be administered, e.g. 'oral'. 
-     */
-    public static final URI administrationRoute;
-
-    /**
-     * The amount of time that is required between accepting the offer and the actual usage of the resource or service. 
-     */
-    public static final URI advanceBookingRequirement;
-
-    /**
-     * A possible complication and/or side effect of this therapy. If it is known that an adverse outcome is serious (resulting in death, disability, or permanent damage; requiring hospitalization; or is otherwise life-threatening or requires immediate medical attention), tag it as a seriouseAdverseOutcome instead. 
-     */
-    public static final URI adverseOutcome;
-
-    /**
-     * Drugs that affect the test's results. 
-     */
-    public static final URI affectedBy;
-
-    /**
-     * An organization that this person is affiliated with. For example, a school/university, a club, or a team. 
-     */
-    public static final URI affiliation;
-
-    /**
-     * The overall rating, based on a collection of reviews or ratings, of the item. 
-     */
-    public static final URI aggregateRating;
-
-    /**
-     * A music album. 
-     */
-    public static final URI album;
-
-    /**
-     * A collection of music albums (legacy spelling; see singular form, album). 
-     */
-    public static final URI albums;
-
-    /**
-     * Any precaution, guidance, contraindication, etc. related to consumption of alcohol while taking this drug. 
-     */
-    public static final URI alcoholWarning;
-
-    /**
-     * The algorithm or rules to follow to compute the score. 
-     */
-    public static final URI algorithm;
-
-    /**
-     * Any alternate name for this medical entity. 
-     */
-    public static final URI alternateName;
-
-    /**
-     * A secondary title of the CreativeWork. 
-     */
-    public static final URI alternativeHeadline;
-
-    /**
-     * Alumni of educational organization. 
-     */
-    public static final URI alumni;
-
-    /**
-     * An educational organizations that the person is an alumni of. 
-     */
-    public static final URI alumniOf;
-
-    /**
-     * The quantity of the goods included in the offer. 
-     */
-    public static final URI amountOfThisGood;
-
-    /**
-     * The muscle whose action counteracts the specified muscle. 
-     */
-    public static final URI antagonist;
-
-    /**
-     * The location in which the status applies. 
-     */
-    public static final URI applicableLocation;
-
-    /**
-     * Type of software application, e.g. "Game, Multimedia". 
-     */
-    public static final URI applicationCategory;
-
-    /**
-     * Subcategory of the application, e.g. "Arcade Game". 
-     */
-    public static final URI applicationSubCategory;
-
-    /**
-     * The name of the application suite to which the application belongs (e.g. Excel belongs to Office) 
-     */
-    public static final URI applicationSuite;
-
-    /**
-     * The delivery method(s) to which the delivery charge or payment charge specification applies. 
-     */
-    public static final URI appliesToDeliveryMethod;
-
-    /**
-     * The payment method(s) to which the payment charge specification applies. 
-     */
-    public static final URI appliesToPaymentMethod;
-
-    /**
-     * The branches that comprise the arterial structure. 
-     */
-    public static final URI arterialBranch;
-
-    /**
-     * The actual body of the article. 
-     */
-    public static final URI articleBody;
-
-    /**
-     * Articles may belong to one or more 'sections' in a magazine or newspaper, such as Sports, Lifestyle, etc. 
-     */
-    public static final URI articleSection;
-
-    /**
-     * An aspect of medical practice that is considered on the page, such as 'diagnosis', 'treatment', 'causes', 'prognosis', 'etiology', 'epidemiology', etc. 
-     */
-    public static final URI aspect;
-
-    /**
-     * The anatomy of the underlying organ system or structures associated with this entity. 
-     */
-    public static final URI associatedAnatomy;
-
-    /**
-     * A NewsArticle associated with the Media Object. 
-     */
-    public static final URI associatedArticle;
-
-    /**
-     * The media objects that encode this creative work. This property is a synonym for encodings. 
-     */
-    public static final URI associatedMedia;
-
-    /**
-     * If applicable, a description of the pathophysiology associated with the anatomical system, including potential abnormal changes in the mechanical, physical, and biochemical functions of the system. 
-     */
-    public static final URI associatedPathophysiology;
-
-    /**
-     * A person or organization attending the event. 
-     */
-    public static final URI attendee;
-
-    /**
-     * A person attending the event (legacy spelling; see singular form, attendee). 
-     */
-    public static final URI attendees;
-
-    /**
-     * The intended audience of the work, i.e. the group for whom the work was created. 
-     */
-    public static final URI audience;
-
-    /**
-     * An embedded audio object. 
-     */
-    public static final URI audio;
-
-    /**
-     * The author of this content. Please note that author is special in that HTML 5 provides a special mechanism for indicating authorship via the rel tag. That is equivalent to this and may be used interchangeably. 
-     */
-    public static final URI author;
-
-    /**
-     * The availability of this item—for example In stock, Out of stock, Pre-order, etc. 
-     */
-    public static final URI availability;
-
-    /**
-     * The end of the availability of the product or service included in the offer. 
-     */
-    public static final URI availabilityEnds;
-
-    /**
-     * The beginning of the availability of the product or service included in the offer. 
-     */
-    public static final URI availabilityStarts;
-
-    /**
-     * The place(s) from which the offer can be obtained (e.g. store locations). 
-     */
-    public static final URI availableAtOrFrom;
-
-    /**
-     * The delivery method(s) available for this offer. 
-     */
-    public static final URI availableDeliveryMethod;
-
-    /**
-     * The location in which the strength is available. 
-     */
-    public static final URI availableIn;
-
-    /**
-     * A medical service available from this provider. 
-     */
-    public static final URI availableService;
-
-    /**
-     * An available dosage strength for the drug. 
-     */
-    public static final URI availableStrength;
-
-    /**
-     * A diagnostic test or procedure offered by this lab. 
-     */
-    public static final URI availableTest;
-
-    /**
-     * An award won by this person or for this creative work. 
-     */
-    public static final URI award;
-
-    /**
-     * Awards won by this person or for this creative work. (legacy spelling; see singular form, award) 
-     */
-    public static final URI awards;
-
-    /**
-     * Descriptive information establishing a historical perspective on the supplement. May include the rationale for the name, the population where the supplement first came to prominence, etc. 
-     */
-    public static final URI background;
-
-    /**
-     * The base salary of the job. 
-     */
-    public static final URI baseSalary;
-
-    /**
-     * Description of benefits associated with the job. 
-     */
-    public static final URI benefits;
-
-    /**
-     * The highest value allowed in this rating system. If bestRating is omitted, 5 is assumed. 
-     */
-    public static final URI bestRating;
-
-    /**
-     * This property specifies the minimal quantity and rounding increment that will be the basis for the billing. The unit of measurement is specified by the unitCode property. 
-     */
-    public static final URI billingIncrement;
-
-    /**
-     * The biomechanical properties of the bone. 
-     */
-    public static final URI biomechnicalClass;
-
-    /**
-     * Date of birth. 
-     */
-    public static final URI birthDate;
-
-    /**
-     * The bitrate of the media object. 
-     */
-    public static final URI bitrate;
-
-    /**
-     * A posting that is part of this blog. 
-     */
-    public static final URI blogPost;
-
-    /**
-     * The postings that are part of this blog (legacy spelling; see singular form, blogPost). 
-     */
-    public static final URI blogPosts;
-
-    /**
-     * The blood vessel that carries blood from the heart to the muscle. 
-     */
-    public static final URI bloodSupply;
-
-    /**
-     * Location in the body of the anatomical structure. 
-     */
-    public static final URI bodyLocation;
-
-    /**
-     * The edition of the book. 
-     */
-    public static final URI bookEdition;
-
-    /**
-     * The format of the book. 
-     */
-    public static final URI bookFormat;
-
-    /**
-     * A polygon is the area enclosed by a point-to-point path for which the starting and ending points are the same. A polygon is expressed as a series of four or more spacedelimited points where the first and final points are identical. 
-     */
-    public static final URI box;
-
-    /**
-     * The branches that delineate from the nerve bundle. 
-     */
-    public static final URI branch;
-
-    /**
-     * The larger organization that this local business is a branch of, if any. 
-     */
-    public static final URI branchOf;
-
-    /**
-     * The brand(s) associated with a product or service, or the brand(s) maintained by an organization or business person. 
-     */
-    public static final URI brand;
-
-    /**
-     * A set of links that can help a user understand and navigate a website hierarchy. 
-     */
-    public static final URI breadcrumb;
-
-    /**
-     * Any precaution, guidance, contraindication, etc. related to this drug's use by breastfeeding mothers. 
-     */
-    public static final URI breastfeedingWarning;
-
-    /**
-     * Specifies browser requirements in human-readable text. For example,"requires HTML5 support". 
-     */
-    public static final URI browserRequirements;
-
-    /**
-     * The business function (e.g. sell, lease, repair, dispose) of the offer or component of a bundle (TypeAndQuantityNode). The default is http://purl.org/goodrelations/v1#Sell. 
-     */
-    public static final URI businessFunction;
-
-    /**
-     * The artist that performed this album or recording. 
-     */
-    public static final URI byArtist;
-
-    /**
-     * The number of calories 
-     */
-    public static final URI calories;
-
-    /**
-     * The caption for this object. 
-     */
-    public static final URI caption;
-
-    /**
-     * The number of grams of carbohydrates. 
-     */
-    public static final URI carbohydrateContent;
-
-    /**
-     * Specifies specific carrier(s) requirements for the application (e.g. an application may only work on a specific carrier network). 
-     */
-    public static final URI carrierRequirements;
-
-    /**
-     * A category for the item. Greater signs or slashes can be used to informally indicate a category hierarchy. 
-     */
-    public static final URI category;
-
-    /**
-     * An underlying cause. More specifically, one of the causative agent(s) that are most directly responsible for the pathophysiologic process that eventually results in the occurrence. 
-     */
-    public static final URI cause;
-
-    /**
-     * The condition, complication, symptom, sign, etc. caused. 
-     */
-    public static final URI causeOf;
-
-    /**
-     * A child of the person. 
-     */
-    public static final URI children;
-
-    /**
-     * The number of milligrams of cholesterol. 
-     */
-    public static final URI cholesterolContent;
-
-    /**
-     * A circle is the circular region of a specified radius centered at a specified latitude and longitude. A circle is expressed as a pair followed by a radius in meters. 
-     */
-    public static final URI circle;
-
-    /**
-     * A citation or reference to another creative work, such as another publication, web page, scholarly article, etc. NOTE: Candidate for promotion to ScholarlyArticle. 
-     */
-    public static final URI citation;
-
-    /**
-     * Description of the absorption and elimination of drugs, including their concentration (pharmacokinetics, pK) and biological effects (pharmacodynamics, pD). 
-     */
-    public static final URI clincalPharmacology;
-
-    /**
-     * The closing hour of the place or service on the given day(s) of the week. 
-     */
-    public static final URI closes;
-
-    /**
-     * A medical code for the entity, taken from a controlled vocabulary or ontology such as ICD-9, DiseasesDB, MeSH, SNOMED-CT, RxNorm, etc. 
-     */
-    public static final URI code;
-
-    /**
-     * The actual code. 
-     */
-    public static final URI codeValue;
-
-    /**
-     * The coding system, e.g. 'ICD-10'. 
-     */
-    public static final URI codingSystem;
-
-    /**
-     * A colleague of the person. 
-     */
-    public static final URI colleague;
-
-    /**
-     * A colleague of the person (legacy spelling; see singular form, colleague). 
-     */
-    public static final URI colleagues;
-
-    /**
-     * The color of the product. 
-     */
-    public static final URI color;
-
-    /**
-     * Comments, typically from users, on this CreativeWork. 
-     */
-    public static final URI comment;
-
-    /**
-     * The text of the UserComment. 
-     */
-    public static final URI commentText;
-
-    /**
-     * The time at which the UserComment was made. 
-     */
-    public static final URI commentTime;
-
-    /**
-     * The underlying anatomical structures, such as organs, that comprise the anatomical system. 
-     */
-    public static final URI comprisedOf;
-
-    /**
-     * Other anatomical structures to which this structure is connected. 
-     */
-    public static final URI connectedTo;
-
-    /**
-     * A contact point for a person or organization. 
-     */
-    public static final URI contactPoint;
-
-    /**
-     * A contact point for a person or organization (legacy spelling; see singular form, contactPoint). 
-     */
-    public static final URI contactPoints;
-
-    /**
-     * A person or organization can have different contact points, for different purposes. For example, a sales contact point, a PR contact point and so on. This property is used to specify the kind of contact point. 
-     */
-    public static final URI contactType;
-
-    /**
-     * The basic containment relation between places. 
-     */
-    public static final URI containedIn;
-
-    /**
-     * The location of the content. 
-     */
-    public static final URI contentLocation;
-
-    /**
-     * Official rating of a piece of content—for example,'MPAA PG-13'. 
-     */
-    public static final URI contentRating;
-
-    /**
-     * File size in (mega/kilo) bytes. 
-     */
-    public static final URI contentSize;
-
-    /**
-     * Actual bytes of the media object, for example the image file or video file. (previous spelling: contentURL) 
-     */
-    public static final URI contentUrl;
-
-    /**
-     * A contraindication for this therapy. 
-     */
-    public static final URI contraindication;
-
-    /**
-     * A secondary contributor to the CreativeWork. 
-     */
-    public static final URI contributor;
-
-    /**
-     * The time it takes to actually cook the dish, in ISO 8601 duration format. 
-     */
-    public static final URI cookTime;
-
-    /**
-     * The method of cooking, such as Frying, Steaming, ... 
-     */
-    public static final URI cookingMethod;
-
-    /**
-     * The party holding the legal copyright to the CreativeWork. 
-     */
-    public static final URI copyrightHolder;
-
-    /**
-     * The year during which the claimed copyright for the CreativeWork was first asserted. 
-     */
-    public static final URI copyrightYear;
-
-    /**
-     * Cost per unit of the drug, as reported by the source being tagged. 
-     */
-    public static final URI cost;
-
-    /**
-     * The category of cost, such as wholesale, retail, reimbursement cap, etc. 
-     */
-    public static final URI costCategory;
-
-    /**
-     * The currency (in 3-letter ISO 4217 format) of the drug cost. 
-     */
-    public static final URI costCurrency;
-
-    /**
-     * Additional details to capture the origin of the cost data. For example, 'Medicare Part B'. 
-     */
-    public static final URI costOrigin;
-
-    /**
-     * The cost per unit of the drug. 
-     */
-    public static final URI costPerUnit;
-
-    /**
-     * Countries for which the application is not supported. You can also provide the two-letter ISO 3166-1 alpha-2 country code. 
-     */
-    public static final URI countriesNotSupported;
-
-    /**
-     * Countries for which the application is supported. You can also provide the two-letter ISO 3166-1 alpha-2 country code. 
-     */
-    public static final URI countriesSupported;
-
-    /**
-     * The creator/author of this CreativeWork or UserComments. This is the same as the Author property for CreativeWork. 
-     */
-    public static final URI creator;
-
-    /**
-     * The currency accepted (in ISO 4217 currency format). 
-     */
-    public static final URI currenciesAccepted;
-
-    /**
-     * The date on which the CreativeWork was created. 
-     */
-    public static final URI dateCreated;
-
-    /**
-     * The date on which the CreativeWork was most recently modified. 
-     */
-    public static final URI dateModified;
-
-    /**
-     * Publication date for the job posting. 
-     */
-    public static final URI datePosted;
-
-    /**
-     * Date of first broadcast/publication. 
-     */
-    public static final URI datePublished;
-
-    /**
-     * The location where the NewsArticle was produced. 
-     */
-    public static final URI dateline;
-
-    /**
-     * The day of the week for which these opening hours are valid. 
-     */
-    public static final URI dayOfWeek;
-
-    /**
-     * Date of death. 
-     */
-    public static final URI deathDate;
-
-    /**
-     * The typical delay between the receipt of the order and the goods leaving the warehouse. 
-     */
-    public static final URI deliveryLeadTime;
-
-    /**
-     * The depth of the product. 
-     */
-    public static final URI depth;
-
-    /**
-     * A short description of the item. 
-     */
-    public static final URI description;
-
-    /**
-     * Device required to run the application. Used in cases where a specific make/model is required to run the application. 
-     */
-    public static final URI device;
-
-    /**
-     * One or more alternative conditions considered in the differential diagnosis process. 
-     */
-    public static final URI diagnosis;
-
-    /**
-     * An image containing a diagram that illustrates the structure and/or its component substructures and/or connections with other structures. 
-     */
-    public static final URI diagram;
-
-    /**
-     * Nutritional information specific to the dietary plan. May include dietary recommendations on what foods to avoid, what foods to consume, and specific alterations/deviations from the USDA or other regulatory body's approved dietary guidelines. 
-     */
-    public static final URI dietFeatures;
-
-    /**
-     * One of a set of differential diagnoses for the condition. Specifically, a closely-related or competing diagnosis typically considered later in the cognitive process whereby this medical condition is distinguished from others most likely responsible for a similar collection of signs and symptoms to reach the most parsimonious diagnosis or diagnoses in a patient. 
-     */
-    public static final URI differentialDiagnosis;
-
-    /**
-     * The director of the movie, TV episode, or series. 
-     */
-    public static final URI director;
-
-    /**
-     * Specifies the CreativeWork associated with the UserComment. 
-     */
-    public static final URI discusses;
-
-    /**
-     * A link to the page containing the comments of the CreativeWork. 
-     */
-    public static final URI discussionUrl;
-
-    /**
-     * One of a set of signs and symptoms that can be used to distinguish this diagnosis from others in the differential diagnosis. 
-     */
-    public static final URI distinguishingSign;
-
-    /**
-     * A dosage form in which this drug/supplement is available, e.g. 'tablet', 'suspension', 'injection'. 
-     */
-    public static final URI dosageForm;
-
-    /**
-     * A dosing schedule for the drug for a given population, either observed, recommended, or maximum dose based on the type used. 
-     */
-    public static final URI doseSchedule;
-
-    /**
-     * The unit of the dose, e.g. 'mg'. 
-     */
-    public static final URI doseUnit;
-
-    /**
-     * The value of the dose, e.g. 500. 
-     */
-    public static final URI doseValue;
-
-    /**
-     * If the file can be downloaded, URL to download the binary. 
-     */
-    public static final URI downloadUrl;
-
-    /**
-     * The vasculature that the vein drains into. 
-     */
-    public static final URI drainsTo;
-
-    /**
-     * A drug in this drug class. 
-     */
-    public static final URI drug;
-
-    /**
-     * The class of drug this belongs to (e.g., statins). 
-     */
-    public static final URI drugClass;
-
-    /**
-     * The unit in which the drug is measured, e.g. '5 mg tablet'. 
-     */
-    public static final URI drugUnit;
-
-    /**
-     * The Dun & Bradstreet DUNS number for identifying an organization or business person. 
-     */
-    public static final URI duns;
-
-    /**
-     * A therapy that duplicates or overlaps this one. 
-     */
-    public static final URI duplicateTherapy;
-
-    /**
-     * The duration of the item (movie, audio recording, event, etc.) in ISO 8601 date format. 
-     */
-    public static final URI duration;
-
-    /**
-     * The duration of the warranty promise. Common unitCode values are ANN for year, MON for months, or DAY for days. 
-     */
-    public static final URI durationOfWarranty;
-
-    /**
-     * Specifies the Person who edited the CreativeWork. 
-     */
-    public static final URI editor;
-
-    /**
-     * Educational background needed for the position. 
-     */
-    public static final URI educationRequirements;
-
-    /**
-     * The elevation of a location. 
-     */
-    public static final URI elevation;
-
-    /**
-     * The type(s) of customers for which the given offer is valid. 
-     */
-    public static final URI eligibleCustomerType;
-
-    /**
-     * The duration for which the given offer is valid. 
-     */
-    public static final URI eligibleDuration;
-
-    /**
-     * The interval and unit of measurement of ordering quantities for which the offer or price specification is valid. This allows e.g. specifying that a certain freight charge is valid only for a certain quantity. 
-     */
-    public static final URI eligibleQuantity;
-
-    /**
-     * The ISO 3166-1 (ISO 3166-1 alpha-2) or ISO 3166-2 code, or the GeoShape for the geo-political region(s) for which the offer or delivery charge specification is valid. 
-     */
-    public static final URI eligibleRegion;
-
-    /**
-     * The transaction volume, in a monetary unit, for which the offer or price specification is valid, e.g. for indicating a minimal purchasing volume, to express free shipping above a certain order volume, or to limit the acceptance of credit cards to purchases to a certain minimal amount. 
-     */
-    public static final URI eligibleTransactionVolume;
-
-    /**
-     * Email address. 
-     */
-    public static final URI email;
-
-    /**
-     * A URL pointing to a player for a specific video. In general, this is the information in the src element of an embed tag and should not be the same as the content of the loc tag. (previous spelling: embedURL) 
-     */
-    public static final URI embedUrl;
-
-    /**
-     * Someone working for this organization. 
-     */
-    public static final URI employee;
-
-    /**
-     * People working for this organization. (legacy spelling; see singular form, employee) 
-     */
-    public static final URI employees;
-
-    /**
-     * Type of employment (e.g. full-time, part-time

<TRUNCATED>

[09/10] git commit: MARMOTTA-448: moved vocabularies into a separate module: marmotta-model-vocabs. Also fixed some redundant dependencies.

Posted by ja...@apache.org.
MARMOTTA-448: moved vocabularies into a separate module: marmotta-model-vocabs.
Also fixed some redundant dependencies.


Project: http://git-wip-us.apache.org/repos/asf/marmotta/repo
Commit: http://git-wip-us.apache.org/repos/asf/marmotta/commit/8d79b113
Tree: http://git-wip-us.apache.org/repos/asf/marmotta/tree/8d79b113
Diff: http://git-wip-us.apache.org/repos/asf/marmotta/diff/8d79b113

Branch: refs/heads/ldp
Commit: 8d79b113b796bc6b2288c38dba38c6e602908122
Parents: 2a509e7
Author: Jakob Frank <ja...@apache.org>
Authored: Thu Feb 27 13:09:12 2014 +0100
Committer: Jakob Frank <ja...@apache.org>
Committed: Thu Feb 27 17:38:15 2014 +0100

----------------------------------------------------------------------
 commons/marmotta-commons/pom.xml                |    4 +
 .../marmotta/commons/vocabulary/DCTERMS.java    |  619 --
 .../marmotta/commons/vocabulary/FOAF.java       |  487 --
 .../apache/marmotta/commons/vocabulary/GEO.java |   87 -
 .../apache/marmotta/commons/vocabulary/LDP.java |  134 -
 .../apache/marmotta/commons/vocabulary/MA.java  |  568 --
 .../marmotta/commons/vocabulary/SCHEMA.java     | 5810 ------------------
 .../marmotta/commons/vocabulary/SIOC.java       |  583 --
 .../marmotta/commons/vocabulary/SKOS.java       |  229 -
 .../marmotta/commons/vocabulary/SPARQL_SD.java  |  345 --
 .../apache/marmotta/commons/vocabulary/XSD.java |  325 -
 .../marmotta-model-vocabs/pom.xml               |   54 +
 .../marmotta/commons/vocabulary/DCTERMS.java    |  619 ++
 .../marmotta/commons/vocabulary/FOAF.java       |  487 ++
 .../apache/marmotta/commons/vocabulary/GEO.java |   87 +
 .../apache/marmotta/commons/vocabulary/LDP.java |  134 +
 .../apache/marmotta/commons/vocabulary/MA.java  |  568 ++
 .../marmotta/commons/vocabulary/SCHEMA.java     | 5810 ++++++++++++++++++
 .../marmotta/commons/vocabulary/SIOC.java       |  583 ++
 .../marmotta/commons/vocabulary/SKOS.java       |  229 +
 .../marmotta/commons/vocabulary/SPARQL_SD.java  |  345 ++
 .../apache/marmotta/commons/vocabulary/XSD.java |  325 +
 commons/marmotta-sesame-tools/pom.xml           |    1 +
 parent/pom.xml                                  |   10 +
 platform/marmotta-core/pom.xml                  |    6 -
 platform/marmotta-ldp/pom.xml                   |    7 -
 26 files changed, 9256 insertions(+), 9200 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/marmotta/blob/8d79b113/commons/marmotta-commons/pom.xml
----------------------------------------------------------------------
diff --git a/commons/marmotta-commons/pom.xml b/commons/marmotta-commons/pom.xml
index f726492..3b4ff65 100644
--- a/commons/marmotta-commons/pom.xml
+++ b/commons/marmotta-commons/pom.xml
@@ -110,6 +110,10 @@
             <artifactId>guava</artifactId>
         </dependency>
         <dependency>
+            <groupId>org.apache.marmotta</groupId>
+            <artifactId>marmotta-model-vocabs</artifactId>
+        </dependency>
+        <dependency>
             <groupId>commons-validator</groupId>
             <artifactId>commons-validator</artifactId>
         </dependency>

http://git-wip-us.apache.org/repos/asf/marmotta/blob/8d79b113/commons/marmotta-commons/src/main/java/org/apache/marmotta/commons/vocabulary/DCTERMS.java
----------------------------------------------------------------------
diff --git a/commons/marmotta-commons/src/main/java/org/apache/marmotta/commons/vocabulary/DCTERMS.java b/commons/marmotta-commons/src/main/java/org/apache/marmotta/commons/vocabulary/DCTERMS.java
deleted file mode 100644
index a694cc9..0000000
--- a/commons/marmotta-commons/src/main/java/org/apache/marmotta/commons/vocabulary/DCTERMS.java
+++ /dev/null
@@ -1,619 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.marmotta.commons.vocabulary;
-
-import org.openrdf.model.URI;
-import org.openrdf.model.ValueFactory;
-import org.openrdf.model.impl.ValueFactoryImpl;
-
-/**
- * Namespace DCTERMS
- */
-public class DCTERMS {
-
-    public static final String NAMESPACE = "http://purl.org/dc/terms/";
-
-    public static final String PREFIX = "dcterms";
-
-    /**
-     * A resource that acts or has the power to act.
-     */
-    public static final URI Agent;
-
-    /**
-     * A group of agents.
-     */
-    public static final URI AgentClass;
-
-    /**
-     * A book, article, or other documentary resource.
-     */
-    public static final URI BibliographicResource;
-
-    /**
-     * The set of regions in space defined by their geographic coordinates according to the DCMI Box Encoding Scheme.
-     */
-    public static final URI Box;
-
-    /**
-     * The set of classes specified by the DCMI Type Vocabulary, used to categorize the nature or genre of the resource.
-     */
-    public static final URI DCMIType;
-
-    /**
-     * The set of conceptual resources specified by the Dewey Decimal Classification.
-     */
-    public static final URI DDC;
-
-    /**
-     * A digital resource format.
-     */
-    public static final URI FileFormat;
-
-    /**
-     * A rate at which something recurs.
-     */
-    public static final URI Frequency;
-
-    /**
-     * The set of media types specified by the Internet Assigned Numbers Authority.
-     */
-    public static final URI IMT;
-
-    /**
-     * The set of codes listed in ISO 3166-1 for the representation of names of countries.
-     */
-    public static final URI ISO3166;
-
-    /**
-     * The three-letter alphabetic codes listed in ISO639-2 for the representation of names of languages.
-     */
-    public static final URI ISO639_2;
-
-    /**
-     * The set of three-letter codes listed in ISO 639-3 for the representation of names of languages.
-     */
-    public static final URI ISO639_3;
-
-    /**
-     * The extent or range of judicial, law enforcement, or other authority.
-     */
-    public static final URI Jurisdiction;
-
-    /**
-     * The set of conceptual resources specified by the Library of Congress Classification.
-     */
-    public static final URI LCC;
-
-    /**
-     * The set of labeled concepts specified by the Library of Congress Subject Headings.
-     */
-    public static final URI LCSH;
-
-    /**
-     * A legal document giving official permission to do something with a Resource.
-     */
-    public static final URI LicenseDocument;
-
-    /**
-     * A system of signs, symbols, sounds, gestures, or rules used in communication.
-     */
-    public static final URI LinguisticSystem;
-
-    /**
-     * A spatial region or named place.
-     */
-    public static final URI Location;
-
-    /**
-     * A location, period of time, or jurisdiction.
-     */
-    public static final URI LocationPeriodOrJurisdiction;
-
-    /**
-     * The set of labeled concepts specified by the Medical Subject Headings.
-     */
-    public static final URI MESH;
-
-    /**
-     * A file format or physical medium.
-     */
-    public static final URI MediaType;
-
-    /**
-     * A media type or extent.
-     */
-    public static final URI MediaTypeOrExtent;
-
-    /**
-     * A method by which resources are added to a collection.
-     */
-    public static final URI MethodOfAccrual;
-
-    /**
-     * A process that is used to engender knowledge, attitudes, and skills.
-     */
-    public static final URI MethodOfInstruction;
-
-    /**
-     * The set of conceptual resources specified by the National Library of Medicine Classification.
-     */
-    public static final URI NLM;
-
-    /**
-     * The set of time intervals defined by their limits according to the DCMI Period Encoding Scheme.
-     */
-    public static final URI Period;
-
-    /**
-     * An interval of time that is named or defined by its start and end dates.
-     */
-    public static final URI PeriodOfTime;
-
-    /**
-     * A physical material or carrier.
-     */
-    public static final URI PhysicalMedium;
-
-    /**
-     * A material thing.
-     */
-    public static final URI PhysicalResource;
-
-    /**
-     * The set of points in space defined by their geographic coordinates according to the DCMI Point Encoding Scheme.
-     */
-    public static final URI Point;
-
-    /**
-     * A plan or course of action by an authority, intended to influence and determine decisions, actions, and other matters.
-     */
-    public static final URI Policy;
-
-    /**
-     * A statement of any changes in ownership and custody of a resource since its creation that are significant for its authenticity, integrity, and interpretation.
-     */
-    public static final URI ProvenanceStatement;
-
-    /**
-     * The set of tags, constructed according to RFC 1766, for the identification of languages.
-     */
-    public static final URI RFC1766;
-
-    /**
-     * The set of tags constructed according to RFC 3066 for the identification of languages.
-     */
-    public static final URI RFC3066;
-
-    /**
-     * The set of tags constructed according to RFC 4646 for the identification of languages.
-     */
-    public static final URI RFC4646;
-
-    /**
-     * A statement about the intellectual property rights (IPR) held in or over a Resource, a legal document giving official permission to do something with a resource, or a statement about access rights.
-     */
-    public static final URI RightsStatement;
-
-    /**
-     * A dimension or extent, or a time taken to play or execute.
-     */
-    public static final URI SizeOrDuration;
-
-    /**
-     * A basis for comparison; a reference point against which other things can be evaluated.
-     */
-    public static final URI Standard;
-
-    /**
-     * The set of places specified by the Getty Thesaurus of Geographic Names.
-     */
-    public static final URI TGN;
-
-    /**
-     * The set of conceptual resources specified by the Universal Decimal Classification.
-     */
-    public static final URI UDC;
-
-    /**
-     * The set of identifiers constructed according to the generic syntax for Uniform Resource Identifiers as specified by the Internet Engineering Task Force.
-     */
-    public static final URI URI;
-
-    /**
-     * The set of dates and times constructed according to the W3C Date and Time Formats Specification.
-     */
-    public static final URI W3CDTF;
-
-    /**
-     * A summary of the resource.
-     */
-    public static final URI abstract_;
-
-    /**
-     * Information about who can access the resource or an indication of its security status.
-     */
-    public static final URI accessRights;
-
-    /**
-     * The method by which items are added to a collection.
-     */
-    public static final URI accrualMethod;
-
-    /**
-     * The frequency with which items are added to a collection.
-     */
-    public static final URI accrualPeriodicity;
-
-    /**
-     * The policy governing the addition of items to a collection.
-     */
-    public static final URI accrualPolicy;
-
-    /**
-     * An alternative name for the resource.
-     */
-    public static final URI alternative;
-
-    /**
-     * A class of entity for whom the resource is intended or useful.
-     */
-    public static final URI audience;
-
-    /**
-     * Date (often a range) that the resource became or will become available.
-     */
-    public static final URI available;
-
-    /**
-     * A bibliographic reference for the resource.
-     */
-    public static final URI bibliographicCitation;
-
-    /**
-     * An established standard to which the described resource conforms.
-     */
-    public static final URI conformsTo;
-
-    /**
-     * An entity responsible for making contributions to the resource.
-     */
-    public static final URI contributor;
-
-    /**
-     * The spatial or temporal topic of the resource, the spatial applicability of the resource, or the jurisdiction under which the resource is relevant.
-     */
-    public static final URI coverage;
-
-    /**
-     * Date of creation of the resource.
-     */
-    public static final URI created;
-
-    /**
-     * An entity primarily responsible for making the resource.
-     */
-    public static final URI creator;
-
-    /**
-     * A point or period of time associated with an event in the lifecycle of the resource.
-     */
-    public static final URI date;
-
-    /**
-     * Date of acceptance of the resource.
-     */
-    public static final URI dateAccepted;
-
-    /**
-     * Date of copyright.
-     */
-    public static final URI dateCopyrighted;
-
-    /**
-     * Date of submission of the resource.
-     */
-    public static final URI dateSubmitted;
-
-    /**
-     * An account of the resource.
-     */
-    public static final URI description;
-
-    /**
-     * A class of entity, defined in terms of progression through an educational or training context, for which the described resource is intended.
-     */
-    public static final URI educationLevel;
-
-    /**
-     * The size or duration of the resource.
-     */
-    public static final URI extent;
-
-    /**
-     * The file format, physical medium, or dimensions of the resource.
-     */
-    public static final URI format;
-
-    /**
-     * A related resource that is substantially the same as the pre-existing described resource, but in another format.
-     */
-    public static final URI hasFormat;
-
-    /**
-     * A related resource that is included either physically or logically in the described resource.
-     */
-    public static final URI hasPart;
-
-    /**
-     * A related resource that is a version, edition, or adaptation of the described resource.
-     */
-    public static final URI hasVersion;
-
-    /**
-     * An unambiguous reference to the resource within a given context.
-     */
-    public static final URI identifier;
-
-    /**
-     * A process, used to engender knowledge, attitudes and skills, that the described resource is designed to support.
-     */
-    public static final URI instructionalMethod;
-
-    /**
-     * A related resource that is substantially the same as the described resource, but in another format.
-     */
-    public static final URI isFormatOf;
-
-    /**
-     * A related resource in which the described resource is physically or logically included.
-     */
-    public static final URI isPartOf;
-
-    /**
-     * A related resource that references, cites, or otherwise points to the described resource.
-     */
-    public static final URI isReferencedBy;
-
-    /**
-     * A related resource that supplants, displaces, or supersedes the described resource.
-     */
-    public static final URI isReplacedBy;
-
-    /**
-     * A related resource that requires the described resource to support its function, delivery, or coherence.
-     */
-    public static final URI isRequiredBy;
-
-    /**
-     * A related resource of which the described resource is a version, edition, or adaptation.
-     */
-    public static final URI isVersionOf;
-
-    /**
-     * Date of formal issuance (e.g., publication) of the resource.
-     */
-    public static final URI issued;
-
-    /**
-     * A language of the resource.
-     */
-    public static final URI language;
-
-    /**
-     * A legal document giving official permission to do something with the resource.
-     */
-    public static final URI license;
-
-    /**
-     * An entity that mediates access to the resource and for whom the resource is intended or useful.
-     */
-    public static final URI mediator;
-
-    /**
-     * The material or physical carrier of the resource.
-     */
-    public static final URI medium;
-
-    /**
-     * Date on which the resource was changed.
-     */
-    public static final URI modified;
-
-    /**
-     * A statement of any changes in ownership and custody of the resource since its creation that are significant for its authenticity, integrity, and interpretation.
-     */
-    public static final URI provenance;
-
-    /**
-     * An entity responsible for making the resource available.
-     */
-    public static final URI publisher;
-
-    /**
-     * A related resource that is referenced, cited, or otherwise pointed to by the described resource.
-     */
-    public static final URI references;
-
-    /**
-     * A related resource.
-     */
-    public static final URI relation;
-
-    /**
-     * A related resource that is supplanted, displaced, or superseded by the described resource.
-     */
-    public static final URI replaces;
-
-    /**
-     * A related resource that is required by the described resource to support its function, delivery, or coherence.
-     */
-    public static final URI requires;
-
-    /**
-     * Information about rights held in and over the resource.
-     */
-    public static final URI rights;
-
-    /**
-     * A person or organization owning or managing rights over the resource.
-     */
-    public static final URI rightsHolder;
-
-    /**
-     * A related resource from which the described resource is derived.
-     */
-    public static final URI source;
-
-    /**
-     * Spatial characteristics of the resource.
-     */
-    public static final URI spatial;
-
-    /**
-     * The topic of the resource.
-     */
-    public static final URI subject;
-
-    /**
-     * A list of subunits of the resource.
-     */
-    public static final URI tableOfContents;
-
-    /**
-     * Temporal characteristics of the resource.
-     */
-    public static final URI temporal;
-
-    /**
-     * A name given to the resource
-     */
-    public static final URI title;
-
-    /**
-     * The nature or genre of the resource.
-     */
-    public static final URI type;
-
-    /**
-     * Date (often a range) of validity of a resource.
-     */
-    public static final URI valid;
-
-
-    static{
-        ValueFactory factory = ValueFactoryImpl.getInstance();
-        Agent = factory.createURI(DCTERMS.NAMESPACE, "Agent");
-        AgentClass = factory.createURI(DCTERMS.NAMESPACE, "AgentClass");
-        BibliographicResource = factory.createURI(DCTERMS.NAMESPACE, "BibliographicResource");
-        Box = factory.createURI(DCTERMS.NAMESPACE, "Box");
-        DCMIType = factory.createURI(DCTERMS.NAMESPACE, "DCMIType");
-        DDC = factory.createURI(DCTERMS.NAMESPACE, "DDC");
-        FileFormat = factory.createURI(DCTERMS.NAMESPACE, "FileFormat");
-        Frequency = factory.createURI(DCTERMS.NAMESPACE, "Frequency");
-        IMT = factory.createURI(DCTERMS.NAMESPACE, "IMT");
-        ISO3166 = factory.createURI(DCTERMS.NAMESPACE, "ISO3166");
-        ISO639_2 = factory.createURI(DCTERMS.NAMESPACE, "ISO639_2");
-        ISO639_3 = factory.createURI(DCTERMS.NAMESPACE, "ISO639_3");
-        Jurisdiction = factory.createURI(DCTERMS.NAMESPACE, "Jurisdiction");
-        LCC = factory.createURI(DCTERMS.NAMESPACE, "LCC");
-        LCSH = factory.createURI(DCTERMS.NAMESPACE, "LCSH");
-        LicenseDocument = factory.createURI(DCTERMS.NAMESPACE, "LicenseDocument");
-        LinguisticSystem = factory.createURI(DCTERMS.NAMESPACE, "LinguisticSystem");
-        Location = factory.createURI(DCTERMS.NAMESPACE, "Location");
-        LocationPeriodOrJurisdiction = factory.createURI(DCTERMS.NAMESPACE, "LocationPeriodOrJurisdiction");
-        MESH = factory.createURI(DCTERMS.NAMESPACE, "MESH");
-        MediaType = factory.createURI(DCTERMS.NAMESPACE, "MediaType");
-        MediaTypeOrExtent = factory.createURI(DCTERMS.NAMESPACE, "MediaTypeOrExtent");
-        MethodOfAccrual = factory.createURI(DCTERMS.NAMESPACE, "MethodOfAccrual");
-        MethodOfInstruction = factory.createURI(DCTERMS.NAMESPACE, "MethodOfInstruction");
-        NLM = factory.createURI(DCTERMS.NAMESPACE, "NLM");
-        Period = factory.createURI(DCTERMS.NAMESPACE, "Period");
-        PeriodOfTime = factory.createURI(DCTERMS.NAMESPACE, "PeriodOfTime");
-        PhysicalMedium = factory.createURI(DCTERMS.NAMESPACE, "PhysicalMedium");
-        PhysicalResource = factory.createURI(DCTERMS.NAMESPACE, "PhysicalResource");
-        Point = factory.createURI(DCTERMS.NAMESPACE, "Point");
-        Policy = factory.createURI(DCTERMS.NAMESPACE, "Policy");
-        ProvenanceStatement = factory.createURI(DCTERMS.NAMESPACE, "ProvenanceStatement");
-        RFC1766 = factory.createURI(DCTERMS.NAMESPACE, "RFC1766");
-        RFC3066 = factory.createURI(DCTERMS.NAMESPACE, "RFC3066");
-        RFC4646 = factory.createURI(DCTERMS.NAMESPACE, "RFC4646");
-        RightsStatement = factory.createURI(DCTERMS.NAMESPACE, "RightsStatement");
-        SizeOrDuration = factory.createURI(DCTERMS.NAMESPACE, "SizeOrDuration");
-        Standard = factory.createURI(DCTERMS.NAMESPACE, "Standard");
-        TGN = factory.createURI(DCTERMS.NAMESPACE, "TGN");
-        UDC = factory.createURI(DCTERMS.NAMESPACE, "UDC");
-        URI = factory.createURI(DCTERMS.NAMESPACE, "URI");
-        W3CDTF = factory.createURI(DCTERMS.NAMESPACE, "W3CDTF");
-        abstract_ = factory.createURI(DCTERMS.NAMESPACE, "abstract");
-        accessRights = factory.createURI(DCTERMS.NAMESPACE, "accessRights");
-        accrualMethod = factory.createURI(DCTERMS.NAMESPACE, "accrualMethod");
-        accrualPeriodicity = factory.createURI(DCTERMS.NAMESPACE, "accrualPeriodicity");
-        accrualPolicy = factory.createURI(DCTERMS.NAMESPACE, "accrualPolicy");
-        alternative = factory.createURI(DCTERMS.NAMESPACE, "alternative");
-        audience = factory.createURI(DCTERMS.NAMESPACE, "audience");
-        available = factory.createURI(DCTERMS.NAMESPACE, "available");
-        bibliographicCitation = factory.createURI(DCTERMS.NAMESPACE, "bibliographicCitation");
-        conformsTo = factory.createURI(DCTERMS.NAMESPACE, "conformsTo");
-        contributor = factory.createURI(DCTERMS.NAMESPACE, "contributor");
-        coverage = factory.createURI(DCTERMS.NAMESPACE, "coverage");
-        created = factory.createURI(DCTERMS.NAMESPACE, "created");
-        creator = factory.createURI(DCTERMS.NAMESPACE, "creator");
-        date = factory.createURI(DCTERMS.NAMESPACE, "date");
-        dateAccepted = factory.createURI(DCTERMS.NAMESPACE, "dateAccepted");
-        dateCopyrighted = factory.createURI(DCTERMS.NAMESPACE, "dateCopyrighted");
-        dateSubmitted = factory.createURI(DCTERMS.NAMESPACE, "dateSubmitted");
-        description = factory.createURI(DCTERMS.NAMESPACE, "description");
-        educationLevel = factory.createURI(DCTERMS.NAMESPACE, "educationLevel");
-        extent = factory.createURI(DCTERMS.NAMESPACE, "extent");
-        format = factory.createURI(DCTERMS.NAMESPACE, "format");
-        hasFormat = factory.createURI(DCTERMS.NAMESPACE, "hasFormat");
-        hasPart = factory.createURI(DCTERMS.NAMESPACE, "hasPart");
-        hasVersion = factory.createURI(DCTERMS.NAMESPACE, "hasVersion");
-        identifier = factory.createURI(DCTERMS.NAMESPACE, "identifier");
-        instructionalMethod = factory.createURI(DCTERMS.NAMESPACE, "instructionalMethod");
-        isFormatOf = factory.createURI(DCTERMS.NAMESPACE, "isFormatOf");
-        isPartOf = factory.createURI(DCTERMS.NAMESPACE, "isPartOf");
-        isReferencedBy = factory.createURI(DCTERMS.NAMESPACE, "isReferencedBy");
-        isReplacedBy = factory.createURI(DCTERMS.NAMESPACE, "isReplacedBy");
-        isRequiredBy = factory.createURI(DCTERMS.NAMESPACE, "isRequiredBy");
-        isVersionOf = factory.createURI(DCTERMS.NAMESPACE, "isVersionOf");
-        issued = factory.createURI(DCTERMS.NAMESPACE, "issued");
-        language = factory.createURI(DCTERMS.NAMESPACE, "language");
-        license = factory.createURI(DCTERMS.NAMESPACE, "license");
-        mediator = factory.createURI(DCTERMS.NAMESPACE, "mediator");
-        medium = factory.createURI(DCTERMS.NAMESPACE, "medium");
-        modified = factory.createURI(DCTERMS.NAMESPACE, "modified");
-        provenance = factory.createURI(DCTERMS.NAMESPACE, "provenance");
-        publisher = factory.createURI(DCTERMS.NAMESPACE, "publisher");
-        references = factory.createURI(DCTERMS.NAMESPACE, "references");
-        relation = factory.createURI(DCTERMS.NAMESPACE, "relation");
-        replaces = factory.createURI(DCTERMS.NAMESPACE, "replaces");
-        requires = factory.createURI(DCTERMS.NAMESPACE, "requires");
-        rights = factory.createURI(DCTERMS.NAMESPACE, "rights");
-        rightsHolder = factory.createURI(DCTERMS.NAMESPACE, "rightsHolder");
-        source = factory.createURI(DCTERMS.NAMESPACE, "source");
-        spatial = factory.createURI(DCTERMS.NAMESPACE, "spatial");
-        subject = factory.createURI(DCTERMS.NAMESPACE, "subject");
-        tableOfContents = factory.createURI(DCTERMS.NAMESPACE, "tableOfContents");
-        temporal = factory.createURI(DCTERMS.NAMESPACE, "temporal");
-        title = factory.createURI(DCTERMS.NAMESPACE, "title");
-        type = factory.createURI(DCTERMS.NAMESPACE, "type");
-        valid = factory.createURI(DCTERMS.NAMESPACE, "valid");
-    }
-}

http://git-wip-us.apache.org/repos/asf/marmotta/blob/8d79b113/commons/marmotta-commons/src/main/java/org/apache/marmotta/commons/vocabulary/FOAF.java
----------------------------------------------------------------------
diff --git a/commons/marmotta-commons/src/main/java/org/apache/marmotta/commons/vocabulary/FOAF.java b/commons/marmotta-commons/src/main/java/org/apache/marmotta/commons/vocabulary/FOAF.java
deleted file mode 100644
index 2f09f3b..0000000
--- a/commons/marmotta-commons/src/main/java/org/apache/marmotta/commons/vocabulary/FOAF.java
+++ /dev/null
@@ -1,487 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.marmotta.commons.vocabulary;
-
-import org.openrdf.model.URI;
-import org.openrdf.model.ValueFactory;
-import org.openrdf.model.impl.ValueFactoryImpl;
-
-/**
- * Namespace FOAF
- */
-public class FOAF {
-
-    public static final String NAMESPACE = "http://xmlns.com/foaf/0.1/";
-
-    public static final String PREFIX = "foaf";
-
-    /**
-     * An agent (eg. person, group, software or physical artifact).
-     */
-    public static final URI Agent;
-
-    /**
-     * A document.
-     */
-    public static final URI Document;
-
-    /**
-     * A class of Agents.
-     */
-    public static final URI Group;
-
-    /**
-     * An image.
-     */
-    public static final URI Image;
-
-    /**
-     * A foaf:LabelProperty is any RDF property with texual values that serve as labels.
-     */
-    public static final URI LabelProperty;
-
-    /**
-     * An online account.
-     */
-    public static final URI OnlineAccount;
-
-    /**
-     * An online chat account.
-     */
-    public static final URI OnlineChatAccount;
-
-    /**
-     * An online e-commerce account.
-     */
-    public static final URI OnlineEcommerceAccount;
-
-    /**
-     * An online gaming account.
-     */
-    public static final URI OnlineGamingAccount;
-
-    /**
-     * An organization.
-     */
-    public static final URI Organization;
-
-    /**
-     * A person.
-     */
-    public static final URI Person;
-
-    /**
-     * A personal profile RDF document.
-     */
-    public static final URI PersonalProfileDocument;
-
-    /**
-     * A project (a collective endeavour of some kind).
-     */
-    public static final URI Project;
-
-    /**
-     * Indicates an account held by this agent.
-     */
-    public static final URI account;
-
-    /**
-     * Indicates the name (identifier) associated with this online account.
-     */
-    public static final URI accountName;
-
-    /**
-     * Indicates a homepage of the service provide for this online account.
-     */
-    public static final URI accountServiceHomepage;
-
-    /**
-     * The age in years of some agent.
-     */
-    public static final URI age;
-
-    /**
-     * An AIM chat ID
-     */
-    public static final URI aimChatID;
-
-    /**
-     * A location that something is based near, for some broadly human notion of near.
-     */
-    public static final URI based_near;
-
-    /**
-     * The birthday of this Agent, represented in mm-dd string form, eg. '12-31'.
-     */
-    public static final URI birthday;
-
-    /**
-     * A current project this person works on.
-     */
-    public static final URI currentProject;
-
-    /**
-     * A depiction of some thing.
-     */
-    public static final URI depiction;
-
-    /**
-     * A thing depicted in this representation.
-     */
-    public static final URI depicts;
-
-    /**
-     * A checksum for the DNA of some thing. Joke.
-     */
-    public static final URI dnaChecksum;
-
-    /**
-     * The family name of some person.
-     */
-    public static final URI familyName;
-
-    /**
-     * The family name of some person.
-     */
-    public static final URI family_name;
-
-    /**
-     * The first name of a person.
-     */
-    public static final URI firstName;
-
-    /**
-     * The underlying or 'focal' entity associated with some SKOS-described concept.
-     */
-    public static final URI focus;
-
-    /**
-     * An organization funding a project or person.
-     */
-    public static final URI fundedBy;
-
-    /**
-     * A textual geekcode for this person, see http://www.geekcode.com/geek.html
-     */
-    public static final URI geekcode;
-
-    /**
-     * The gender of this Agent (typically but not necessarily 'male' or 'female').
-     */
-    public static final URI gender;
-
-    /**
-     * The given name of some person.
-     */
-    public static final URI givenName;
-
-    /**
-     * The given name of some person.
-     */
-    public static final URI givenname;
-
-    /**
-     * Indicates an account held by this agent.
-     */
-    public static final URI holdsAccount;
-
-    /**
-     * A homepage for some thing.
-     */
-    public static final URI homepage;
-
-    /**
-     * An ICQ chat ID
-     */
-    public static final URI icqChatID;
-
-    /**
-     * An image that can be used to represent some thing (ie. those depictions which are particularly representative of something, eg. one's photo on a homepage).
-     */
-    public static final URI img;
-
-    /**
-     * A page about a topic of interest to this person.
-     */
-    public static final URI interest;
-
-    /**
-     * A document that this thing is the primary topic of.
-     */
-    public static final URI isPrimaryTopicOf;
-
-    /**
-     * A jabber ID for something.
-     */
-    public static final URI jabberID;
-
-    /**
-     * A person known by this person (indicating some level of reciprocated interaction between the parties).
-     */
-    public static final URI knows;
-
-    /**
-     * The last name of a person.
-     */
-    public static final URI lastName;
-
-    /**
-     * A logo representing some thing.
-     */
-    public static final URI logo;
-
-    /**
-     * Something that was made by this agent.
-     */
-    public static final URI made;
-
-    /**
-     * An agent that  made this thing.
-     */
-    public static final URI maker;
-
-    /**
-     * A  personal mailbox, ie. an Internet mailbox associated with exactly one owner, the first owner of this mailbox. This is a 'static inverse functional property', in that  there is (across time and change) at most one individual that ever has any particular value for foaf:mbox.
-     */
-    public static final URI mbox;
-
-    /**
-     * The sha1sum of the URI of an Internet mailbox associated with exactly one owner, the  first owner of the mailbox.
-     */
-    public static final URI mbox_sha1sum;
-
-    /**
-     * Indicates a member of a Group
-     */
-    public static final URI member;
-
-    /**
-     * Indicates the class of individuals that are a member of a Group
-     */
-    public static final URI membershipClass;
-
-    /**
-     * An MSN chat ID
-     */
-    public static final URI msnChatID;
-
-    /**
-     * A Myers Briggs (MBTI) personality classification.
-     */
-    public static final URI myersBriggs;
-
-    /**
-     * A name for some thing.
-     */
-    public static final URI name;
-
-    /**
-     * A short informal nickname characterising an agent (includes login identifiers, IRC and other chat nicknames).
-     */
-    public static final URI nick;
-
-    /**
-     * An OpenID for an Agent.
-     */
-    public static final URI openid;
-
-    /**
-     * A page or document about this thing.
-     */
-    public static final URI page;
-
-    /**
-     * A project this person has previously worked on.
-     */
-    public static final URI pastProject;
-
-    /**
-     * A phone,  specified using fully qualified tel: URI scheme (refs: http://www.w3.org/Addressing/schemes.html#tel).
-     */
-    public static final URI phone;
-
-    /**
-     * A .plan comment, in the tradition of finger and '.plan' files.
-     */
-    public static final URI plan;
-
-    /**
-     * The primary topic of some page or document.
-     */
-    public static final URI primaryTopic;
-
-    /**
-     * A link to the publications of this person.
-     */
-    public static final URI publications;
-
-    /**
-     * A homepage of a school attended by the person.
-     */
-    public static final URI schoolHomepage;
-
-    /**
-     * A sha1sum hash, in hex.
-     */
-    public static final URI sha1;
-
-    /**
-     * A Skype ID
-     */
-    public static final URI skypeID;
-
-    /**
-     * A string expressing what the user is happy for the general public (normally) to know about their current activity.
-     */
-    public static final URI status;
-
-    /**
-     * The surname of some person.
-     */
-    public static final URI surname;
-
-    /**
-     * A theme.
-     */
-    public static final URI theme;
-
-    /**
-     * A derived thumbnail image.
-     */
-    public static final URI thumbnail;
-
-    /**
-     * A tipjar document for this agent, describing means for payment and reward.
-     */
-    public static final URI tipjar;
-
-    /**
-     * Title (Mr, Mrs, Ms, Dr. etc)
-     */
-    public static final URI title;
-
-    /**
-     * A topic of some page or document.
-     */
-    public static final URI topic;
-
-    /**
-     * A thing of interest to this person.
-     */
-    public static final URI topic_interest;
-
-    /**
-     * A weblog of some thing (whether person, group, company etc.).
-     */
-    public static final URI weblog;
-
-    /**
-     * A work info homepage of some person; a page about their work for some organization.
-     */
-    public static final URI workInfoHomepage;
-
-    /**
-     * A workplace homepage of some person; the homepage of an organization they work for.
-     */
-    public static final URI workplaceHomepage;
-
-    /**
-     * A Yahoo chat ID
-     */
-    public static final URI yahooChatID;
-
-
-    static{
-        ValueFactory factory = ValueFactoryImpl.getInstance();
-        Agent = factory.createURI(FOAF.NAMESPACE, "Agent");
-        Document = factory.createURI(FOAF.NAMESPACE, "Document");
-        Group = factory.createURI(FOAF.NAMESPACE, "Group");
-        Image = factory.createURI(FOAF.NAMESPACE, "Image");
-        LabelProperty = factory.createURI(FOAF.NAMESPACE, "LabelProperty");
-        OnlineAccount = factory.createURI(FOAF.NAMESPACE, "OnlineAccount");
-        OnlineChatAccount = factory.createURI(FOAF.NAMESPACE, "OnlineChatAccount");
-        OnlineEcommerceAccount = factory.createURI(FOAF.NAMESPACE, "OnlineEcommerceAccount");
-        OnlineGamingAccount = factory.createURI(FOAF.NAMESPACE, "OnlineGamingAccount");
-        Organization = factory.createURI(FOAF.NAMESPACE, "Organization");
-        Person = factory.createURI(FOAF.NAMESPACE, "Person");
-        PersonalProfileDocument = factory.createURI(FOAF.NAMESPACE, "PersonalProfileDocument");
-        Project = factory.createURI(FOAF.NAMESPACE, "Project");
-        account = factory.createURI(FOAF.NAMESPACE, "account");
-        accountName = factory.createURI(FOAF.NAMESPACE, "accountName");
-        accountServiceHomepage = factory.createURI(FOAF.NAMESPACE, "accountServiceHomepage");
-        age = factory.createURI(FOAF.NAMESPACE, "age");
-        aimChatID = factory.createURI(FOAF.NAMESPACE, "aimChatID");
-        based_near = factory.createURI(FOAF.NAMESPACE, "based_near");
-        birthday = factory.createURI(FOAF.NAMESPACE, "birthday");
-        currentProject = factory.createURI(FOAF.NAMESPACE, "currentProject");
-        depiction = factory.createURI(FOAF.NAMESPACE, "depiction");
-        depicts = factory.createURI(FOAF.NAMESPACE, "depicts");
-        dnaChecksum = factory.createURI(FOAF.NAMESPACE, "dnaChecksum");
-        familyName = factory.createURI(FOAF.NAMESPACE, "familyName");
-        family_name = factory.createURI(FOAF.NAMESPACE, "family_name");
-        firstName = factory.createURI(FOAF.NAMESPACE, "firstName");
-        focus = factory.createURI(FOAF.NAMESPACE, "focus");
-        fundedBy = factory.createURI(FOAF.NAMESPACE, "fundedBy");
-        geekcode = factory.createURI(FOAF.NAMESPACE, "geekcode");
-        gender = factory.createURI(FOAF.NAMESPACE, "gender");
-        givenName = factory.createURI(FOAF.NAMESPACE, "givenName");
-        givenname = factory.createURI(FOAF.NAMESPACE, "givenname");
-        holdsAccount = factory.createURI(FOAF.NAMESPACE, "holdsAccount");
-        homepage = factory.createURI(FOAF.NAMESPACE, "homepage");
-        icqChatID = factory.createURI(FOAF.NAMESPACE, "icqChatID");
-        img = factory.createURI(FOAF.NAMESPACE, "img");
-        interest = factory.createURI(FOAF.NAMESPACE, "interest");
-        isPrimaryTopicOf = factory.createURI(FOAF.NAMESPACE, "isPrimaryTopicOf");
-        jabberID = factory.createURI(FOAF.NAMESPACE, "jabberID");
-        knows = factory.createURI(FOAF.NAMESPACE, "knows");
-        lastName = factory.createURI(FOAF.NAMESPACE, "lastName");
-        logo = factory.createURI(FOAF.NAMESPACE, "logo");
-        made = factory.createURI(FOAF.NAMESPACE, "made");
-        maker = factory.createURI(FOAF.NAMESPACE, "maker");
-        mbox = factory.createURI(FOAF.NAMESPACE, "mbox");
-        mbox_sha1sum = factory.createURI(FOAF.NAMESPACE, "mbox_sha1sum");
-        member = factory.createURI(FOAF.NAMESPACE, "member");
-        membershipClass = factory.createURI(FOAF.NAMESPACE, "membershipClass");
-        msnChatID = factory.createURI(FOAF.NAMESPACE, "msnChatID");
-        myersBriggs = factory.createURI(FOAF.NAMESPACE, "myersBriggs");
-        name = factory.createURI(FOAF.NAMESPACE, "name");
-        nick = factory.createURI(FOAF.NAMESPACE, "nick");
-        openid = factory.createURI(FOAF.NAMESPACE, "openid");
-        page = factory.createURI(FOAF.NAMESPACE, "page");
-        pastProject = factory.createURI(FOAF.NAMESPACE, "pastProject");
-        phone = factory.createURI(FOAF.NAMESPACE, "phone");
-        plan = factory.createURI(FOAF.NAMESPACE, "plan");
-        primaryTopic = factory.createURI(FOAF.NAMESPACE, "primaryTopic");
-        publications = factory.createURI(FOAF.NAMESPACE, "publications");
-        schoolHomepage = factory.createURI(FOAF.NAMESPACE, "schoolHomepage");
-        sha1 = factory.createURI(FOAF.NAMESPACE, "sha1");
-        skypeID = factory.createURI(FOAF.NAMESPACE, "skypeID");
-        status = factory.createURI(FOAF.NAMESPACE, "status");
-        surname = factory.createURI(FOAF.NAMESPACE, "surname");
-        theme = factory.createURI(FOAF.NAMESPACE, "theme");
-        thumbnail = factory.createURI(FOAF.NAMESPACE, "thumbnail");
-        tipjar = factory.createURI(FOAF.NAMESPACE, "tipjar");
-        title = factory.createURI(FOAF.NAMESPACE, "title");
-        topic = factory.createURI(FOAF.NAMESPACE, "topic");
-        topic_interest = factory.createURI(FOAF.NAMESPACE, "topic_interest");
-        weblog = factory.createURI(FOAF.NAMESPACE, "weblog");
-        workInfoHomepage = factory.createURI(FOAF.NAMESPACE, "workInfoHomepage");
-        workplaceHomepage = factory.createURI(FOAF.NAMESPACE, "workplaceHomepage");
-        yahooChatID = factory.createURI(FOAF.NAMESPACE, "yahooChatID");
-    }
-}

http://git-wip-us.apache.org/repos/asf/marmotta/blob/8d79b113/commons/marmotta-commons/src/main/java/org/apache/marmotta/commons/vocabulary/GEO.java
----------------------------------------------------------------------
diff --git a/commons/marmotta-commons/src/main/java/org/apache/marmotta/commons/vocabulary/GEO.java b/commons/marmotta-commons/src/main/java/org/apache/marmotta/commons/vocabulary/GEO.java
deleted file mode 100644
index a5d77ce..0000000
--- a/commons/marmotta-commons/src/main/java/org/apache/marmotta/commons/vocabulary/GEO.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.marmotta.commons.vocabulary;
-
-import org.openrdf.model.URI;
-import org.openrdf.model.ValueFactory;
-import org.openrdf.model.impl.ValueFactoryImpl;
-
-/**
- * Namespace GEO
- */
-public class GEO {
-
-    public static final String NAMESPACE = "http://www.w3.org/2003/01/geo/wgs84_pos#";
-
-    public static final String PREFIX = "geo";
-
-    /**
-     * A point, typically described using a coordinate system relative to Earth, such as WGS84.
-     */
-    public static final URI Point;
-
-    /**
-     * Anything with spatial extent, i.e. size, shape, or position.
-     e.g. people, places, bowling balls, as well as abstract areas like cubes.
-     */
-    public static final URI SpatialThing;
-
-    /**
-     * The WGS84 altitude of a SpatialThing (decimal meters
-     above the local reference ellipsoid).
-     */
-    public static final URI alt;
-
-    /**
-     * The WGS84 latitude of a SpatialThing (decimal degrees).
-     */
-    public static final URI lat;
-
-    /**
-     * A comma-separated representation of a latitude, longitude coordinate.
-     */
-    public static final URI lat_long;
-
-    /**
-     * The relation between something and the point,
-     or other geometrical thing in space, where it is.  For example, the realtionship between
-     a radio tower and a Point with a given lat and long.
-     Or a relationship between a park and its outline as a closed arc of points, or a road and
-     its location as a arc (a sequence of points).
-     Clearly in practice there will be limit to the accuracy of any such statement, but one would expect
-     an accuracy appropriate for the size of the object and uses such as mapping .
-     */
-    public static final URI location;
-
-    /**
-     * The WGS84 longitude of a SpatialThing (decimal degrees).
-     */
-    public static final URI long_;
-
-
-    static{
-        ValueFactory factory = ValueFactoryImpl.getInstance();
-        Point = factory.createURI(GEO.NAMESPACE, "Point");
-        SpatialThing = factory.createURI(GEO.NAMESPACE, "SpatialThing");
-        alt = factory.createURI(GEO.NAMESPACE, "alt");
-        lat = factory.createURI(GEO.NAMESPACE, "lat");
-        lat_long = factory.createURI(GEO.NAMESPACE, "lat_long");
-        location = factory.createURI(GEO.NAMESPACE, "location");
-        long_ = factory.createURI(GEO.NAMESPACE, "long");
-    }
-}

http://git-wip-us.apache.org/repos/asf/marmotta/blob/8d79b113/commons/marmotta-commons/src/main/java/org/apache/marmotta/commons/vocabulary/LDP.java
----------------------------------------------------------------------
diff --git a/commons/marmotta-commons/src/main/java/org/apache/marmotta/commons/vocabulary/LDP.java b/commons/marmotta-commons/src/main/java/org/apache/marmotta/commons/vocabulary/LDP.java
deleted file mode 100644
index 1599c02..0000000
--- a/commons/marmotta-commons/src/main/java/org/apache/marmotta/commons/vocabulary/LDP.java
+++ /dev/null
@@ -1,134 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.marmotta.commons.vocabulary;
-
-import org.openrdf.model.URI;
-import org.openrdf.model.ValueFactory;
-import org.openrdf.model.impl.ValueFactoryImpl;
-
-/** 
- * Namespace LDP
- */
-public class LDP {
-
-	public static final String NAMESPACE = "http://www.w3.org/ns/ldp#";
-
-	public static final String PREFIX = "ldp";
-
-	/**
-	 * A Linked Data Platform Container (LDPC) that also conforms to
-	 * additional patterns and conventions for managing members.  It is distinguished from
-	 * CompositeContainer by the following behaviors:
-     * <ol>
-	 *   <li>Clients cannot assume that an AggregateContainer, when deleted, deletes its members.
-     * </ol>
-     *
-	 * While every attempt is made to be complete in this list, readers should also refer
-	 * to the specification defining this ontology.
-	 */
-	public static final URI AggregateContainer;
-
-    /**
-     * FIXME: Not yet part of the official vocab, but used in the Spec. (2014-02-18)
-     */
-    public static final URI BasicContainer;
-
-    /**
-	 * A Linked Data Platform Container (LDPC) that also conforms to
-	 * additional patterns and conventions for managing members.  It is distinguished from
-	 * AggregateContainer by the following behaviors:
-     * <ol>
-     *   <li>An CompositeContainer, when deleted, must delete all its members.
-     * </ol>
-     *
-	 * While every attempt is made to be complete in this list, readers should also
-	 * refer to the specification defining this ontology.
-	 */
-	public static final URI CompositeContainer;
-
-	/**
-	 * A Linked Data Platform Resource (LDPR) that also conforms to
-	 * additional patterns and conventions for managing membership.
-	 * Readers should refer to the specification defining this ontology for the list of
-	 * behaviors associated with it.
-	 */
-	public static final URI Container;
-
-	/**
-	 * A resource that represents a limited set of members of a LDP Container. 
-	 */
-	public static final URI Page;
-
-	/**
-	 * A HTTP-addressable resource with a linked data representation. 
-	 */
-	public static final URI Resource;
-
-    /**
-     * FIXME: Not yet part of the vocab, but used in the spec. (2014-02-24)
-     */
-    public static final URI contains;
-
-    /**
-	 * List of predicates that indicate the ascending order of the members in a page. 
-	 */
-	public static final URI containerSortPredicates;
-
-    /**
-     * FIXME: Not yet part of the vocab, but used in the spec. (2014-02-18)
-     */
-    public static final URI member;
-
-    /**
-	 * Indicates which predicate of the container should be used to determine the membership. 
-	 */
-	public static final URI membershipPredicate;
-
-	/**
-	 * Indicates which resource is the subject for the members of the container. 
-	 */
-	public static final URI membershipSubject;
-
-	/**
-	 * From a known page, how to indicate the next or last page as rdf:nil. 
-	 */
-	public static final URI nextPage;
-
-	/**
-	 * Associated a page with its container. 
-	 */
-	public static final URI pageOf;
-
-
-	static{
-		ValueFactory factory = ValueFactoryImpl.getInstance();
-		AggregateContainer = factory.createURI(LDP.NAMESPACE, "AggregateContainer");
-        BasicContainer = factory.createURI(LDP.NAMESPACE, "BasicContainer");
-		CompositeContainer = factory.createURI(LDP.NAMESPACE, "CompositeContainer");
-		Container = factory.createURI(LDP.NAMESPACE, "Container");
-		Page = factory.createURI(LDP.NAMESPACE, "Page");
-		Resource = factory.createURI(LDP.NAMESPACE, "Resource");
-        contains = factory.createURI(LDP.NAMESPACE, "contains");
-		containerSortPredicates = factory.createURI(LDP.NAMESPACE, "containerSortPredicates");
-		member = factory.createURI(LDP.NAMESPACE, "member");
-		membershipPredicate = factory.createURI(LDP.NAMESPACE, "membershipPredicate");
-		membershipSubject = factory.createURI(LDP.NAMESPACE, "membershipSubject");
-		nextPage = factory.createURI(LDP.NAMESPACE, "nextPage");
-		pageOf = factory.createURI(LDP.NAMESPACE, "pageOf");
-	}
-
-}

http://git-wip-us.apache.org/repos/asf/marmotta/blob/8d79b113/commons/marmotta-commons/src/main/java/org/apache/marmotta/commons/vocabulary/MA.java
----------------------------------------------------------------------
diff --git a/commons/marmotta-commons/src/main/java/org/apache/marmotta/commons/vocabulary/MA.java b/commons/marmotta-commons/src/main/java/org/apache/marmotta/commons/vocabulary/MA.java
deleted file mode 100644
index 8a4fbed..0000000
--- a/commons/marmotta-commons/src/main/java/org/apache/marmotta/commons/vocabulary/MA.java
+++ /dev/null
@@ -1,568 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.marmotta.commons.vocabulary;
-
-import org.openrdf.model.URI;
-import org.openrdf.model.ValueFactory;
-import org.openrdf.model.impl.ValueFactoryImpl;
-
-/**
- * Namespace MA
- */
-public class MA {
-
-    public static final String NAMESPACE = "http://www.w3.org/ns/ma-ont#";
-
-    public static final String PREFIX = "ma";
-
-    /**
-     * A person or organisation contributing to the media resource.
-     */
-    public static final URI Agent;
-
-    /**
-     * A specialisation of Track for Audio to provide a link to specific data properties such as sampleRate, etc. Specialisation is defined through object properties.
-     */
-    public static final URI AudioTrack;
-
-    /**
-     * Any group of media resource e.g. a series.
-     */
-    public static final URI Collection;
-
-    /**
-     * Ancillary data track e.g. ¨captioning"  in addition to video and audio tracks. Specialisation is made through the use of appropriate object properties.
-     */
-    public static final URI DataTrack;
-
-    /**
-     * A still image / thumbnail / key frame related to the media resource or being the media resource itself.
-     */
-    public static final URI Image;
-
-    public static final URI IsRatingOf;
-
-    /**
-     * A location related to the media resource, e.g. depicted in the resource (possibly fictional) or where the resource was created (shooting location), etc.
-     */
-    public static final URI Location;
-
-    /**
-     * A media fragment (spatial, temporal, track...) composing a media resource. In other ontologies fragment is sometimes referred to as a 'part' or 'segment'.
-     */
-    public static final URI MediaFragment;
-
-    /**
-     * An image or an audiovisual media resource, which can be composed of one or more fragment / track.
-     */
-    public static final URI MediaResource;
-
-    /**
-     * An organisation or moral agent.
-     */
-    public static final URI Organisation;
-
-    /**
-     * A physical person.
-     */
-    public static final URI Person;
-
-    /**
-     * Information about the rating given to a media resource.
-     */
-    public static final URI Rating;
-
-    /**
-     * Information about The target audience (target region, target audience category but also parental guidance recommendation) for which a media resource is intended.
-     */
-    public static final URI TargetAudience;
-
-    /**
-     * A specialisation of MediaFragment for audiovisual content.
-     */
-    public static final URI Track;
-
-    /**
-     * A specialisation of Track for Video to provide a link to specific data properties such as frameRate, etc. Signing is another possible example of video track. Specialisation is defined through object properties.
-     */
-    public static final URI VideoTrack;
-
-    /**
-     * Corresponds to 'title.title' in the Ontology for Media Resources with a 'title.type' meaning "alternative".
-     */
-    public static final URI alternativeTitle;
-
-    /**
-     * Corresponds to 'averageBitRate' in the Ontology for Media Resources, expressed in kilobits/second.
-     */
-    public static final URI averageBitRate;
-
-    /**
-     * The name by which a collection (e.g. series) is known.
-     */
-    public static final URI collectionName;
-
-    /**
-     * Corresponds to 'copyright.copyright' in the Ontology for Media Resources.
-     */
-    public static final URI copyright;
-
-    /**
-     * A subproperty of 'hasRelatedLocation" used to specify where material shooting took place.
-     */
-    public static final URI createdIn;
-
-    /**
-     * Corresponds to 'date.date' in the Ontology for Media Resources with a 'date.type' meaning "creationDate".
-     */
-    public static final URI creationDate;
-
-    /**
-     * Corresponds to date.date in the ontology for Media Resources. Subproperties can be used to distinguish different values of 'date.type'. The recommended range is 'xsd:dateTime' (for compliance with OWL2-QL and OWL2-RL) but other time-related datatypes may be used (e.g. 'xsd:gYear', 'xsd:date'...).
-     */
-    public static final URI date;
-
-    /**
-     * A subproperty of 'hasRelatedLocation' used to specify where the action depicted in the media is supposed to take place, as opposed to the location where shooting actually took place (see 'createdIn').
-     */
-    public static final URI depictsFictionalLocation;
-
-    /**
-     * Corresponds to 'description' in the Ontology for Media Resources. This can be specialised by using sub-properties e.g. 'summary' or 'script'.
-     */
-    public static final URI description;
-
-    /**
-     * Corresponds to 'duration' in the Ontology for Media Resources.
-     */
-    public static final URI duration;
-
-    /**
-     * Corresponds to 'date.date' in the Ontology for Media Resources with a 'date.type' meaning "editDate".
-     */
-    public static final URI editDate;
-
-    /**
-     * Corresponds to 'contributor.contributor' in the Ontology for Media Resources with a 'contributor.role' meaning "actor".
-     */
-    public static final URI features;
-
-    /**
-     * Corresponds to 'namedFragment.label' in the Ontology for Media Resources.
-     */
-    public static final URI fragmentName;
-
-    /**
-     * Corresponds to 'frameSize.height' in the Ontology for Media Resources, measured in frameSizeUnit.
-     */
-    public static final URI frameHeight;
-
-    /**
-     * Corresponds to 'frameRate' in the Ontology for Media Resources, in frame per second.
-     */
-    public static final URI frameRate;
-
-    /**
-     * Corresponds to 'frameSize.unit' in the Ontology for Media Resources.
-     */
-    public static final URI frameSizeUnit;
-
-    /**
-     * Corresponds to 'frameSize.width' in the Ontology for Media Resources measured in frameSizeUnit.
-     */
-    public static final URI frameWidth;
-
-    /**
-     * Corresponds to 'policy' in the Ontology for Media Resources with a 'policy.type' "access conditions".
-     */
-    public static final URI hasAccessConditions;
-
-    /**
-     * Corresponds to 'fragment' in the Ontology for Media Resources with a 'fragment.role' meaning "audio-description".
-     */
-    public static final URI hasAudioDescription;
-
-    /**
-     * Corresponds to 'fragment' in the Ontology for Media Resources with a 'fragment.role' meaning "captioning". This property can for example point to a spatial fragment, a VideoTrack or a DataTrack. The language of the captioning track can be expressed by attaching a 'hasLanguage' property to the specific track.
-     */
-    public static final URI hasCaptioning;
-
-    /**
-     * Corresponds to 'fragment' in the Ontology for Media Resources with a 'fragment.role' meaning "actor".
-     */
-    public static final URI hasChapter;
-
-    /**
-     * Corresponds to 'targetAudience.classification' in the Ontology for Media Resources. This property is used to provide a value characterising the target audience.
-     */
-    public static final URI hasClassification;
-
-    /**
-     * Corresponds to 'targetAudience.identifier' in the Ontology for Media Resources. This is used to identify the reference sheme against which the target audience has been characterised.
-     */
-    public static final URI hasClassificationSystem;
-
-    /**
-     * Corresponds to 'compression' in the Ontology for Media Resources.
-     */
-    public static final URI hasCompression;
-
-    public static final URI hasContributedTo;
-
-    /**
-     * Corresponds to 'contributor.contributor' in the Ontology for Media Resources. Subproperties can be used to distinguish different values of 'contributor.role'.
-     */
-    public static final URI hasContributor;
-
-    public static final URI hasCopyrightOver;
-
-    public static final URI hasCreated;
-
-    /**
-     * Corresponds to 'creator.creator' in the Ontology for Media Resources. Subproperties can be used to distinguish different values of 'creator.role'. Note that this property is semantically a subproperty of 'hasContributor'.
-     */
-    public static final URI hasCreator;
-
-    /**
-     * Corresponds to 'format' in the Ontology for Media Resources.
-     */
-    public static final URI hasFormat;
-
-    /**
-     * Corresponds to 'fragment' in the Ontology for Media Resources. Subproperties can be used to distinguish different values of 'fragment.role'.
-     */
-    public static final URI hasFragment;
-
-    /**
-     * Corresponds to 'genre' in the Ontology for Media Resources.
-     */
-    public static final URI hasGenre;
-
-    /**
-     * Corresponds to 'keyword' in the Ontology for Media Resources.
-     */
-    public static final URI hasKeyword;
-
-    /**
-     * Corresponds to 'language' in the Ontology for Media Resources. The language used in the resource. A controlled vocabulary such as defined in BCP 47 SHOULD be used. This property can also be used to identify the presence of sign language (RFC 5646). By inheritance, the hasLanguage property applies indifferently at the media resource / fragment / track levels.  Best practice recommends to use to best possible level of granularity fo describe the usage of language within a media resource including at fragment and track levels.
-     */
-    public static final URI hasLanguage;
-
-    /**
-     * Corresponds to 'location.coordinateSystem' in the Ontology for Media Resources.
-     */
-    public static final URI hasLocationCoordinateSystem;
-
-    public static final URI hasMember;
-
-    /**
-     * Corresponds to 'namedFragment' in the Ontology for Media Resources.
-     */
-    public static final URI hasNamedFragment;
-
-    /**
-     * Corresponds to 'policy' in the Ontology for Media Resources with a  'policy.type' meaning "permissions".
-     */
-    public static final URI hasPermissions;
-
-    /**
-     * Corresponds to 'policy' in the Ontology for Media Resources. Subproperties can be used to distinguish different values of 'policy.type'.
-     */
-    public static final URI hasPolicy;
-
-    public static final URI hasPublished;
-
-    /**
-     * Corresponds to 'publisher' in the Ontology for Media Resources.
-     */
-    public static final URI hasPublisher;
-
-    /**
-     * Corresponds to 'rating' in the Ontology for Media Resources.
-     */
-    public static final URI hasRating;
-
-    /**
-     * Corresponds to 'rating.type' in the Ontology for Media Resources.
-     */
-    public static final URI hasRatingSystem;
-
-    /**
-     * Corresponds to 'relation' and in the Ontology for Media Resources with a 'relation.type' meaning "related image".
-     */
-    public static final URI hasRelatedImage;
-
-    /**
-     * Corresponds to 'location' in the Ontology for Media Resources. Subproperties are provided to specify, when possible, the relation between the media resource and the location.
-     */
-    public static final URI hasRelatedLocation;
-
-    /**
-     * Corresponds to 'relation' and in the Ontology for Media Resources. Subproperties can be used to distinguish different values of 'relation.type'.
-     */
-    public static final URI hasRelatedResource;
-
-    /**
-     * Corresponds to 'fragment' in the Ontology for Media Resources with a 'fragment.role' meaning "signing". This property can for example point to a spatial fragment or a VideoTrack. The sign language of the captioning track can be expressed by attaching a 'hasLanguage' property to the specific track.
-     */
-    public static final URI hasSigning;
-
-    /**
-     * Corresponds to 'relation' and in the Ontology for Media Resources with a 'relation.type' meaning "source".
-     */
-    public static final URI hasSource;
-
-    /**
-     * Corresponds to 'fragment' in the Ontology for Media Resources with a 'fragment.role' meaning "subtitling".
-     */
-    public static final URI hasSubtitling;
-
-    /**
-     * Corresponds to 'targetAudience' in the Ontology for Media Resources.
-     */
-    public static final URI hasTargetAudience;
-
-    /**
-     * Corresponds to 'fragment' in the Ontology for Media Resources with a 'fragment.role' meaning "track".
-     */
-    public static final URI hasTrack;
-
-    public static final URI isCaptioningOf;
-
-    public static final URI isChapterOf;
-
-    /**
-     * Corresponds to 'copyright.identifier' in the Ontology for Media Resources.
-     */
-    public static final URI isCopyrightedBy;
-
-    public static final URI isCreationLocationOf;
-
-    public static final URI isFictionalLocationDepictedIn;
-
-    public static final URI isFragmentOf;
-
-    public static final URI isImageRelatedTo;
-
-    public static final URI isLocationRelatedTo;
-
-    /**
-     * Corresponds to 'collection' in the Ontology for Media Resources.
-     */
-    public static final URI isMemberOf;
-
-    public static final URI isNamedFragmentOf;
-
-    /**
-     * Corresponds to 'rating.identifier' in the Ontology for Media Resources.
-     */
-    public static final URI isProvidedBy;
-
-    public static final URI isRelatedTo;
-
-    public static final URI isSigningOf;
-
-    public static final URI isSourceOf;
-
-    public static final URI isTargetAudienceOf;
-
-    public static final URI isTrackOf;
-
-    /**
-     * Corresponds to 'location.altitude' in the Ontology for Media Resources.
-     */
-    public static final URI locationAltitude;
-
-    /**
-     * Corresponds to 'location.latitude' in the Ontology for Media Resources.
-     */
-    public static final URI locationLatitude;
-
-    /**
-     * Corresponds to 'location.longitude' in the Ontology for Media Resources.
-     */
-    public static final URI locationLongitude;
-
-    /**
-     * Corresponds to 'location.name' in the Ontology for Media Resources.
-     */
-    public static final URI locationName;
-
-    /**
-     * Corresponds to 'locator' in the Ontology for Media Resources.
-     */
-    public static final URI locator;
-
-    /**
-     * Corresponds to 'title.title' in the Ontology for Media Resources with a 'title.type' meaning "original".
-     */
-    public static final URI mainOriginalTitle;
-
-    /**
-     * Corresponds to 'numTracks.number' in the Ontology for Media Resources. Subproperties can be used to distinguish different values of 'numTracks.type'.
-     */
-    public static final URI numberOfTracks;
-
-    public static final URI playsIn;
-
-    public static final URI provides;
-
-    /**
-     * Corresponds to 'rating.max' in the Ontology for Media Resources.
-     */
-    public static final URI ratingScaleMax;
-
-    /**
-     * Corresponds to 'rating.min' in the Ontology for Media Resources.
-     */
-    public static final URI ratingScaleMin;
-
-    /**
-     * Corresponds to 'rating.value' in the Ontology for Media Resources.
-     */
-    public static final URI ratingValue;
-
-    /**
-     * Corresponds to 'date.date' in the Ontology for Media Resources with a 'date.type' meaning "recordDate".
-     */
-    public static final URI recordDate;
-
-    /**
-     * Corresponds to 'date.date' in the Ontology for Media Resources with a 'date.type' meaning "releaseDate".
-     */
-    public static final URI releaseDate;
-
-    /**
-     * Corresponds to 'samplingRate' in the Ontology for Media Resources, in samples per second.
-     */
-    public static final URI samplingRate;
-
-    /**
-     * Corresponds to 'title.title' in the Ontology for Media Resources. Subproperties can be used to distinguish different values of 'title.type'.
-     */
-    public static final URI title;
-
-    /**
-     * Corresponds to 'fragment.name' in the Ontology for Media Resources, for Track fragments.
-     */
-    public static final URI trackName;
-
-
-    static{
-        ValueFactory factory = ValueFactoryImpl.getInstance();
-        Agent = factory.createURI(MA.NAMESPACE, "Agent");
-        AudioTrack = factory.createURI(MA.NAMESPACE, "AudioTrack");
-        Collection = factory.createURI(MA.NAMESPACE, "Collection");
-        DataTrack = factory.createURI(MA.NAMESPACE, "DataTrack");
-        Image = factory.createURI(MA.NAMESPACE, "Image");
-        IsRatingOf = factory.createURI(MA.NAMESPACE, "IsRatingOf");
-        Location = factory.createURI(MA.NAMESPACE, "Location");
-        MediaFragment = factory.createURI(MA.NAMESPACE, "MediaFragment");
-        MediaResource = factory.createURI(MA.NAMESPACE, "MediaResource");
-        Organisation = factory.createURI(MA.NAMESPACE, "Organisation");
-        Person = factory.createURI(MA.NAMESPACE, "Person");
-        Rating = factory.createURI(MA.NAMESPACE, "Rating");
-        TargetAudience = factory.createURI(MA.NAMESPACE, "TargetAudience");
-        Track = factory.createURI(MA.NAMESPACE, "Track");
-        VideoTrack = factory.createURI(MA.NAMESPACE, "VideoTrack");
-        alternativeTitle = factory.createURI(MA.NAMESPACE, "alternativeTitle");
-        averageBitRate = factory.createURI(MA.NAMESPACE, "averageBitRate");
-        collectionName = factory.createURI(MA.NAMESPACE, "collectionName");
-        copyright = factory.createURI(MA.NAMESPACE, "copyright");
-        createdIn = factory.createURI(MA.NAMESPACE, "createdIn");
-        creationDate = factory.createURI(MA.NAMESPACE, "creationDate");
-        date = factory.createURI(MA.NAMESPACE, "date");
-        depictsFictionalLocation = factory.createURI(MA.NAMESPACE, "depictsFictionalLocation");
-        description = factory.createURI(MA.NAMESPACE, "description");
-        duration = factory.createURI(MA.NAMESPACE, "duration");
-        editDate = factory.createURI(MA.NAMESPACE, "editDate");
-        features = factory.createURI(MA.NAMESPACE, "features");
-        fragmentName = factory.createURI(MA.NAMESPACE, "fragmentName");
-        frameHeight = factory.createURI(MA.NAMESPACE, "frameHeight");
-        frameRate = factory.createURI(MA.NAMESPACE, "frameRate");
-        frameSizeUnit = factory.createURI(MA.NAMESPACE, "frameSizeUnit");
-        frameWidth = factory.createURI(MA.NAMESPACE, "frameWidth");
-        hasAccessConditions = factory.createURI(MA.NAMESPACE, "hasAccessConditions");
-        hasAudioDescription = factory.createURI(MA.NAMESPACE, "hasAudioDescription");
-        hasCaptioning = factory.createURI(MA.NAMESPACE, "hasCaptioning");
-        hasChapter = factory.createURI(MA.NAMESPACE, "hasChapter");
-        hasClassification = factory.createURI(MA.NAMESPACE, "hasClassification");
-        hasClassificationSystem = factory.createURI(MA.NAMESPACE, "hasClassificationSystem");
-        hasCompression = factory.createURI(MA.NAMESPACE, "hasCompression");
-        hasContributedTo = factory.createURI(MA.NAMESPACE, "hasContributedTo");
-        hasContributor = factory.createURI(MA.NAMESPACE, "hasContributor");
-        hasCopyrightOver = factory.createURI(MA.NAMESPACE, "hasCopyrightOver");
-        hasCreated = factory.createURI(MA.NAMESPACE, "hasCreated");
-        hasCreator = factory.createURI(MA.NAMESPACE, "hasCreator");
-        hasFormat = factory.createURI(MA.NAMESPACE, "hasFormat");
-        hasFragment = factory.createURI(MA.NAMESPACE, "hasFragment");
-        hasGenre = factory.createURI(MA.NAMESPACE, "hasGenre");
-        hasKeyword = factory.createURI(MA.NAMESPACE, "hasKeyword");
-        hasLanguage = factory.createURI(MA.NAMESPACE, "hasLanguage");
-        hasLocationCoordinateSystem = factory.createURI(MA.NAMESPACE, "hasLocationCoordinateSystem");
-        hasMember = factory.createURI(MA.NAMESPACE, "hasMember");
-        hasNamedFragment = factory.createURI(MA.NAMESPACE, "hasNamedFragment");
-        hasPermissions = factory.createURI(MA.NAMESPACE, "hasPermissions");
-        hasPolicy = factory.createURI(MA.NAMESPACE, "hasPolicy");
-        hasPublished = factory.createURI(MA.NAMESPACE, "hasPublished");
-        hasPublisher = factory.createURI(MA.NAMESPACE, "hasPublisher");
-        hasRating = factory.createURI(MA.NAMESPACE, "hasRating");
-        hasRatingSystem = factory.createURI(MA.NAMESPACE, "hasRatingSystem");
-        hasRelatedImage = factory.createURI(MA.NAMESPACE, "hasRelatedImage");
-        hasRelatedLocation = factory.createURI(MA.NAMESPACE, "hasRelatedLocation");
-        hasRelatedResource = factory.createURI(MA.NAMESPACE, "hasRelatedResource");
-        hasSigning = factory.createURI(MA.NAMESPACE, "hasSigning");
-        hasSource = factory.createURI(MA.NAMESPACE, "hasSource");
-        hasSubtitling = factory.createURI(MA.NAMESPACE, "hasSubtitling");
-        hasTargetAudience = factory.createURI(MA.NAMESPACE, "hasTargetAudience");
-        hasTrack = factory.createURI(MA.NAMESPACE, "hasTrack");
-        isCaptioningOf = factory.createURI(MA.NAMESPACE, "isCaptioningOf");
-        isChapterOf = factory.createURI(MA.NAMESPACE, "isChapterOf");
-        isCopyrightedBy = factory.createURI(MA.NAMESPACE, "isCopyrightedBy");
-        isCreationLocationOf = factory.createURI(MA.NAMESPACE, "isCreationLocationOf");
-        isFictionalLocationDepictedIn = factory.createURI(MA.NAMESPACE, "isFictionalLocationDepictedIn");
-        isFragmentOf = factory.createURI(MA.NAMESPACE, "isFragmentOf");
-        isImageRelatedTo = factory.createURI(MA.NAMESPACE, "isImageRelatedTo");
-        isLocationRelatedTo = factory.createURI(MA.NAMESPACE, "isLocationRelatedTo");
-        isMemberOf = factory.createURI(MA.NAMESPACE, "isMemberOf");
-        isNamedFragmentOf = factory.createURI(MA.NAMESPACE, "isNamedFragmentOf");
-        isProvidedBy = factory.createURI(MA.NAMESPACE, "isProvidedBy");
-        isRelatedTo = factory.createURI(MA.NAMESPACE, "isRelatedTo");
-        isSigningOf = factory.createURI(MA.NAMESPACE, "isSigningOf");
-        isSourceOf = factory.createURI(MA.NAMESPACE, "isSourceOf");
-        isTargetAudienceOf = factory.createURI(MA.NAMESPACE, "isTargetAudienceOf");
-        isTrackOf = factory.createURI(MA.NAMESPACE, "isTrackOf");
-        locationAltitude = factory.createURI(MA.NAMESPACE, "locationAltitude");
-        locationLatitude = factory.createURI(MA.NAMESPACE, "locationLatitude");
-        locationLongitude = factory.createURI(MA.NAMESPACE, "locationLongitude");
-        locationName = factory.createURI(MA.NAMESPACE, "locationName");
-        locator = factory.createURI(MA.NAMESPACE, "locator");
-        mainOriginalTitle = factory.createURI(MA.NAMESPACE, "mainOriginalTitle");
-        numberOfTracks = factory.createURI(MA.NAMESPACE, "numberOfTracks");
-        playsIn = factory.createURI(MA.NAMESPACE, "playsIn");
-        provides = factory.createURI(MA.NAMESPACE, "provides");
-        ratingScaleMax = factory.createURI(MA.NAMESPACE, "ratingScaleMax");
-        ratingScaleMin = factory.createURI(MA.NAMESPACE, "ratingScaleMin");
-        ratingValue = factory.createURI(MA.NAMESPACE, "ratingValue");
-        recordDate = factory.createURI(MA.NAMESPACE, "recordDate");
-        releaseDate = factory.createURI(MA.NAMESPACE, "releaseDate");
-        samplingRate = factory.createURI(MA.NAMESPACE, "samplingRate");
-        title = factory.createURI(MA.NAMESPACE, "title");
-        trackName = factory.createURI(MA.NAMESPACE, "trackName");
-    }
-}


[04/10] MARMOTTA-448: moved vocabularies into a separate module: marmotta-model-vocabs. Also fixed some redundant dependencies.

Posted by ja...@apache.org.
http://git-wip-us.apache.org/repos/asf/marmotta/blob/8d79b113/commons/marmotta-sesame-tools/marmotta-model-vocabs/src/main/java/org/apache/marmotta/commons/vocabulary/SIOC.java
----------------------------------------------------------------------
diff --git a/commons/marmotta-sesame-tools/marmotta-model-vocabs/src/main/java/org/apache/marmotta/commons/vocabulary/SIOC.java b/commons/marmotta-sesame-tools/marmotta-model-vocabs/src/main/java/org/apache/marmotta/commons/vocabulary/SIOC.java
new file mode 100644
index 0000000..96b6638
--- /dev/null
+++ b/commons/marmotta-sesame-tools/marmotta-model-vocabs/src/main/java/org/apache/marmotta/commons/vocabulary/SIOC.java
@@ -0,0 +1,583 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.marmotta.commons.vocabulary;
+
+import org.openrdf.model.URI;
+import org.openrdf.model.ValueFactory;
+import org.openrdf.model.impl.ValueFactoryImpl;
+
+/**
+ * Namespace SIOC
+ */
+public class SIOC {
+
+    public static final String NAMESPACE = "http://rdfs.org/sioc/ns#";
+
+    public static final String PREFIX = "sioc";
+
+    /**
+     * Community is a high-level concept that defines an online community and what it consists of.
+     */
+    public static final URI Community;
+
+    /**
+     * An area in which content Items are contained.
+     */
+    public static final URI Container;
+
+    /**
+     * A discussion area on which Posts or entries are made.
+     */
+    public static final URI Forum;
+
+    /**
+     * An Item is something which can be in a Container.
+     */
+    public static final URI Item;
+
+    /**
+     * An article or message that can be posted to a Forum.
+     */
+    public static final URI Post;
+
+    /**
+     * A Role is a function of a UserAccount within a scope of a particular Forum, Site, etc.
+     */
+    public static final URI Role;
+
+    /**
+     * A Site can be the location of an online community or set of communities, with UserAccounts and Usergroups creating Items in a set of Containers. It can be thought of as a web-accessible data Space.
+     */
+    public static final URI Site;
+
+    /**
+     * A Space is a place where data resides, e.g. on a website, desktop, fileshare, etc.
+     */
+    public static final URI Space;
+
+    /**
+     * A container for a series of threaded discussion Posts or Items.
+     */
+    public static final URI Thread;
+
+    /**
+     * UserAccount is now preferred. This is a deprecated class for a User in an online community site.
+     */
+    public static final URI User;
+
+    /**
+     * A user account in an online community site.
+     */
+    public static final URI UserAccount;
+
+    /**
+     * A set of UserAccounts whose owners have a common purpose or interest. Can be used for access control purposes.
+     */
+    public static final URI Usergroup;
+
+    /**
+     * Specifies that this Item is about a particular resource, e.g. a Post describing a book, hotel, etc.
+     */
+    public static final URI about;
+
+    /**
+     * Refers to the foaf:Agent or foaf:Person who owns this sioc:UserAccount.
+     */
+    public static final URI account_of;
+
+    /**
+     * Refers to who (e.g. a UserAccount, e-mail address, etc.) a particular Item is addressed to.
+     */
+    public static final URI addressed_to;
+
+    /**
+     * A Site that the UserAccount is an administrator of.
+     */
+    public static final URI administrator_of;
+
+    /**
+     * The URI of a file attached to an Item.
+     */
+    public static final URI attachment;
+
+    /**
+     * An image or depiction used to represent this UserAccount.
+     */
+    public static final URI avatar;
+
+    /**
+     * An Item that this Container contains.
+     */
+    public static final URI container_of;
+
+    /**
+     * The content of the Item in plain text format.
+     */
+    public static final URI content;
+
+    /**
+     * The encoded content of the Post, contained in CDATA areas.
+     */
+    public static final URI content_encoded;
+
+    /**
+     * When this was created, in ISO 8601 format.
+     */
+    public static final URI created_at;
+
+    /**
+     * A resource that the UserAccount is a creator of.
+     */
+    public static final URI creator_of;
+
+    /**
+     * The content of the Post.
+     */
+    public static final URI description;
+
+    /**
+     * Links to a previous (older) revision of this Item or Post.
+     */
+    public static final URI earlier_version;
+
+    /**
+     * An electronic mail address of the UserAccount.
+     */
+    public static final URI email;
+
+    /**
+     * An electronic mail address of the UserAccount, encoded using SHA1.
+     */
+    public static final URI email_sha1;
+
+    /**
+     * This links Items to embedded statements, facts and structured content.
+     */
+    public static final URI embeds_knowledge;
+
+    /**
+     * A feed (e.g. RSS, Atom, etc.) pertaining to this resource (e.g. for a Forum, Site, UserAccount, etc.).
+     */
+    public static final URI feed;
+
+    /**
+     * First (real) name of this User. Synonyms include given name or christian name.
+     */
+    public static final URI first_name;
+
+    /**
+     * Indicates that one UserAccount follows another UserAccount (e.g. for microblog posts or other content item updates).
+     */
+    public static final URI follows;
+
+    /**
+     * A UserAccount that has this Role.
+     */
+    public static final URI function_of;
+
+    /**
+     * This property has been renamed. Use sioc:usergroup_of instead.
+     */
+    public static final URI group_of;
+
+    /**
+     * A UserAccount that is an administrator of this Site.
+     */
+    public static final URI has_administrator;
+
+    /**
+     * The Container to which this Item belongs.
+     */
+    public static final URI has_container;
+
+    /**
+     * This is the UserAccount that made this resource.
+     */
+    public static final URI has_creator;
+
+    /**
+     * The discussion that is related to this Item.
+     */
+    public static final URI has_discussion;
+
+    /**
+     * A Role that this UserAccount has.
+     */
+    public static final URI has_function;
+
+    /**
+     * This property has been renamed. Use sioc:has_usergroup instead.
+     */
+    public static final URI has_group;
+
+    /**
+     * The Site that hosts this Forum.
+     */
+    public static final URI has_host;
+
+    /**
+     * A UserAccount that is a member of this Usergroup.
+     */
+    public static final URI has_member;
+
+    /**
+     * A UserAccount that is a moderator of this Forum.
+     */
+    public static final URI has_moderator;
+
+    /**
+     * A UserAccount that modified this Item.
+     */
+    public static final URI has_modifier;
+
+    /**
+     * A UserAccount that this resource is owned by.
+     */
+    public static final URI has_owner;
+
+    /**
+     * A Container or Forum that this Container or Forum is a child of.
+     */
+    public static final URI has_parent;
+
+    /**
+     * An resource that is a part of this subject.
+     */
+    public static final URI has_part;
+
+    /**
+     * Points to an Item or Post that is a reply or response to this Item or Post.
+     */
+    public static final URI has_reply;
+
+    /**
+     * A resource that this Role applies to.
+     */
+    public static final URI has_scope;
+
+    /**
+     * A data Space which this resource is a part of.
+     */
+    public static final URI has_space;
+
+    /**
+     * A UserAccount that is subscribed to this Container.
+     */
+    public static final URI has_subscriber;
+
+    /**
+     * Points to a Usergroup that has certain access to this Space.
+     */
+    public static final URI has_usergroup;
+
+    /**
+     * A Forum that is hosted on this Site.
+     */
+    public static final URI host_of;
+
+    /**
+     * An identifier of a SIOC concept instance. For example, a user ID. Must be unique for instances of each type of SIOC concept within the same site.
+     */
+    public static final URI id;
+
+    /**
+     * The IP address used when creating this Item. This can be associated with a creator. Some wiki articles list the IP addresses for the creator or modifiers when the usernames are absent.
+     */
+    public static final URI ip_address;
+
+    /**
+     * The date and time of the last activity associated with a SIOC concept instance, and expressed in ISO 8601 format. This could be due to a reply Post or Comment, a modification to an Item, etc.
+     */
+    public static final URI last_activity_date;
+
+    /**
+     * The date and time of the last Post (or Item) in a Forum (or a Container), in ISO 8601 format.
+     */
+    public static final URI last_item_date;
+
+    /**
+     * Last (real) name of this user. Synonyms include surname or family name.
+     */
+    public static final URI last_name;
+
+    /**
+     * The date and time of the last reply Post or Comment, which could be associated with a starter Item or Post or with a Thread, and expressed in ISO 8601 format.
+     */
+    public static final URI last_reply_date;
+
+    /**
+     * Links to a later (newer) revision of this Item or Post.
+     */
+    public static final URI later_version;
+
+    /**
+     * Links to the latest revision of this Item or Post.
+     */
+    public static final URI latest_version;
+
+    /**
+     * A URI of a document which contains this SIOC object.
+     */
+    public static final URI link;
+
+    /**
+     * Links extracted from hyperlinks within a SIOC concept, e.g. Post or Site.
+     */
+    public static final URI links_to;
+
+    /**
+     * A Usergroup that this UserAccount is a member of.
+     */
+    public static final URI member_of;
+
+    /**
+     * A Forum that a UserAccount is a moderator of.
+     */
+    public static final URI moderator_of;
+
+    /**
+     * When this was modified, in ISO 8601 format.
+     */
+    public static final URI modified_at;
+
+    /**
+     * An Item that this UserAccount has modified.
+     */
+    public static final URI modifier_of;
+
+    /**
+     * The name of a SIOC concept instance, e.g. a username for a UserAccount, group name for a Usergroup, etc.
+     */
+    public static final URI name;
+
+    /**
+     * Next Item or Post in a given Container sorted by date.
+     */
+    public static final URI next_by_date;
+
+    /**
+     * Links to the next revision of this Item or Post.
+     */
+    public static final URI next_version;
+
+    /**
+     * A note associated with this resource, for example, if it has been edited by a UserAccount.
+     */
+    public static final URI note;
+
+    /**
+     * The number of unique authors (UserAccounts and unregistered posters) who have contributed to this Item, Thread, Post, etc.
+     */
+    public static final URI num_authors;
+
+    /**
+     * The number of Posts (or Items) in a Forum (or a Container).
+     */
+    public static final URI num_items;
+
+    /**
+     * The number of replies that this Item, Thread, Post, etc. has. Useful for when the reply structure is absent.
+     */
+    public static final URI num_replies;
+
+    /**
+     * The number of Threads (AKA discussion topics) in a Forum.
+     */
+    public static final URI num_threads;
+
+    /**
+     * The number of times this Item, Thread, UserAccount profile, etc. has been viewed.
+     */
+    public static final URI num_views;
+
+    /**
+     * A resource owned by a particular UserAccount, for example, a weblog or image gallery.
+     */
+    public static final URI owner_of;
+
+    /**
+     * A child Container or Forum that this Container or Forum is a parent of.
+     */
+    public static final URI parent_of;
+
+    /**
+     * A resource that the subject is a part of.
+     */
+    public static final URI part_of;
+
+    /**
+     * Previous Item or Post in a given Container sorted by date.
+     */
+    public static final URI previous_by_date;
+
+    /**
+     * Links to the previous revision of this Item or Post.
+     */
+    public static final URI previous_version;
+
+    /**
+     * Links either created explicitly or extracted implicitly on the HTML level from the Post.
+     */
+    public static final URI reference;
+
+    /**
+     * Related Posts for this Post, perhaps determined implicitly from topics or references.
+     */
+    public static final URI related_to;
+
+    /**
+     * Links to an Item or Post which this Item or Post is a reply to.
+     */
+    public static final URI reply_of;
+
+    /**
+     * A Role that has a scope of this resource.
+     */
+    public static final URI scope_of;
+
+    /**
+     * An Item may have a sibling or a twin that exists in a different Container, but the siblings may differ in some small way (for example, language, category, etc.). The sibling of this Item should be self-describing (that is, it should contain all available information).
+     */
+    public static final URI sibling;
+
+    /**
+     * A resource which belongs to this data Space.
+     */
+    public static final URI space_of;
+
+    /**
+     * Keyword(s) describing subject of the Post.
+     */
+    public static final URI subject;
+
+    /**
+     * A Container that a UserAccount is subscribed to.
+     */
+    public static final URI subscriber_of;
+
+    /**
+     * This is the title (subject line) of the Post. Note that for a Post within a threaded discussion that has no parents, it would detail the topic thread.
+     */
+    public static final URI title;
+
+    /**
+     * A topic of interest, linking to the appropriate URI, e.g. in the Open Directory Project or of a SKOS category.
+     */
+    public static final URI topic;
+
+    /**
+     * A Space that the Usergroup has access to.
+     */
+    public static final URI usergroup_of;
+
+
+    static{
+        ValueFactory factory = ValueFactoryImpl.getInstance();
+        Community = factory.createURI(SIOC.NAMESPACE, "Community");
+        Container = factory.createURI(SIOC.NAMESPACE, "Container");
+        Forum = factory.createURI(SIOC.NAMESPACE, "Forum");
+        Item = factory.createURI(SIOC.NAMESPACE, "Item");
+        Post = factory.createURI(SIOC.NAMESPACE, "Post");
+        Role = factory.createURI(SIOC.NAMESPACE, "Role");
+        Site = factory.createURI(SIOC.NAMESPACE, "Site");
+        Space = factory.createURI(SIOC.NAMESPACE, "Space");
+        Thread = factory.createURI(SIOC.NAMESPACE, "Thread");
+        User = factory.createURI(SIOC.NAMESPACE, "User");
+        UserAccount = factory.createURI(SIOC.NAMESPACE, "UserAccount");
+        Usergroup = factory.createURI(SIOC.NAMESPACE, "Usergroup");
+        about = factory.createURI(SIOC.NAMESPACE, "about");
+        account_of = factory.createURI(SIOC.NAMESPACE, "account_of");
+        addressed_to = factory.createURI(SIOC.NAMESPACE, "addressed_to");
+        administrator_of = factory.createURI(SIOC.NAMESPACE, "administrator_of");
+        attachment = factory.createURI(SIOC.NAMESPACE, "attachment");
+        avatar = factory.createURI(SIOC.NAMESPACE, "avatar");
+        container_of = factory.createURI(SIOC.NAMESPACE, "container_of");
+        content = factory.createURI(SIOC.NAMESPACE, "content");
+        content_encoded = factory.createURI(SIOC.NAMESPACE, "content_encoded");
+        created_at = factory.createURI(SIOC.NAMESPACE, "created_at");
+        creator_of = factory.createURI(SIOC.NAMESPACE, "creator_of");
+        description = factory.createURI(SIOC.NAMESPACE, "description");
+        earlier_version = factory.createURI(SIOC.NAMESPACE, "earlier_version");
+        email = factory.createURI(SIOC.NAMESPACE, "email");
+        email_sha1 = factory.createURI(SIOC.NAMESPACE, "email_sha1");
+        embeds_knowledge = factory.createURI(SIOC.NAMESPACE, "embeds_knowledge");
+        feed = factory.createURI(SIOC.NAMESPACE, "feed");
+        first_name = factory.createURI(SIOC.NAMESPACE, "first_name");
+        follows = factory.createURI(SIOC.NAMESPACE, "follows");
+        function_of = factory.createURI(SIOC.NAMESPACE, "function_of");
+        group_of = factory.createURI(SIOC.NAMESPACE, "group_of");
+        has_administrator = factory.createURI(SIOC.NAMESPACE, "has_administrator");
+        has_container = factory.createURI(SIOC.NAMESPACE, "has_container");
+        has_creator = factory.createURI(SIOC.NAMESPACE, "has_creator");
+        has_discussion = factory.createURI(SIOC.NAMESPACE, "has_discussion");
+        has_function = factory.createURI(SIOC.NAMESPACE, "has_function");
+        has_group = factory.createURI(SIOC.NAMESPACE, "has_group");
+        has_host = factory.createURI(SIOC.NAMESPACE, "has_host");
+        has_member = factory.createURI(SIOC.NAMESPACE, "has_member");
+        has_moderator = factory.createURI(SIOC.NAMESPACE, "has_moderator");
+        has_modifier = factory.createURI(SIOC.NAMESPACE, "has_modifier");
+        has_owner = factory.createURI(SIOC.NAMESPACE, "has_owner");
+        has_parent = factory.createURI(SIOC.NAMESPACE, "has_parent");
+        has_part = factory.createURI(SIOC.NAMESPACE, "has_part");
+        has_reply = factory.createURI(SIOC.NAMESPACE, "has_reply");
+        has_scope = factory.createURI(SIOC.NAMESPACE, "has_scope");
+        has_space = factory.createURI(SIOC.NAMESPACE, "has_space");
+        has_subscriber = factory.createURI(SIOC.NAMESPACE, "has_subscriber");
+        has_usergroup = factory.createURI(SIOC.NAMESPACE, "has_usergroup");
+        host_of = factory.createURI(SIOC.NAMESPACE, "host_of");
+        id = factory.createURI(SIOC.NAMESPACE, "id");
+        ip_address = factory.createURI(SIOC.NAMESPACE, "ip_address");
+        last_activity_date = factory.createURI(SIOC.NAMESPACE, "last_activity_date");
+        last_item_date = factory.createURI(SIOC.NAMESPACE, "last_item_date");
+        last_name = factory.createURI(SIOC.NAMESPACE, "last_name");
+        last_reply_date = factory.createURI(SIOC.NAMESPACE, "last_reply_date");
+        later_version = factory.createURI(SIOC.NAMESPACE, "later_version");
+        latest_version = factory.createURI(SIOC.NAMESPACE, "latest_version");
+        link = factory.createURI(SIOC.NAMESPACE, "link");
+        links_to = factory.createURI(SIOC.NAMESPACE, "links_to");
+        member_of = factory.createURI(SIOC.NAMESPACE, "member_of");
+        moderator_of = factory.createURI(SIOC.NAMESPACE, "moderator_of");
+        modified_at = factory.createURI(SIOC.NAMESPACE, "modified_at");
+        modifier_of = factory.createURI(SIOC.NAMESPACE, "modifier_of");
+        name = factory.createURI(SIOC.NAMESPACE, "name");
+        next_by_date = factory.createURI(SIOC.NAMESPACE, "next_by_date");
+        next_version = factory.createURI(SIOC.NAMESPACE, "next_version");
+        note = factory.createURI(SIOC.NAMESPACE, "note");
+        num_authors = factory.createURI(SIOC.NAMESPACE, "num_authors");
+        num_items = factory.createURI(SIOC.NAMESPACE, "num_items");
+        num_replies = factory.createURI(SIOC.NAMESPACE, "num_replies");
+        num_threads = factory.createURI(SIOC.NAMESPACE, "num_threads");
+        num_views = factory.createURI(SIOC.NAMESPACE, "num_views");
+        owner_of = factory.createURI(SIOC.NAMESPACE, "owner_of");
+        parent_of = factory.createURI(SIOC.NAMESPACE, "parent_of");
+        part_of = factory.createURI(SIOC.NAMESPACE, "part_of");
+        previous_by_date = factory.createURI(SIOC.NAMESPACE, "previous_by_date");
+        previous_version = factory.createURI(SIOC.NAMESPACE, "previous_version");
+        reference = factory.createURI(SIOC.NAMESPACE, "reference");
+        related_to = factory.createURI(SIOC.NAMESPACE, "related_to");
+        reply_of = factory.createURI(SIOC.NAMESPACE, "reply_of");
+        scope_of = factory.createURI(SIOC.NAMESPACE, "scope_of");
+        sibling = factory.createURI(SIOC.NAMESPACE, "sibling");
+        space_of = factory.createURI(SIOC.NAMESPACE, "space_of");
+        subject = factory.createURI(SIOC.NAMESPACE, "subject");
+        subscriber_of = factory.createURI(SIOC.NAMESPACE, "subscriber_of");
+        title = factory.createURI(SIOC.NAMESPACE, "title");
+        topic = factory.createURI(SIOC.NAMESPACE, "topic");
+        usergroup_of = factory.createURI(SIOC.NAMESPACE, "usergroup_of");
+    }
+}

http://git-wip-us.apache.org/repos/asf/marmotta/blob/8d79b113/commons/marmotta-sesame-tools/marmotta-model-vocabs/src/main/java/org/apache/marmotta/commons/vocabulary/SKOS.java
----------------------------------------------------------------------
diff --git a/commons/marmotta-sesame-tools/marmotta-model-vocabs/src/main/java/org/apache/marmotta/commons/vocabulary/SKOS.java b/commons/marmotta-sesame-tools/marmotta-model-vocabs/src/main/java/org/apache/marmotta/commons/vocabulary/SKOS.java
new file mode 100644
index 0000000..e803636
--- /dev/null
+++ b/commons/marmotta-sesame-tools/marmotta-model-vocabs/src/main/java/org/apache/marmotta/commons/vocabulary/SKOS.java
@@ -0,0 +1,229 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.marmotta.commons.vocabulary;
+
+import org.openrdf.model.URI;
+import org.openrdf.model.ValueFactory;
+import org.openrdf.model.impl.ValueFactoryImpl;
+
+/**
+ * Namespace SKOS
+ */
+public class SKOS {
+
+    public static final String NAMESPACE = "http://www.w3.org/2004/02/skos/core#";
+
+    public static final String PREFIX = "skos";
+
+    /**
+     * A meaningful collection of concepts.
+     */
+    public static final URI Collection;
+
+    /**
+     * An idea or notion; a unit of thought.
+     */
+    public static final URI Concept;
+
+    /**
+     * A set of concepts, optionally including statements about semantic relationships between those concepts.
+     */
+    public static final URI ConceptScheme;
+
+    /**
+     * An ordered collection of concepts, where both the grouping and the ordering are meaningful.
+     */
+    public static final URI OrderedCollection;
+
+    /**
+     * An alternative lexical label for a resource.
+     */
+    public static final URI altLabel;
+
+    /**
+     * skos:broadMatch is used to state a hierarchical mapping link between two conceptual resources in different concept schemes.
+     */
+    public static final URI broadMatch;
+
+    /**
+     * Relates a concept to a concept that is more general in meaning.
+     */
+    public static final URI broader;
+
+    /**
+     * skos:broaderTransitive is a transitive superproperty of skos:broader.
+     */
+    public static final URI broaderTransitive;
+
+    /**
+     * A note about a modification to a concept.
+     */
+    public static final URI changeNote;
+
+    /**
+     * skos:closeMatch is used to link two concepts that are sufficiently similar that they can be used interchangeably in some information retrieval applications. In order to avoid the possibility of "compound errors" when combining mappings across more than two concept schemes, skos:closeMatch is not declared to be a transitive property.
+     */
+    public static final URI closeMatch;
+
+    /**
+     * A statement or formal explanation of the meaning of a concept.
+     */
+    public static final URI definition;
+
+    /**
+     * A note for an editor, translator or maintainer of the vocabulary.
+     */
+    public static final URI editorialNote;
+
+    /**
+     * skos:exactMatch is used to link two concepts, indicating a high degree of confidence that the concepts can be used interchangeably across a wide range of information retrieval applications. skos:exactMatch is a transitive property, and is a sub-property of skos:closeMatch.
+     */
+    public static final URI exactMatch;
+
+    /**
+     * An example of the use of a concept.
+     */
+    public static final URI example;
+
+    /**
+     * Relates, by convention, a concept scheme to a concept which is topmost in the broader/narrower concept hierarchies for that scheme, providing an entry point to these hierarchies.
+     */
+    public static final URI hasTopConcept;
+
+    /**
+     * A lexical label for a resource that should be hidden when generating visual displays of the resource, but should still be accessible to free text search operations.
+     */
+    public static final URI hiddenLabel;
+
+    /**
+     * A note about the past state/use/meaning of a concept.
+     */
+    public static final URI historyNote;
+
+    /**
+     * Relates a resource (for example a concept) to a concept scheme in which it is included.
+     */
+    public static final URI inScheme;
+
+    /**
+     * Relates two concepts coming, by convention, from different schemes, and that have comparable meanings
+     */
+    public static final URI mappingRelation;
+
+    /**
+     * Relates a collection to one of its members.
+     */
+    public static final URI member;
+
+    /**
+     * Relates an ordered collection to the RDF list containing its members.
+     */
+    public static final URI memberList;
+
+    /**
+     * skos:narrowMatch is used to state a hierarchical mapping link between two conceptual resources in different concept schemes.
+     */
+    public static final URI narrowMatch;
+
+    /**
+     * Relates a concept to a concept that is more specific in meaning.
+     */
+    public static final URI narrower;
+
+    /**
+     * skos:narrowerTransitive is a transitive superproperty of skos:narrower.
+     */
+    public static final URI narrowerTransitive;
+
+    /**
+     * A notation, also known as classification code, is a string of characters such as "T58.5" or "303.4833" used to uniquely identify a concept within the scope of a given concept scheme.
+     */
+    public static final URI notation;
+
+    /**
+     * A general note, for any purpose.
+     */
+    public static final URI note;
+
+    /**
+     * The preferred lexical label for a resource, in a given language.
+     */
+    public static final URI prefLabel;
+
+    /**
+     * Relates a concept to a concept with which there is an associative semantic relationship.
+     */
+    public static final URI related;
+
+    /**
+     * skos:relatedMatch is used to state an associative mapping link between two conceptual resources in different concept schemes.
+     */
+    public static final URI relatedMatch;
+
+    /**
+     * A note that helps to clarify the meaning and/or the use of a concept.
+     */
+    public static final URI scopeNote;
+
+    /**
+     * Links a concept to a concept related by meaning.
+     */
+    public static final URI semanticRelation;
+
+    /**
+     * Relates a concept to the concept scheme that it is a top level concept of.
+     */
+    public static final URI topConceptOf;
+
+
+    static{
+        ValueFactory factory = ValueFactoryImpl.getInstance();
+        Collection = factory.createURI(SKOS.NAMESPACE, "Collection");
+        Concept = factory.createURI(SKOS.NAMESPACE, "Concept");
+        ConceptScheme = factory.createURI(SKOS.NAMESPACE, "ConceptScheme");
+        OrderedCollection = factory.createURI(SKOS.NAMESPACE, "OrderedCollection");
+        altLabel = factory.createURI(SKOS.NAMESPACE, "altLabel");
+        broadMatch = factory.createURI(SKOS.NAMESPACE, "broadMatch");
+        broader = factory.createURI(SKOS.NAMESPACE, "broader");
+        broaderTransitive = factory.createURI(SKOS.NAMESPACE, "broaderTransitive");
+        changeNote = factory.createURI(SKOS.NAMESPACE, "changeNote");
+        closeMatch = factory.createURI(SKOS.NAMESPACE, "closeMatch");
+        definition = factory.createURI(SKOS.NAMESPACE, "definition");
+        editorialNote = factory.createURI(SKOS.NAMESPACE, "editorialNote");
+        exactMatch = factory.createURI(SKOS.NAMESPACE, "exactMatch");
+        example = factory.createURI(SKOS.NAMESPACE, "example");
+        hasTopConcept = factory.createURI(SKOS.NAMESPACE, "hasTopConcept");
+        hiddenLabel = factory.createURI(SKOS.NAMESPACE, "hiddenLabel");
+        historyNote = factory.createURI(SKOS.NAMESPACE, "historyNote");
+        inScheme = factory.createURI(SKOS.NAMESPACE, "inScheme");
+        mappingRelation = factory.createURI(SKOS.NAMESPACE, "mappingRelation");
+        member = factory.createURI(SKOS.NAMESPACE, "member");
+        memberList = factory.createURI(SKOS.NAMESPACE, "memberList");
+        narrowMatch = factory.createURI(SKOS.NAMESPACE, "narrowMatch");
+        narrower = factory.createURI(SKOS.NAMESPACE, "narrower");
+        narrowerTransitive = factory.createURI(SKOS.NAMESPACE, "narrowerTransitive");
+        notation = factory.createURI(SKOS.NAMESPACE, "notation");
+        note = factory.createURI(SKOS.NAMESPACE, "note");
+        prefLabel = factory.createURI(SKOS.NAMESPACE, "prefLabel");
+        related = factory.createURI(SKOS.NAMESPACE, "related");
+        relatedMatch = factory.createURI(SKOS.NAMESPACE, "relatedMatch");
+        scopeNote = factory.createURI(SKOS.NAMESPACE, "scopeNote");
+        semanticRelation = factory.createURI(SKOS.NAMESPACE, "semanticRelation");
+        topConceptOf = factory.createURI(SKOS.NAMESPACE, "topConceptOf");
+    }
+}

http://git-wip-us.apache.org/repos/asf/marmotta/blob/8d79b113/commons/marmotta-sesame-tools/marmotta-model-vocabs/src/main/java/org/apache/marmotta/commons/vocabulary/SPARQL_SD.java
----------------------------------------------------------------------
diff --git a/commons/marmotta-sesame-tools/marmotta-model-vocabs/src/main/java/org/apache/marmotta/commons/vocabulary/SPARQL_SD.java b/commons/marmotta-sesame-tools/marmotta-model-vocabs/src/main/java/org/apache/marmotta/commons/vocabulary/SPARQL_SD.java
new file mode 100644
index 0000000..a83efe4
--- /dev/null
+++ b/commons/marmotta-sesame-tools/marmotta-model-vocabs/src/main/java/org/apache/marmotta/commons/vocabulary/SPARQL_SD.java
@@ -0,0 +1,345 @@
+package org.apache.marmotta.commons.vocabulary;
+
+import org.openrdf.model.URI;
+import org.openrdf.model.ValueFactory;
+import org.openrdf.model.impl.ValueFactoryImpl;
+
+/**
+ * Namespace SPARQL_SD - SparqlServiceDescription.
+ * @see http://www.w3.org/TR/sparql11-service-description/
+ */
+public class SPARQL_SD {
+
+    public static final String NAMESPACE = "http://www.w3.org/ns/sparql-service-description#";
+
+    public static final String PREFIX = "sd";
+
+    /**
+     * An instance of sd:Aggregate represents an aggregate that may be used in a
+     * SPARQL aggregate query (for instance in a HAVING clause or SELECT
+     * expression) besides the standard list of supported aggregates COUNT, SUM,
+     * MIN, MAX, AVG, GROUP_CONCAT, and SAMPLE.
+     */
+    public static final URI Aggregate;
+
+    /**
+     * sd:BasicFederatedQuery, when used as the object of the sd:feature
+     * property, indicates that the SPARQL service supports basic federated
+     * query using the SERVICE keyword as defined by SPARQL 1.1 Federation
+     * Extensions.
+     */
+    public static final URI BasicFederatedQuery;
+
+    /**
+     * An instance of sd:Dataset represents a RDF Dataset comprised of a default
+     * graph and zero or more named graphs.
+     */
+    public static final URI Dataset;
+
+    /**
+     * sd:DereferencesURIs, when used as the object of the sd:feature property,
+     * indicates that a SPARQL service will dereference URIs used in FROM/FROM
+     * NAMED and USING/USING NAMED clauses and use the resulting RDF in the
+     * dataset during query evaluation.
+     */
+    public static final URI DereferencesURIs;
+
+    /**
+     * sd:EmptyGraphs, when used as the object of the sd:feature property,
+     * indicates that the underlying graph store supports empty graphs. A graph
+     * store that supports empty graphs MUST NOT remove graphs that are left
+     * empty after triples are removed from them.
+     */
+    public static final URI EmptyGraphs;
+
+    /**
+     * An instance of sd:EntailmentProfile represents a profile of an entailment
+     * regime. An entailment profile MAY impose restrictions on what constitutes
+     * valid RDF with respect to entailment.
+     */
+    public static final URI EntailmentProfile;
+
+    /**
+     * An instance of sd:EntailmentRegime represents an entailment regime used
+     * in basic graph pattern matching (as described by SPARQL 1.1 Query
+     * Language).
+     */
+    public static final URI EntailmentRegime;
+
+    /**
+     * An instance of sd:Feature represents a feature of a SPARQL service.
+     * Specific types of features include functions, aggregates, languages, and
+     * entailment regimes and profiles. This document defines five instances of
+     * sd:Feature: sd:DereferencesURIs, sd:UnionDefaultGraph,
+     * sd:RequiresDataset, sd:EmptyGraphs, and sd:BasicFederatedQuery.
+     */
+    public static final URI Feature;
+
+    /**
+     * An instance of sd:Function represents a function that may be used in a
+     * SPARQL SELECT expression or a FILTER, HAVING, GROUP BY, ORDER BY, or BIND
+     * clause.
+     */
+    public static final URI Function;
+
+    /**
+     * An instance of sd:Graph represents the description of an RDF graph.
+     */
+    public static final URI Graph;
+
+    /**
+     * An instance of sd:GraphCollection represents a collection of zero or more
+     * named graph descriptions. Each named graph description belonging to an
+     * sd:GraphCollection MUST be linked with the sd:namedGraph predicate.
+     */
+    public static final URI GraphCollection;
+
+    /**
+     * An instance of sd:Language represents one of the SPARQL languages,
+     * including specific configurations providing particular features or
+     * extensions. This document defines three instances of sd:Language:
+     * sd:SPARQL10Query, sd:SPARQL11Query, and sd:SPARQL11Update.
+     */
+    public static final URI Language;
+
+    /**
+     * An instance of sd:NamedGraph represents a named graph having a name (via
+     * sd:name) and an optional graph description (via sd:graph).
+     */
+    public static final URI NamedGraph;
+
+    /**
+     * sd:RequiresDataset, when used as the object of the sd:feature property,
+     * indicates that the SPARQL service requires an explicit dataset
+     * declaration (based on either FROM/FROM NAMED clauses in a query,
+     * USING/USING NAMED clauses in an update, or the appropriate SPARQL
+     * Protocol parameters).
+     */
+    public static final URI RequiresDataset;
+
+    /**
+     * sd:SPARQL10Query is an sd:Language representing the SPARQL 1.0 Query
+     * language.
+     */
+    public static final URI SPARQL10Query;
+
+    /**
+     * sd:SPARQL11Query is an sd:Language representing the SPARQL 1.1 Query
+     * language.
+     */
+    public static final URI SPARQL11Query;
+
+    /**
+     * sd:SPARQLUpdate is an sd:Language representing the SPARQL 1.1 Update
+     * language.
+     */
+    public static final URI SPARQL11Update;
+
+    /**
+     * An instance of sd:Service represents a SPARQL service made available via
+     * the SPARQL Protocol.
+     */
+    public static final URI Service;
+
+    /**
+     * sd:UnionDefaultGraph, when used as the object of the sd:feature property,
+     * indicates that the default graph of the dataset used during query and
+     * update evaluation (when an explicit dataset is not specified) is
+     * comprised of the union of all the named graphs in that dataset.
+     */
+    public static final URI UnionDefaultGraph;
+
+    /**
+     * Relates an instance of sd:Service to a description of the graphs which
+     * are allowed in the construction of a dataset either via the SPARQL
+     * Protocol, with FROM/FROM NAMED clauses in a query, or with USING/USING
+     * NAMED in an update request, if the service limits the scope of dataset
+     * construction.
+     */
+    public static final URI availableGraphs;
+
+    /**
+     * Relates an instance of sd:Service to a description of the default dataset
+     * available when no explicit dataset is specified in the query, update
+     * request or via protocol parameters.
+     */
+    public static final URI defaultDataset;
+
+    /**
+     * Relates an instance of sd:Service with a resource representing an
+     * entailment regime used for basic graph pattern matching. This property is
+     * intended for use when a single entailment regime by default applies to
+     * all graphs in the default dataset of the service. In situations where a
+     * different entailment regime applies to a specific graph in the dataset,
+     * the sd:entailmentRegime property should be used to indicate this fact in
+     * the description of that graph.
+     */
+    public static final URI defaultEntailmentRegime;
+
+    /**
+     * Relates an instance of sd:Dataset to the description of its default
+     * graph.
+     */
+    public static final URI defaultGraph;
+
+    /**
+     * Relates an instance of sd:Service with a resource representing a
+     * supported profile of the default entailment regime (as declared by
+     * sd:defaultEntailmentRegime).
+     */
+    public static final URI defaultSupportedEntailmentProfile;
+
+    /**
+     * The SPARQL endpoint of an sd:Service that implements the SPARQL Protocol
+     * service. The object of the sd:endpoint property is an IRI.
+     */
+    public static final URI endpoint;
+
+    /**
+     * Relates a named graph description with a resource representing an
+     * entailment regime used for basic graph pattern matching over that graph.
+     */
+    public static final URI entailmentRegime;
+
+    /**
+     * Relates an instance of sd:Service to an aggregate that may be used in a
+     * SPARQL aggregate query (for instance in a HAVING clause or SELECT
+     * expression) besides the standard list of supported aggregates COUNT, SUM,
+     * MIN, MAX, AVG, GROUP_CONCAT, and SAMPLE
+     */
+    public static final URI extensionAggregate;
+
+    /**
+     * Relates an instance of sd:Service to a function that may be used in a
+     * SPARQL SELECT expression or a FILTER, HAVING, GROUP BY, ORDER BY, or BIND
+     * clause.
+     */
+    public static final URI extensionFunction;
+
+    /**
+     * Relates an instance of sd:Service with a resource representing a
+     * supported feature.
+     */
+    public static final URI feature;
+
+    /**
+     * Relates a named graph to its graph description.
+     */
+    public static final URI graph;
+
+    /**
+     * Relates an instance of sd:Service to a format that is supported for
+     * parsing RDF input; for example, via a SPARQL 1.1 Update LOAD statement,
+     * or when URIs are dereferenced in FROM/FROM NAMED/USING/USING NAMED
+     * clauses.
+     */
+    public static final URI inputFormat;
+
+    /**
+     * Relates an instance of sd:Service to a resource representing an
+     * implemented extension to the SPARQL Query or Update language.
+     */
+    public static final URI languageExtension;
+
+    /**
+     * Relates a named graph to the name by which it may be referenced in a
+     * FROM/FROM NAMED clause. The object of the sd:name property is an IRI.
+     */
+    public static final URI name;
+
+    /**
+     * Relates an instance of sd:GraphCollection (or its subclass sd:Dataset) to
+     * the description of one of its named graphs. The description of such a
+     * named graph MUST include the sd:name property and MAY include the
+     * sd:graph property.
+     */
+    public static final URI namedGraph;
+
+    /**
+     * Relates an instance of sd:Service to a resource representing an
+     * implemented feature that extends the SPARQL Query or Update language and
+     * that is accessed by using the named property.
+     */
+    public static final URI propertyFeature;
+
+    /**
+     * Relates an instance of sd:Service to a format that is supported for
+     * serializing query results.
+     */
+    public static final URI resultFormat;
+
+    /**
+     * Relates a named graph description with a resource representing a
+     * supported profile of the entailment regime (as declared by
+     * sd:entailmentRegime) used for basic graph pattern matching over that
+     * graph.
+     */
+    public static final URI supportedEntailmentProfile;
+
+    /**
+     * Relates an instance of sd:Service to a SPARQL language (e.g. Query and
+     * Update) that it implements.
+     */
+    public static final URI supportedLanguage;
+
+    static {
+        ValueFactory factory = ValueFactoryImpl.getInstance();
+        Aggregate = factory.createURI(SPARQL_SD.NAMESPACE, "Aggregate");
+        BasicFederatedQuery = factory.createURI(SPARQL_SD.NAMESPACE,
+                "BasicFederatedQuery");
+        Dataset = factory.createURI(SPARQL_SD.NAMESPACE, "Dataset");
+        DereferencesURIs = factory.createURI(SPARQL_SD.NAMESPACE,
+                "DereferencesURIs");
+        EmptyGraphs = factory.createURI(SPARQL_SD.NAMESPACE, "EmptyGraphs");
+        EntailmentProfile = factory.createURI(SPARQL_SD.NAMESPACE,
+                "EntailmentProfile");
+        EntailmentRegime = factory.createURI(SPARQL_SD.NAMESPACE,
+                "EntailmentRegime");
+        Feature = factory.createURI(SPARQL_SD.NAMESPACE, "Feature");
+        Function = factory.createURI(SPARQL_SD.NAMESPACE, "Function");
+        Graph = factory.createURI(SPARQL_SD.NAMESPACE, "Graph");
+        GraphCollection = factory.createURI(SPARQL_SD.NAMESPACE,
+                "GraphCollection");
+        Language = factory.createURI(SPARQL_SD.NAMESPACE, "Language");
+        NamedGraph = factory.createURI(SPARQL_SD.NAMESPACE, "NamedGraph");
+        RequiresDataset = factory.createURI(SPARQL_SD.NAMESPACE,
+                "RequiresDataset");
+        SPARQL10Query = factory.createURI(SPARQL_SD.NAMESPACE, "SPARQL10Query");
+        SPARQL11Query = factory.createURI(SPARQL_SD.NAMESPACE, "SPARQL11Query");
+        SPARQL11Update = factory.createURI(SPARQL_SD.NAMESPACE,
+                "SPARQL11Update");
+        Service = factory.createURI(SPARQL_SD.NAMESPACE, "Service");
+        UnionDefaultGraph = factory.createURI(SPARQL_SD.NAMESPACE,
+                "UnionDefaultGraph");
+        availableGraphs = factory.createURI(SPARQL_SD.NAMESPACE,
+                "availableGraphs");
+        defaultDataset = factory.createURI(SPARQL_SD.NAMESPACE,
+                "defaultDataset");
+        defaultEntailmentRegime = factory.createURI(SPARQL_SD.NAMESPACE,
+                "defaultEntailmentRegime");
+        defaultGraph = factory.createURI(SPARQL_SD.NAMESPACE, "defaultGraph");
+        defaultSupportedEntailmentProfile = factory.createURI(
+                SPARQL_SD.NAMESPACE, "defaultSupportedEntailmentProfile");
+        endpoint = factory.createURI(SPARQL_SD.NAMESPACE, "endpoint");
+        entailmentRegime = factory.createURI(SPARQL_SD.NAMESPACE,
+                "entailmentRegime");
+        extensionAggregate = factory.createURI(SPARQL_SD.NAMESPACE,
+                "extensionAggregate");
+        extensionFunction = factory.createURI(SPARQL_SD.NAMESPACE,
+                "extensionFunction");
+        feature = factory.createURI(SPARQL_SD.NAMESPACE, "feature");
+        graph = factory.createURI(SPARQL_SD.NAMESPACE, "graph");
+        inputFormat = factory.createURI(SPARQL_SD.NAMESPACE, "inputFormat");
+        languageExtension = factory.createURI(SPARQL_SD.NAMESPACE,
+                "languageExtension");
+        name = factory.createURI(SPARQL_SD.NAMESPACE, "name");
+        namedGraph = factory.createURI(SPARQL_SD.NAMESPACE, "namedGraph");
+        propertyFeature = factory.createURI(SPARQL_SD.NAMESPACE,
+                "propertyFeature");
+        resultFormat = factory.createURI(SPARQL_SD.NAMESPACE, "resultFormat");
+        supportedEntailmentProfile = factory.createURI(SPARQL_SD.NAMESPACE,
+                "supportedEntailmentProfile");
+        supportedLanguage = factory.createURI(SPARQL_SD.NAMESPACE,
+                "supportedLanguage");
+    }
+}

http://git-wip-us.apache.org/repos/asf/marmotta/blob/8d79b113/commons/marmotta-sesame-tools/marmotta-model-vocabs/src/main/java/org/apache/marmotta/commons/vocabulary/XSD.java
----------------------------------------------------------------------
diff --git a/commons/marmotta-sesame-tools/marmotta-model-vocabs/src/main/java/org/apache/marmotta/commons/vocabulary/XSD.java b/commons/marmotta-sesame-tools/marmotta-model-vocabs/src/main/java/org/apache/marmotta/commons/vocabulary/XSD.java
new file mode 100644
index 0000000..4d42298
--- /dev/null
+++ b/commons/marmotta-sesame-tools/marmotta-model-vocabs/src/main/java/org/apache/marmotta/commons/vocabulary/XSD.java
@@ -0,0 +1,325 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.marmotta.commons.vocabulary;
+
+import org.openrdf.model.URI;
+import org.openrdf.model.ValueFactory;
+import org.openrdf.model.impl.ValueFactoryImpl;
+
+/**
+ * XSD Datatypes
+ */
+public class XSD {
+    public static final String NAMESPACE = "http://www.w3.org/2001/XMLSchema#";
+    public static final String PREFIX = "xsd";
+
+    /**
+     * {@code http://www.w3.org/2001/XMLSchema#anyURI}.
+     * <br>
+     * anyURI represents an Internationalized Resource Identifier Reference (IRI). An anyURI value can be absolute or relative and may have an optional fragment identifier (i.e. it may be an IRI Reference). This type should be used when the value fulfills the role of an IRI as defined in RFC 3987 or its successor(s) in the IETF Standards Track.
+     */
+    public static final URI AnyURI;
+
+    /**
+     * {@code http://www.w3.org/2001/XMLSchema#base64Binary}.
+     * <br>
+     * base64Binary represents arbitrary Base64-encoded binary data. For base64Binary data the entire binary stream is encoded using the Base64 Encoding defined in RFC 3548 which is derived from the encoding described in RFC 2045.
+     */
+    public static final URI Base64Binary;
+
+    /**
+     * {@code http://www.w3.org/2001/XMLSchema#boolean}.
+     * <br>
+     * boolean represents the values of two-valued logic.
+     */
+    public static final URI Boolean;
+
+    /**
+     * {@code http://www.w3.org/2001/XMLSchema#byte}.
+     * <br>
+     * byte is derived from short by setting the value of maxInclusive to be 127 and minInclusive to be -128. The base type of byte is short.
+     */
+    public static final URI Byte;
+
+    /**
+     * {@code http://www.w3.org/2001/XMLSchema#date}.
+     * <br>
+     * date represents top-open intervals of exactly one day in length on the timelines of dateTime beginning on the beginning moment of each day up to but not including the beginning moment of the next day). For non-timezoned values the top-open intervals disjointly cover the non-timezoned timeline one per day. For timezoned values the intervals begin at every minute and therefore overlap.
+     */
+    public static final URI Date;
+
+    /**
+     * {@code http://www.w3.org/2001/XMLSchema#dateTime}.
+     * <br>
+     * dateTime represents instants of time optionally marked with a particular time zone offset. Values representing the same instant but having different time zone offsets are equal but not identical.
+     */
+    public static final URI DateTime;
+
+    /**
+     * {@code http://www.w3.org/2001/XMLSchema#dateTimeStamp}.
+     * <br>
+     * The dateTimeStamp datatype is derived from dateTime by giving the value required to its explicitTimezone facet.
+     */
+    public static final URI DateTimeStamp;
+
+    /**
+     * {@code http://www.w3.org/2001/XMLSchema#dayTimeDuration}.
+     * <br>
+     * dayTimeDuration is a datatype derived from duration by restricting its lexical representations to instances of dayTimeDurationLexicalRep.
+     */
+    public static final URI DayTimeDuration;
+
+    /**
+     * {@code http://www.w3.org/2001/XMLSchema#decimal}.
+     * <br>
+     * decimal represents a subset of the real numbers which can be represented by decimal numerals. The value space of decimal is the set of numbers that can be obtained by dividing an integer by a non-negative power of ten i.e. expressible as i10n where i and n are integers and n0. Precision is not reflected in this value space; the number 2.0 is not distinct from the number 2.00. The order relation on decimal is the order relation on real numbers restricted to this subset.
+     */
+    public static final URI Decimal;
+
+    /**
+     * {@code http://www.w3.org/2001/XMLSchema#double}.
+     * <br>
+     * The double datatype is patterned after the IEEE double-precision 64-bit floating point datatype IEEE 754-2008.
+     */
+    public static final URI Double;
+
+    /**
+     * {@code http://www.w3.org/2001/XMLSchema#duration}.
+     * <br>
+     * duration is a datatype that represents durations of time.
+     */
+    public static final URI Duration;
+
+    /**
+     * {@code http://www.w3.org/2001/XMLSchema#float}.
+     * <br>
+     * The float datatype is patterned after the IEEE single-precision 32-bit floating point datatype IEEE 754-2008.
+     */
+    public static final URI Float;
+
+    /**
+     * {@code http://www.w3.org/2001/XMLSchema#gDay}.
+     * <br>
+     * gDay represents whole days within an arbitrary monthdays that recur at the same point in each (Gregorian) month.
+     */
+    public static final URI GDay;
+
+    /**
+     * {@code http://www.w3.org/2001/XMLSchema#gMonth}.
+     * <br>
+     * gMonth represents whole (Gregorian) months within an arbitrary yearmonths that recur at the same point in each year. It might be used for example to say what month annual Thanksgiving celebrations fall in different countries (--11 in the United States --10 in Canada and possibly other months in other countries).
+     */
+    public static final URI GMonth;
+
+    /**
+     * {@code http://www.w3.org/2001/XMLSchema#gMonthDay}.
+     * <br>
+     * gMonthDay represents whole calendar days that recur at the same point in each calendar year or that occur in some arbitrary calendar year. (Obviously days beyond 28 cannot occur in all Februaries; 29 is nonetheless permitted.)
+     */
+    public static final URI GMonthDay;
+
+    /**
+     * {@code http://www.w3.org/2001/XMLSchema#gYear}.
+     * <br>
+     * gYear represents Gregorian calendar years.
+     */
+    public static final URI GYear;
+
+    /**
+     * {@code http://www.w3.org/2001/XMLSchema#gYearMonth}.
+     * <br>
+     * gYearMonth represents specific whole Gregorian months in specific Gregorian years.
+     */
+    public static final URI GYearMonth;
+
+    /**
+     * {@code http://www.w3.org/2001/XMLSchema#hexBinary}.
+     * <br>
+     * hexBinary represents arbitrary hex-encoded binary data.
+     */
+    public static final URI HexBinary;
+
+    /**
+     * {@code http://www.w3.org/2001/XMLSchema#int}.
+     * <br>
+     * int is derived from long by setting the value of maxInclusive to be 2147483647 and minInclusive to be -2147483648. The base type of int is long.
+     */
+    public static final URI Int;
+
+    /**
+     * {@code http://www.w3.org/2001/XMLSchema#integer}.
+     * <br>
+     * integer is derived from decimal by fixing the value of fractionDigits to be 0 and disallowing the trailing decimal point. This results in the standard mathematical concept of the integer numbers. The value space of integer is the infinite set ...-2-1012.... The base type of integer is decimal.
+     */
+    public static final URI Integer;
+
+    /**
+     * {@code http://www.w3.org/2001/XMLSchema#language}.
+     * <br>
+     * language represents formal natural language identifiers as defined by BCP 47 (currently represented by RFC 4646 and RFC 4647) or its successor(s).
+     */
+    public static final URI Language;
+
+    /**
+     * {@code http://www.w3.org/2001/XMLSchema#long}.
+     * <br>
+     * long is derived from integer by setting the value of maxInclusive to be 9223372036854775807 and minInclusive to be -9223372036854775808. The base type of long is integer.
+     */
+    public static final URI Long;
+
+    /**
+     * {@code http://www.w3.org/2001/XMLSchema#negativeInteger}.
+     * <br>
+     * negativeInteger is derived from nonPositiveInteger by setting the value of maxInclusive to be -1. This results in the standard mathematical concept of the negative integers. The value space of negativeInteger is the infinite set ...-2-1. The base type of negativeInteger is nonPositiveInteger.
+     */
+    public static final URI NegativeInteger;
+
+    /**
+     * {@code http://www.w3.org/2001/XMLSchema#nonNegativeInteger}.
+     * <br>
+     * nonNegativeInteger is derived from integer by setting the value of minInclusive to be 0. This results in the standard mathematical concept of the non-negative integers. The value space of nonNegativeInteger is the infinite set 012.... The base type of nonNegativeInteger is integer.
+     */
+    public static final URI NonNegativeInteger;
+
+    /**
+     * {@code http://www.w3.org/2001/XMLSchema#nonPositiveInteger}.
+     * <br>
+     * nonPositiveInteger is derived from integer by setting the value of maxInclusive to be 0. This results in the standard mathematical concept of the non-positive integers. The value space of nonPositiveInteger is the infinite set ...-2-10. The base type of nonPositiveInteger is integer.
+     */
+    public static final URI NonPositiveInteger;
+
+    /**
+     * {@code http://www.w3.org/2001/XMLSchema#normalizedString}.
+     * <br>
+     * normalizedString represents white space normalized strings. The value space of normalizedString is the set of strings that do not contain the carriage return (#xD) line feed (#xA) nor tab (#x9) characters. The lexical space of normalizedString is the set of strings that do not contain the carriage return (#xD) line feed (#xA) nor tab (#x9) characters. The base type of normalizedString is string.
+     */
+    public static final URI NormalizedString;
+
+    /**
+     * {@code http://www.w3.org/2001/XMLSchema#positiveInteger}.
+     * <br>
+     * positiveInteger is derived from nonNegativeInteger by setting the value of minInclusive to be 1. This results in the standard mathematical concept of the positive integer numbers. The value space of positiveInteger is the infinite set 12.... The base type of positiveInteger is nonNegativeInteger.
+     */
+    public static final URI PositiveInteger;
+
+    /**
+     * {@code http://www.w3.org/2001/XMLSchema#short}.
+     * <br>
+     * short is derived from int by setting the value of maxInclusive to be 32767 and minInclusive to be -32768. The base type of short is int.
+     */
+    public static final URI Short;
+
+    /**
+     * {@code http://www.w3.org/2001/XMLSchema#string}.
+     * <br>
+     * The string datatype represents character strings in XML.
+     */
+    public static final URI String;
+
+    /**
+     * {@code http://www.w3.org/2001/XMLSchema#time}.
+     * <br>
+     * time represents instants of time that recur at the same point in each calendar day or that occur in some arbitrary calendar day.
+     */
+    public static final URI Time;
+
+    /**
+     * {@code http://www.w3.org/2001/XMLSchema#token}.
+     * <br>
+     * token represents tokenized strings. The value space of token is the set of strings that do not contain the carriage return (#xD) line feed (#xA) nor tab (#x9) characters that have no leading or trailing spaces (#x20) and that have no internal sequences of two or more spaces. The lexical space of token is the set of strings that do not contain the carriage return (#xD) line feed (#xA) nor tab (#x9) characters that have no leading or trailing spaces (#x20) and that have no internal sequences of two or more spaces. The base type of token is normalizedString.
+     */
+    public static final URI Token;
+
+    /**
+     * {@code http://www.w3.org/2001/XMLSchema#unsignedByte}.
+     * <br>
+     * unsignedByte is derived from unsignedShort by setting the value of maxInclusive to be 255. The base type of unsignedByte is unsignedShort.
+     */
+    public static final URI UnsignedByte;
+
+    /**
+     * {@code http://www.w3.org/2001/XMLSchema#unsignedInt}.
+     * <br>
+     * unsignedInt is derived from unsignedLong by setting the value of maxInclusive to be 4294967295. The base type of unsignedInt is unsignedLong.
+     */
+    public static final URI UnsignedInt;
+
+    /**
+     * {@code http://www.w3.org/2001/XMLSchema#unsignedLong}.
+     * <br>
+     * unsignedLong is derived from nonNegativeInteger by setting the value of maxInclusive to be 18446744073709551615. The base type of unsignedLong is nonNegativeInteger.
+     */
+    public static final URI UnsignedLong;
+
+    /**
+     * {@code http://www.w3.org/2001/XMLSchema#unsignedShort}.
+     * <br>
+     * unsignedShort is derived from unsignedInt by setting the value of maxInclusive to be 65535. The base type of unsignedShort is unsignedInt.
+     */
+    public static final URI UnsignedShort;
+
+    /**
+     * {@code http://www.w3.org/2001/XMLSchema#yearMonthDuration}.
+     * <br>
+     * yearMonthDuration is a datatype derived from duration by restricting its lexical representations to instances of yearMonthDurationLexicalRep.
+     */
+    public static final URI YearMonthDuration;
+
+
+    static {
+        final ValueFactory vf = ValueFactoryImpl.getInstance();
+
+        AnyURI = vf.createURI(NAMESPACE, "anyURI");
+        Base64Binary = vf.createURI(NAMESPACE, "base64Binary");
+        Boolean = vf.createURI(NAMESPACE, "boolean");
+        Byte = vf.createURI(NAMESPACE, "byte");
+        Date = vf.createURI(NAMESPACE, "date");
+        DateTime = vf.createURI(NAMESPACE, "dateTime");
+        DateTimeStamp = vf.createURI(NAMESPACE, "dateTimeStamp");
+        DayTimeDuration = vf.createURI(NAMESPACE, "dayTimeDuration");
+        Decimal = vf.createURI(NAMESPACE, "decimal");
+        Double = vf.createURI(NAMESPACE, "double");
+        Duration = vf.createURI(NAMESPACE, "duration");
+        Float = vf.createURI(NAMESPACE, "float");
+        GDay = vf.createURI(NAMESPACE, "gDay");
+        GMonth = vf.createURI(NAMESPACE, "gMonth");
+        GMonthDay = vf.createURI(NAMESPACE, "gMonthDay");
+        GYear = vf.createURI(NAMESPACE, "gYear");
+        GYearMonth = vf.createURI(NAMESPACE, "gYearMonth");
+        HexBinary = vf.createURI(NAMESPACE, "hexBinary");
+        Int = vf.createURI(NAMESPACE, "int");
+        Integer = vf.createURI(NAMESPACE, "integer");
+        Language = vf.createURI(NAMESPACE, "language");
+        Long = vf.createURI(NAMESPACE, "long");
+        NegativeInteger = vf.createURI(NAMESPACE, "negativeInteger");
+        NonNegativeInteger = vf.createURI(NAMESPACE, "nonNegativeInteger");
+        NonPositiveInteger = vf.createURI(NAMESPACE, "nonPositiveInteger");
+        NormalizedString = vf.createURI(NAMESPACE, "normalizedString");
+        PositiveInteger = vf.createURI(NAMESPACE, "positiveInteger");
+        Short = vf.createURI(NAMESPACE, "short");
+        String = vf.createURI(NAMESPACE, "string");
+        Time = vf.createURI(NAMESPACE, "time");
+        Token = vf.createURI(NAMESPACE, "token");
+        UnsignedByte = vf.createURI(NAMESPACE, "unsignedByte");
+        UnsignedInt = vf.createURI(NAMESPACE, "unsignedInt");
+        UnsignedLong = vf.createURI(NAMESPACE, "unsignedLong");
+        UnsignedShort = vf.createURI(NAMESPACE, "unsignedShort");
+        YearMonthDuration = vf.createURI(NAMESPACE, "yearMonthDuration");
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/marmotta/blob/8d79b113/commons/marmotta-sesame-tools/pom.xml
----------------------------------------------------------------------
diff --git a/commons/marmotta-sesame-tools/pom.xml b/commons/marmotta-sesame-tools/pom.xml
index 1c9c190..1566b4e 100644
--- a/commons/marmotta-sesame-tools/pom.xml
+++ b/commons/marmotta-sesame-tools/pom.xml
@@ -52,6 +52,7 @@
 
 
     <modules>
+        <module>marmotta-model-vocabs</module>
         <module>marmotta-rio-api</module>
         <module>marmotta-rio-ical</module>
         <module>marmotta-rio-rss</module>

http://git-wip-us.apache.org/repos/asf/marmotta/blob/8d79b113/parent/pom.xml
----------------------------------------------------------------------
diff --git a/parent/pom.xml b/parent/pom.xml
index 036b51c..157cf07 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -1407,6 +1407,16 @@
                 <artifactId>marmotta-util-facading</artifactId>
                 <version>${project.version}</version>
             </dependency>
+            <dependency>
+                <groupId>org.apache.marmotta</groupId>
+                <artifactId>marmotta-util-rdfpatch</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.marmotta</groupId>
+                <artifactId>marmotta-model-vocabs</artifactId>
+                <version>${project.version}</version>
+            </dependency>
 
             <!-- parsers -->
             <dependency>

http://git-wip-us.apache.org/repos/asf/marmotta/blob/8d79b113/platform/marmotta-core/pom.xml
----------------------------------------------------------------------
diff --git a/platform/marmotta-core/pom.xml b/platform/marmotta-core/pom.xml
index 5a65046..0eb31c0 100644
--- a/platform/marmotta-core/pom.xml
+++ b/platform/marmotta-core/pom.xml
@@ -279,12 +279,6 @@
         </dependency>
 
         <dependency>
-            <groupId>javax.servlet</groupId>
-            <artifactId>javax.servlet-api</artifactId>
-            <version>${servlet.api.version}</version>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
             <groupId>org.jboss.resteasy</groupId>
             <artifactId>resteasy-cdi</artifactId>
         </dependency>

http://git-wip-us.apache.org/repos/asf/marmotta/blob/8d79b113/platform/marmotta-ldp/pom.xml
----------------------------------------------------------------------
diff --git a/platform/marmotta-ldp/pom.xml b/platform/marmotta-ldp/pom.xml
index f861fde..b6632f8 100644
--- a/platform/marmotta-ldp/pom.xml
+++ b/platform/marmotta-ldp/pom.xml
@@ -179,13 +179,6 @@
         <dependency>
             <groupId>org.apache.marmotta</groupId>
             <artifactId>marmotta-util-rdfpatch</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>javax.servlet</groupId>
-            <artifactId>javax.servlet-api</artifactId>
-            <version>${servlet.api.version}</version>
-            <scope>provided</scope>
         </dependency>
         <dependency>
             <groupId>org.jboss.resteasy</groupId>


[07/10] MARMOTTA-448: moved vocabularies into a separate module: marmotta-model-vocabs. Also fixed some redundant dependencies.

Posted by ja...@apache.org.
http://git-wip-us.apache.org/repos/asf/marmotta/blob/8d79b113/commons/marmotta-commons/src/main/java/org/apache/marmotta/commons/vocabulary/SIOC.java
----------------------------------------------------------------------
diff --git a/commons/marmotta-commons/src/main/java/org/apache/marmotta/commons/vocabulary/SIOC.java b/commons/marmotta-commons/src/main/java/org/apache/marmotta/commons/vocabulary/SIOC.java
deleted file mode 100644
index 96b6638..0000000
--- a/commons/marmotta-commons/src/main/java/org/apache/marmotta/commons/vocabulary/SIOC.java
+++ /dev/null
@@ -1,583 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.marmotta.commons.vocabulary;
-
-import org.openrdf.model.URI;
-import org.openrdf.model.ValueFactory;
-import org.openrdf.model.impl.ValueFactoryImpl;
-
-/**
- * Namespace SIOC
- */
-public class SIOC {
-
-    public static final String NAMESPACE = "http://rdfs.org/sioc/ns#";
-
-    public static final String PREFIX = "sioc";
-
-    /**
-     * Community is a high-level concept that defines an online community and what it consists of.
-     */
-    public static final URI Community;
-
-    /**
-     * An area in which content Items are contained.
-     */
-    public static final URI Container;
-
-    /**
-     * A discussion area on which Posts or entries are made.
-     */
-    public static final URI Forum;
-
-    /**
-     * An Item is something which can be in a Container.
-     */
-    public static final URI Item;
-
-    /**
-     * An article or message that can be posted to a Forum.
-     */
-    public static final URI Post;
-
-    /**
-     * A Role is a function of a UserAccount within a scope of a particular Forum, Site, etc.
-     */
-    public static final URI Role;
-
-    /**
-     * A Site can be the location of an online community or set of communities, with UserAccounts and Usergroups creating Items in a set of Containers. It can be thought of as a web-accessible data Space.
-     */
-    public static final URI Site;
-
-    /**
-     * A Space is a place where data resides, e.g. on a website, desktop, fileshare, etc.
-     */
-    public static final URI Space;
-
-    /**
-     * A container for a series of threaded discussion Posts or Items.
-     */
-    public static final URI Thread;
-
-    /**
-     * UserAccount is now preferred. This is a deprecated class for a User in an online community site.
-     */
-    public static final URI User;
-
-    /**
-     * A user account in an online community site.
-     */
-    public static final URI UserAccount;
-
-    /**
-     * A set of UserAccounts whose owners have a common purpose or interest. Can be used for access control purposes.
-     */
-    public static final URI Usergroup;
-
-    /**
-     * Specifies that this Item is about a particular resource, e.g. a Post describing a book, hotel, etc.
-     */
-    public static final URI about;
-
-    /**
-     * Refers to the foaf:Agent or foaf:Person who owns this sioc:UserAccount.
-     */
-    public static final URI account_of;
-
-    /**
-     * Refers to who (e.g. a UserAccount, e-mail address, etc.) a particular Item is addressed to.
-     */
-    public static final URI addressed_to;
-
-    /**
-     * A Site that the UserAccount is an administrator of.
-     */
-    public static final URI administrator_of;
-
-    /**
-     * The URI of a file attached to an Item.
-     */
-    public static final URI attachment;
-
-    /**
-     * An image or depiction used to represent this UserAccount.
-     */
-    public static final URI avatar;
-
-    /**
-     * An Item that this Container contains.
-     */
-    public static final URI container_of;
-
-    /**
-     * The content of the Item in plain text format.
-     */
-    public static final URI content;
-
-    /**
-     * The encoded content of the Post, contained in CDATA areas.
-     */
-    public static final URI content_encoded;
-
-    /**
-     * When this was created, in ISO 8601 format.
-     */
-    public static final URI created_at;
-
-    /**
-     * A resource that the UserAccount is a creator of.
-     */
-    public static final URI creator_of;
-
-    /**
-     * The content of the Post.
-     */
-    public static final URI description;
-
-    /**
-     * Links to a previous (older) revision of this Item or Post.
-     */
-    public static final URI earlier_version;
-
-    /**
-     * An electronic mail address of the UserAccount.
-     */
-    public static final URI email;
-
-    /**
-     * An electronic mail address of the UserAccount, encoded using SHA1.
-     */
-    public static final URI email_sha1;
-
-    /**
-     * This links Items to embedded statements, facts and structured content.
-     */
-    public static final URI embeds_knowledge;
-
-    /**
-     * A feed (e.g. RSS, Atom, etc.) pertaining to this resource (e.g. for a Forum, Site, UserAccount, etc.).
-     */
-    public static final URI feed;
-
-    /**
-     * First (real) name of this User. Synonyms include given name or christian name.
-     */
-    public static final URI first_name;
-
-    /**
-     * Indicates that one UserAccount follows another UserAccount (e.g. for microblog posts or other content item updates).
-     */
-    public static final URI follows;
-
-    /**
-     * A UserAccount that has this Role.
-     */
-    public static final URI function_of;
-
-    /**
-     * This property has been renamed. Use sioc:usergroup_of instead.
-     */
-    public static final URI group_of;
-
-    /**
-     * A UserAccount that is an administrator of this Site.
-     */
-    public static final URI has_administrator;
-
-    /**
-     * The Container to which this Item belongs.
-     */
-    public static final URI has_container;
-
-    /**
-     * This is the UserAccount that made this resource.
-     */
-    public static final URI has_creator;
-
-    /**
-     * The discussion that is related to this Item.
-     */
-    public static final URI has_discussion;
-
-    /**
-     * A Role that this UserAccount has.
-     */
-    public static final URI has_function;
-
-    /**
-     * This property has been renamed. Use sioc:has_usergroup instead.
-     */
-    public static final URI has_group;
-
-    /**
-     * The Site that hosts this Forum.
-     */
-    public static final URI has_host;
-
-    /**
-     * A UserAccount that is a member of this Usergroup.
-     */
-    public static final URI has_member;
-
-    /**
-     * A UserAccount that is a moderator of this Forum.
-     */
-    public static final URI has_moderator;
-
-    /**
-     * A UserAccount that modified this Item.
-     */
-    public static final URI has_modifier;
-
-    /**
-     * A UserAccount that this resource is owned by.
-     */
-    public static final URI has_owner;
-
-    /**
-     * A Container or Forum that this Container or Forum is a child of.
-     */
-    public static final URI has_parent;
-
-    /**
-     * An resource that is a part of this subject.
-     */
-    public static final URI has_part;
-
-    /**
-     * Points to an Item or Post that is a reply or response to this Item or Post.
-     */
-    public static final URI has_reply;
-
-    /**
-     * A resource that this Role applies to.
-     */
-    public static final URI has_scope;
-
-    /**
-     * A data Space which this resource is a part of.
-     */
-    public static final URI has_space;
-
-    /**
-     * A UserAccount that is subscribed to this Container.
-     */
-    public static final URI has_subscriber;
-
-    /**
-     * Points to a Usergroup that has certain access to this Space.
-     */
-    public static final URI has_usergroup;
-
-    /**
-     * A Forum that is hosted on this Site.
-     */
-    public static final URI host_of;
-
-    /**
-     * An identifier of a SIOC concept instance. For example, a user ID. Must be unique for instances of each type of SIOC concept within the same site.
-     */
-    public static final URI id;
-
-    /**
-     * The IP address used when creating this Item. This can be associated with a creator. Some wiki articles list the IP addresses for the creator or modifiers when the usernames are absent.
-     */
-    public static final URI ip_address;
-
-    /**
-     * The date and time of the last activity associated with a SIOC concept instance, and expressed in ISO 8601 format. This could be due to a reply Post or Comment, a modification to an Item, etc.
-     */
-    public static final URI last_activity_date;
-
-    /**
-     * The date and time of the last Post (or Item) in a Forum (or a Container), in ISO 8601 format.
-     */
-    public static final URI last_item_date;
-
-    /**
-     * Last (real) name of this user. Synonyms include surname or family name.
-     */
-    public static final URI last_name;
-
-    /**
-     * The date and time of the last reply Post or Comment, which could be associated with a starter Item or Post or with a Thread, and expressed in ISO 8601 format.
-     */
-    public static final URI last_reply_date;
-
-    /**
-     * Links to a later (newer) revision of this Item or Post.
-     */
-    public static final URI later_version;
-
-    /**
-     * Links to the latest revision of this Item or Post.
-     */
-    public static final URI latest_version;
-
-    /**
-     * A URI of a document which contains this SIOC object.
-     */
-    public static final URI link;
-
-    /**
-     * Links extracted from hyperlinks within a SIOC concept, e.g. Post or Site.
-     */
-    public static final URI links_to;
-
-    /**
-     * A Usergroup that this UserAccount is a member of.
-     */
-    public static final URI member_of;
-
-    /**
-     * A Forum that a UserAccount is a moderator of.
-     */
-    public static final URI moderator_of;
-
-    /**
-     * When this was modified, in ISO 8601 format.
-     */
-    public static final URI modified_at;
-
-    /**
-     * An Item that this UserAccount has modified.
-     */
-    public static final URI modifier_of;
-
-    /**
-     * The name of a SIOC concept instance, e.g. a username for a UserAccount, group name for a Usergroup, etc.
-     */
-    public static final URI name;
-
-    /**
-     * Next Item or Post in a given Container sorted by date.
-     */
-    public static final URI next_by_date;
-
-    /**
-     * Links to the next revision of this Item or Post.
-     */
-    public static final URI next_version;
-
-    /**
-     * A note associated with this resource, for example, if it has been edited by a UserAccount.
-     */
-    public static final URI note;
-
-    /**
-     * The number of unique authors (UserAccounts and unregistered posters) who have contributed to this Item, Thread, Post, etc.
-     */
-    public static final URI num_authors;
-
-    /**
-     * The number of Posts (or Items) in a Forum (or a Container).
-     */
-    public static final URI num_items;
-
-    /**
-     * The number of replies that this Item, Thread, Post, etc. has. Useful for when the reply structure is absent.
-     */
-    public static final URI num_replies;
-
-    /**
-     * The number of Threads (AKA discussion topics) in a Forum.
-     */
-    public static final URI num_threads;
-
-    /**
-     * The number of times this Item, Thread, UserAccount profile, etc. has been viewed.
-     */
-    public static final URI num_views;
-
-    /**
-     * A resource owned by a particular UserAccount, for example, a weblog or image gallery.
-     */
-    public static final URI owner_of;
-
-    /**
-     * A child Container or Forum that this Container or Forum is a parent of.
-     */
-    public static final URI parent_of;
-
-    /**
-     * A resource that the subject is a part of.
-     */
-    public static final URI part_of;
-
-    /**
-     * Previous Item or Post in a given Container sorted by date.
-     */
-    public static final URI previous_by_date;
-
-    /**
-     * Links to the previous revision of this Item or Post.
-     */
-    public static final URI previous_version;
-
-    /**
-     * Links either created explicitly or extracted implicitly on the HTML level from the Post.
-     */
-    public static final URI reference;
-
-    /**
-     * Related Posts for this Post, perhaps determined implicitly from topics or references.
-     */
-    public static final URI related_to;
-
-    /**
-     * Links to an Item or Post which this Item or Post is a reply to.
-     */
-    public static final URI reply_of;
-
-    /**
-     * A Role that has a scope of this resource.
-     */
-    public static final URI scope_of;
-
-    /**
-     * An Item may have a sibling or a twin that exists in a different Container, but the siblings may differ in some small way (for example, language, category, etc.). The sibling of this Item should be self-describing (that is, it should contain all available information).
-     */
-    public static final URI sibling;
-
-    /**
-     * A resource which belongs to this data Space.
-     */
-    public static final URI space_of;
-
-    /**
-     * Keyword(s) describing subject of the Post.
-     */
-    public static final URI subject;
-
-    /**
-     * A Container that a UserAccount is subscribed to.
-     */
-    public static final URI subscriber_of;
-
-    /**
-     * This is the title (subject line) of the Post. Note that for a Post within a threaded discussion that has no parents, it would detail the topic thread.
-     */
-    public static final URI title;
-
-    /**
-     * A topic of interest, linking to the appropriate URI, e.g. in the Open Directory Project or of a SKOS category.
-     */
-    public static final URI topic;
-
-    /**
-     * A Space that the Usergroup has access to.
-     */
-    public static final URI usergroup_of;
-
-
-    static{
-        ValueFactory factory = ValueFactoryImpl.getInstance();
-        Community = factory.createURI(SIOC.NAMESPACE, "Community");
-        Container = factory.createURI(SIOC.NAMESPACE, "Container");
-        Forum = factory.createURI(SIOC.NAMESPACE, "Forum");
-        Item = factory.createURI(SIOC.NAMESPACE, "Item");
-        Post = factory.createURI(SIOC.NAMESPACE, "Post");
-        Role = factory.createURI(SIOC.NAMESPACE, "Role");
-        Site = factory.createURI(SIOC.NAMESPACE, "Site");
-        Space = factory.createURI(SIOC.NAMESPACE, "Space");
-        Thread = factory.createURI(SIOC.NAMESPACE, "Thread");
-        User = factory.createURI(SIOC.NAMESPACE, "User");
-        UserAccount = factory.createURI(SIOC.NAMESPACE, "UserAccount");
-        Usergroup = factory.createURI(SIOC.NAMESPACE, "Usergroup");
-        about = factory.createURI(SIOC.NAMESPACE, "about");
-        account_of = factory.createURI(SIOC.NAMESPACE, "account_of");
-        addressed_to = factory.createURI(SIOC.NAMESPACE, "addressed_to");
-        administrator_of = factory.createURI(SIOC.NAMESPACE, "administrator_of");
-        attachment = factory.createURI(SIOC.NAMESPACE, "attachment");
-        avatar = factory.createURI(SIOC.NAMESPACE, "avatar");
-        container_of = factory.createURI(SIOC.NAMESPACE, "container_of");
-        content = factory.createURI(SIOC.NAMESPACE, "content");
-        content_encoded = factory.createURI(SIOC.NAMESPACE, "content_encoded");
-        created_at = factory.createURI(SIOC.NAMESPACE, "created_at");
-        creator_of = factory.createURI(SIOC.NAMESPACE, "creator_of");
-        description = factory.createURI(SIOC.NAMESPACE, "description");
-        earlier_version = factory.createURI(SIOC.NAMESPACE, "earlier_version");
-        email = factory.createURI(SIOC.NAMESPACE, "email");
-        email_sha1 = factory.createURI(SIOC.NAMESPACE, "email_sha1");
-        embeds_knowledge = factory.createURI(SIOC.NAMESPACE, "embeds_knowledge");
-        feed = factory.createURI(SIOC.NAMESPACE, "feed");
-        first_name = factory.createURI(SIOC.NAMESPACE, "first_name");
-        follows = factory.createURI(SIOC.NAMESPACE, "follows");
-        function_of = factory.createURI(SIOC.NAMESPACE, "function_of");
-        group_of = factory.createURI(SIOC.NAMESPACE, "group_of");
-        has_administrator = factory.createURI(SIOC.NAMESPACE, "has_administrator");
-        has_container = factory.createURI(SIOC.NAMESPACE, "has_container");
-        has_creator = factory.createURI(SIOC.NAMESPACE, "has_creator");
-        has_discussion = factory.createURI(SIOC.NAMESPACE, "has_discussion");
-        has_function = factory.createURI(SIOC.NAMESPACE, "has_function");
-        has_group = factory.createURI(SIOC.NAMESPACE, "has_group");
-        has_host = factory.createURI(SIOC.NAMESPACE, "has_host");
-        has_member = factory.createURI(SIOC.NAMESPACE, "has_member");
-        has_moderator = factory.createURI(SIOC.NAMESPACE, "has_moderator");
-        has_modifier = factory.createURI(SIOC.NAMESPACE, "has_modifier");
-        has_owner = factory.createURI(SIOC.NAMESPACE, "has_owner");
-        has_parent = factory.createURI(SIOC.NAMESPACE, "has_parent");
-        has_part = factory.createURI(SIOC.NAMESPACE, "has_part");
-        has_reply = factory.createURI(SIOC.NAMESPACE, "has_reply");
-        has_scope = factory.createURI(SIOC.NAMESPACE, "has_scope");
-        has_space = factory.createURI(SIOC.NAMESPACE, "has_space");
-        has_subscriber = factory.createURI(SIOC.NAMESPACE, "has_subscriber");
-        has_usergroup = factory.createURI(SIOC.NAMESPACE, "has_usergroup");
-        host_of = factory.createURI(SIOC.NAMESPACE, "host_of");
-        id = factory.createURI(SIOC.NAMESPACE, "id");
-        ip_address = factory.createURI(SIOC.NAMESPACE, "ip_address");
-        last_activity_date = factory.createURI(SIOC.NAMESPACE, "last_activity_date");
-        last_item_date = factory.createURI(SIOC.NAMESPACE, "last_item_date");
-        last_name = factory.createURI(SIOC.NAMESPACE, "last_name");
-        last_reply_date = factory.createURI(SIOC.NAMESPACE, "last_reply_date");
-        later_version = factory.createURI(SIOC.NAMESPACE, "later_version");
-        latest_version = factory.createURI(SIOC.NAMESPACE, "latest_version");
-        link = factory.createURI(SIOC.NAMESPACE, "link");
-        links_to = factory.createURI(SIOC.NAMESPACE, "links_to");
-        member_of = factory.createURI(SIOC.NAMESPACE, "member_of");
-        moderator_of = factory.createURI(SIOC.NAMESPACE, "moderator_of");
-        modified_at = factory.createURI(SIOC.NAMESPACE, "modified_at");
-        modifier_of = factory.createURI(SIOC.NAMESPACE, "modifier_of");
-        name = factory.createURI(SIOC.NAMESPACE, "name");
-        next_by_date = factory.createURI(SIOC.NAMESPACE, "next_by_date");
-        next_version = factory.createURI(SIOC.NAMESPACE, "next_version");
-        note = factory.createURI(SIOC.NAMESPACE, "note");
-        num_authors = factory.createURI(SIOC.NAMESPACE, "num_authors");
-        num_items = factory.createURI(SIOC.NAMESPACE, "num_items");
-        num_replies = factory.createURI(SIOC.NAMESPACE, "num_replies");
-        num_threads = factory.createURI(SIOC.NAMESPACE, "num_threads");
-        num_views = factory.createURI(SIOC.NAMESPACE, "num_views");
-        owner_of = factory.createURI(SIOC.NAMESPACE, "owner_of");
-        parent_of = factory.createURI(SIOC.NAMESPACE, "parent_of");
-        part_of = factory.createURI(SIOC.NAMESPACE, "part_of");
-        previous_by_date = factory.createURI(SIOC.NAMESPACE, "previous_by_date");
-        previous_version = factory.createURI(SIOC.NAMESPACE, "previous_version");
-        reference = factory.createURI(SIOC.NAMESPACE, "reference");
-        related_to = factory.createURI(SIOC.NAMESPACE, "related_to");
-        reply_of = factory.createURI(SIOC.NAMESPACE, "reply_of");
-        scope_of = factory.createURI(SIOC.NAMESPACE, "scope_of");
-        sibling = factory.createURI(SIOC.NAMESPACE, "sibling");
-        space_of = factory.createURI(SIOC.NAMESPACE, "space_of");
-        subject = factory.createURI(SIOC.NAMESPACE, "subject");
-        subscriber_of = factory.createURI(SIOC.NAMESPACE, "subscriber_of");
-        title = factory.createURI(SIOC.NAMESPACE, "title");
-        topic = factory.createURI(SIOC.NAMESPACE, "topic");
-        usergroup_of = factory.createURI(SIOC.NAMESPACE, "usergroup_of");
-    }
-}

http://git-wip-us.apache.org/repos/asf/marmotta/blob/8d79b113/commons/marmotta-commons/src/main/java/org/apache/marmotta/commons/vocabulary/SKOS.java
----------------------------------------------------------------------
diff --git a/commons/marmotta-commons/src/main/java/org/apache/marmotta/commons/vocabulary/SKOS.java b/commons/marmotta-commons/src/main/java/org/apache/marmotta/commons/vocabulary/SKOS.java
deleted file mode 100644
index e803636..0000000
--- a/commons/marmotta-commons/src/main/java/org/apache/marmotta/commons/vocabulary/SKOS.java
+++ /dev/null
@@ -1,229 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.marmotta.commons.vocabulary;
-
-import org.openrdf.model.URI;
-import org.openrdf.model.ValueFactory;
-import org.openrdf.model.impl.ValueFactoryImpl;
-
-/**
- * Namespace SKOS
- */
-public class SKOS {
-
-    public static final String NAMESPACE = "http://www.w3.org/2004/02/skos/core#";
-
-    public static final String PREFIX = "skos";
-
-    /**
-     * A meaningful collection of concepts.
-     */
-    public static final URI Collection;
-
-    /**
-     * An idea or notion; a unit of thought.
-     */
-    public static final URI Concept;
-
-    /**
-     * A set of concepts, optionally including statements about semantic relationships between those concepts.
-     */
-    public static final URI ConceptScheme;
-
-    /**
-     * An ordered collection of concepts, where both the grouping and the ordering are meaningful.
-     */
-    public static final URI OrderedCollection;
-
-    /**
-     * An alternative lexical label for a resource.
-     */
-    public static final URI altLabel;
-
-    /**
-     * skos:broadMatch is used to state a hierarchical mapping link between two conceptual resources in different concept schemes.
-     */
-    public static final URI broadMatch;
-
-    /**
-     * Relates a concept to a concept that is more general in meaning.
-     */
-    public static final URI broader;
-
-    /**
-     * skos:broaderTransitive is a transitive superproperty of skos:broader.
-     */
-    public static final URI broaderTransitive;
-
-    /**
-     * A note about a modification to a concept.
-     */
-    public static final URI changeNote;
-
-    /**
-     * skos:closeMatch is used to link two concepts that are sufficiently similar that they can be used interchangeably in some information retrieval applications. In order to avoid the possibility of "compound errors" when combining mappings across more than two concept schemes, skos:closeMatch is not declared to be a transitive property.
-     */
-    public static final URI closeMatch;
-
-    /**
-     * A statement or formal explanation of the meaning of a concept.
-     */
-    public static final URI definition;
-
-    /**
-     * A note for an editor, translator or maintainer of the vocabulary.
-     */
-    public static final URI editorialNote;
-
-    /**
-     * skos:exactMatch is used to link two concepts, indicating a high degree of confidence that the concepts can be used interchangeably across a wide range of information retrieval applications. skos:exactMatch is a transitive property, and is a sub-property of skos:closeMatch.
-     */
-    public static final URI exactMatch;
-
-    /**
-     * An example of the use of a concept.
-     */
-    public static final URI example;
-
-    /**
-     * Relates, by convention, a concept scheme to a concept which is topmost in the broader/narrower concept hierarchies for that scheme, providing an entry point to these hierarchies.
-     */
-    public static final URI hasTopConcept;
-
-    /**
-     * A lexical label for a resource that should be hidden when generating visual displays of the resource, but should still be accessible to free text search operations.
-     */
-    public static final URI hiddenLabel;
-
-    /**
-     * A note about the past state/use/meaning of a concept.
-     */
-    public static final URI historyNote;
-
-    /**
-     * Relates a resource (for example a concept) to a concept scheme in which it is included.
-     */
-    public static final URI inScheme;
-
-    /**
-     * Relates two concepts coming, by convention, from different schemes, and that have comparable meanings
-     */
-    public static final URI mappingRelation;
-
-    /**
-     * Relates a collection to one of its members.
-     */
-    public static final URI member;
-
-    /**
-     * Relates an ordered collection to the RDF list containing its members.
-     */
-    public static final URI memberList;
-
-    /**
-     * skos:narrowMatch is used to state a hierarchical mapping link between two conceptual resources in different concept schemes.
-     */
-    public static final URI narrowMatch;
-
-    /**
-     * Relates a concept to a concept that is more specific in meaning.
-     */
-    public static final URI narrower;
-
-    /**
-     * skos:narrowerTransitive is a transitive superproperty of skos:narrower.
-     */
-    public static final URI narrowerTransitive;
-
-    /**
-     * A notation, also known as classification code, is a string of characters such as "T58.5" or "303.4833" used to uniquely identify a concept within the scope of a given concept scheme.
-     */
-    public static final URI notation;
-
-    /**
-     * A general note, for any purpose.
-     */
-    public static final URI note;
-
-    /**
-     * The preferred lexical label for a resource, in a given language.
-     */
-    public static final URI prefLabel;
-
-    /**
-     * Relates a concept to a concept with which there is an associative semantic relationship.
-     */
-    public static final URI related;
-
-    /**
-     * skos:relatedMatch is used to state an associative mapping link between two conceptual resources in different concept schemes.
-     */
-    public static final URI relatedMatch;
-
-    /**
-     * A note that helps to clarify the meaning and/or the use of a concept.
-     */
-    public static final URI scopeNote;
-
-    /**
-     * Links a concept to a concept related by meaning.
-     */
-    public static final URI semanticRelation;
-
-    /**
-     * Relates a concept to the concept scheme that it is a top level concept of.
-     */
-    public static final URI topConceptOf;
-
-
-    static{
-        ValueFactory factory = ValueFactoryImpl.getInstance();
-        Collection = factory.createURI(SKOS.NAMESPACE, "Collection");
-        Concept = factory.createURI(SKOS.NAMESPACE, "Concept");
-        ConceptScheme = factory.createURI(SKOS.NAMESPACE, "ConceptScheme");
-        OrderedCollection = factory.createURI(SKOS.NAMESPACE, "OrderedCollection");
-        altLabel = factory.createURI(SKOS.NAMESPACE, "altLabel");
-        broadMatch = factory.createURI(SKOS.NAMESPACE, "broadMatch");
-        broader = factory.createURI(SKOS.NAMESPACE, "broader");
-        broaderTransitive = factory.createURI(SKOS.NAMESPACE, "broaderTransitive");
-        changeNote = factory.createURI(SKOS.NAMESPACE, "changeNote");
-        closeMatch = factory.createURI(SKOS.NAMESPACE, "closeMatch");
-        definition = factory.createURI(SKOS.NAMESPACE, "definition");
-        editorialNote = factory.createURI(SKOS.NAMESPACE, "editorialNote");
-        exactMatch = factory.createURI(SKOS.NAMESPACE, "exactMatch");
-        example = factory.createURI(SKOS.NAMESPACE, "example");
-        hasTopConcept = factory.createURI(SKOS.NAMESPACE, "hasTopConcept");
-        hiddenLabel = factory.createURI(SKOS.NAMESPACE, "hiddenLabel");
-        historyNote = factory.createURI(SKOS.NAMESPACE, "historyNote");
-        inScheme = factory.createURI(SKOS.NAMESPACE, "inScheme");
-        mappingRelation = factory.createURI(SKOS.NAMESPACE, "mappingRelation");
-        member = factory.createURI(SKOS.NAMESPACE, "member");
-        memberList = factory.createURI(SKOS.NAMESPACE, "memberList");
-        narrowMatch = factory.createURI(SKOS.NAMESPACE, "narrowMatch");
-        narrower = factory.createURI(SKOS.NAMESPACE, "narrower");
-        narrowerTransitive = factory.createURI(SKOS.NAMESPACE, "narrowerTransitive");
-        notation = factory.createURI(SKOS.NAMESPACE, "notation");
-        note = factory.createURI(SKOS.NAMESPACE, "note");
-        prefLabel = factory.createURI(SKOS.NAMESPACE, "prefLabel");
-        related = factory.createURI(SKOS.NAMESPACE, "related");
-        relatedMatch = factory.createURI(SKOS.NAMESPACE, "relatedMatch");
-        scopeNote = factory.createURI(SKOS.NAMESPACE, "scopeNote");
-        semanticRelation = factory.createURI(SKOS.NAMESPACE, "semanticRelation");
-        topConceptOf = factory.createURI(SKOS.NAMESPACE, "topConceptOf");
-    }
-}

http://git-wip-us.apache.org/repos/asf/marmotta/blob/8d79b113/commons/marmotta-commons/src/main/java/org/apache/marmotta/commons/vocabulary/SPARQL_SD.java
----------------------------------------------------------------------
diff --git a/commons/marmotta-commons/src/main/java/org/apache/marmotta/commons/vocabulary/SPARQL_SD.java b/commons/marmotta-commons/src/main/java/org/apache/marmotta/commons/vocabulary/SPARQL_SD.java
deleted file mode 100644
index a83efe4..0000000
--- a/commons/marmotta-commons/src/main/java/org/apache/marmotta/commons/vocabulary/SPARQL_SD.java
+++ /dev/null
@@ -1,345 +0,0 @@
-package org.apache.marmotta.commons.vocabulary;
-
-import org.openrdf.model.URI;
-import org.openrdf.model.ValueFactory;
-import org.openrdf.model.impl.ValueFactoryImpl;
-
-/**
- * Namespace SPARQL_SD - SparqlServiceDescription.
- * @see http://www.w3.org/TR/sparql11-service-description/
- */
-public class SPARQL_SD {
-
-    public static final String NAMESPACE = "http://www.w3.org/ns/sparql-service-description#";
-
-    public static final String PREFIX = "sd";
-
-    /**
-     * An instance of sd:Aggregate represents an aggregate that may be used in a
-     * SPARQL aggregate query (for instance in a HAVING clause or SELECT
-     * expression) besides the standard list of supported aggregates COUNT, SUM,
-     * MIN, MAX, AVG, GROUP_CONCAT, and SAMPLE.
-     */
-    public static final URI Aggregate;
-
-    /**
-     * sd:BasicFederatedQuery, when used as the object of the sd:feature
-     * property, indicates that the SPARQL service supports basic federated
-     * query using the SERVICE keyword as defined by SPARQL 1.1 Federation
-     * Extensions.
-     */
-    public static final URI BasicFederatedQuery;
-
-    /**
-     * An instance of sd:Dataset represents a RDF Dataset comprised of a default
-     * graph and zero or more named graphs.
-     */
-    public static final URI Dataset;
-
-    /**
-     * sd:DereferencesURIs, when used as the object of the sd:feature property,
-     * indicates that a SPARQL service will dereference URIs used in FROM/FROM
-     * NAMED and USING/USING NAMED clauses and use the resulting RDF in the
-     * dataset during query evaluation.
-     */
-    public static final URI DereferencesURIs;
-
-    /**
-     * sd:EmptyGraphs, when used as the object of the sd:feature property,
-     * indicates that the underlying graph store supports empty graphs. A graph
-     * store that supports empty graphs MUST NOT remove graphs that are left
-     * empty after triples are removed from them.
-     */
-    public static final URI EmptyGraphs;
-
-    /**
-     * An instance of sd:EntailmentProfile represents a profile of an entailment
-     * regime. An entailment profile MAY impose restrictions on what constitutes
-     * valid RDF with respect to entailment.
-     */
-    public static final URI EntailmentProfile;
-
-    /**
-     * An instance of sd:EntailmentRegime represents an entailment regime used
-     * in basic graph pattern matching (as described by SPARQL 1.1 Query
-     * Language).
-     */
-    public static final URI EntailmentRegime;
-
-    /**
-     * An instance of sd:Feature represents a feature of a SPARQL service.
-     * Specific types of features include functions, aggregates, languages, and
-     * entailment regimes and profiles. This document defines five instances of
-     * sd:Feature: sd:DereferencesURIs, sd:UnionDefaultGraph,
-     * sd:RequiresDataset, sd:EmptyGraphs, and sd:BasicFederatedQuery.
-     */
-    public static final URI Feature;
-
-    /**
-     * An instance of sd:Function represents a function that may be used in a
-     * SPARQL SELECT expression or a FILTER, HAVING, GROUP BY, ORDER BY, or BIND
-     * clause.
-     */
-    public static final URI Function;
-
-    /**
-     * An instance of sd:Graph represents the description of an RDF graph.
-     */
-    public static final URI Graph;
-
-    /**
-     * An instance of sd:GraphCollection represents a collection of zero or more
-     * named graph descriptions. Each named graph description belonging to an
-     * sd:GraphCollection MUST be linked with the sd:namedGraph predicate.
-     */
-    public static final URI GraphCollection;
-
-    /**
-     * An instance of sd:Language represents one of the SPARQL languages,
-     * including specific configurations providing particular features or
-     * extensions. This document defines three instances of sd:Language:
-     * sd:SPARQL10Query, sd:SPARQL11Query, and sd:SPARQL11Update.
-     */
-    public static final URI Language;
-
-    /**
-     * An instance of sd:NamedGraph represents a named graph having a name (via
-     * sd:name) and an optional graph description (via sd:graph).
-     */
-    public static final URI NamedGraph;
-
-    /**
-     * sd:RequiresDataset, when used as the object of the sd:feature property,
-     * indicates that the SPARQL service requires an explicit dataset
-     * declaration (based on either FROM/FROM NAMED clauses in a query,
-     * USING/USING NAMED clauses in an update, or the appropriate SPARQL
-     * Protocol parameters).
-     */
-    public static final URI RequiresDataset;
-
-    /**
-     * sd:SPARQL10Query is an sd:Language representing the SPARQL 1.0 Query
-     * language.
-     */
-    public static final URI SPARQL10Query;
-
-    /**
-     * sd:SPARQL11Query is an sd:Language representing the SPARQL 1.1 Query
-     * language.
-     */
-    public static final URI SPARQL11Query;
-
-    /**
-     * sd:SPARQLUpdate is an sd:Language representing the SPARQL 1.1 Update
-     * language.
-     */
-    public static final URI SPARQL11Update;
-
-    /**
-     * An instance of sd:Service represents a SPARQL service made available via
-     * the SPARQL Protocol.
-     */
-    public static final URI Service;
-
-    /**
-     * sd:UnionDefaultGraph, when used as the object of the sd:feature property,
-     * indicates that the default graph of the dataset used during query and
-     * update evaluation (when an explicit dataset is not specified) is
-     * comprised of the union of all the named graphs in that dataset.
-     */
-    public static final URI UnionDefaultGraph;
-
-    /**
-     * Relates an instance of sd:Service to a description of the graphs which
-     * are allowed in the construction of a dataset either via the SPARQL
-     * Protocol, with FROM/FROM NAMED clauses in a query, or with USING/USING
-     * NAMED in an update request, if the service limits the scope of dataset
-     * construction.
-     */
-    public static final URI availableGraphs;
-
-    /**
-     * Relates an instance of sd:Service to a description of the default dataset
-     * available when no explicit dataset is specified in the query, update
-     * request or via protocol parameters.
-     */
-    public static final URI defaultDataset;
-
-    /**
-     * Relates an instance of sd:Service with a resource representing an
-     * entailment regime used for basic graph pattern matching. This property is
-     * intended for use when a single entailment regime by default applies to
-     * all graphs in the default dataset of the service. In situations where a
-     * different entailment regime applies to a specific graph in the dataset,
-     * the sd:entailmentRegime property should be used to indicate this fact in
-     * the description of that graph.
-     */
-    public static final URI defaultEntailmentRegime;
-
-    /**
-     * Relates an instance of sd:Dataset to the description of its default
-     * graph.
-     */
-    public static final URI defaultGraph;
-
-    /**
-     * Relates an instance of sd:Service with a resource representing a
-     * supported profile of the default entailment regime (as declared by
-     * sd:defaultEntailmentRegime).
-     */
-    public static final URI defaultSupportedEntailmentProfile;
-
-    /**
-     * The SPARQL endpoint of an sd:Service that implements the SPARQL Protocol
-     * service. The object of the sd:endpoint property is an IRI.
-     */
-    public static final URI endpoint;
-
-    /**
-     * Relates a named graph description with a resource representing an
-     * entailment regime used for basic graph pattern matching over that graph.
-     */
-    public static final URI entailmentRegime;
-
-    /**
-     * Relates an instance of sd:Service to an aggregate that may be used in a
-     * SPARQL aggregate query (for instance in a HAVING clause or SELECT
-     * expression) besides the standard list of supported aggregates COUNT, SUM,
-     * MIN, MAX, AVG, GROUP_CONCAT, and SAMPLE
-     */
-    public static final URI extensionAggregate;
-
-    /**
-     * Relates an instance of sd:Service to a function that may be used in a
-     * SPARQL SELECT expression or a FILTER, HAVING, GROUP BY, ORDER BY, or BIND
-     * clause.
-     */
-    public static final URI extensionFunction;
-
-    /**
-     * Relates an instance of sd:Service with a resource representing a
-     * supported feature.
-     */
-    public static final URI feature;
-
-    /**
-     * Relates a named graph to its graph description.
-     */
-    public static final URI graph;
-
-    /**
-     * Relates an instance of sd:Service to a format that is supported for
-     * parsing RDF input; for example, via a SPARQL 1.1 Update LOAD statement,
-     * or when URIs are dereferenced in FROM/FROM NAMED/USING/USING NAMED
-     * clauses.
-     */
-    public static final URI inputFormat;
-
-    /**
-     * Relates an instance of sd:Service to a resource representing an
-     * implemented extension to the SPARQL Query or Update language.
-     */
-    public static final URI languageExtension;
-
-    /**
-     * Relates a named graph to the name by which it may be referenced in a
-     * FROM/FROM NAMED clause. The object of the sd:name property is an IRI.
-     */
-    public static final URI name;
-
-    /**
-     * Relates an instance of sd:GraphCollection (or its subclass sd:Dataset) to
-     * the description of one of its named graphs. The description of such a
-     * named graph MUST include the sd:name property and MAY include the
-     * sd:graph property.
-     */
-    public static final URI namedGraph;
-
-    /**
-     * Relates an instance of sd:Service to a resource representing an
-     * implemented feature that extends the SPARQL Query or Update language and
-     * that is accessed by using the named property.
-     */
-    public static final URI propertyFeature;
-
-    /**
-     * Relates an instance of sd:Service to a format that is supported for
-     * serializing query results.
-     */
-    public static final URI resultFormat;
-
-    /**
-     * Relates a named graph description with a resource representing a
-     * supported profile of the entailment regime (as declared by
-     * sd:entailmentRegime) used for basic graph pattern matching over that
-     * graph.
-     */
-    public static final URI supportedEntailmentProfile;
-
-    /**
-     * Relates an instance of sd:Service to a SPARQL language (e.g. Query and
-     * Update) that it implements.
-     */
-    public static final URI supportedLanguage;
-
-    static {
-        ValueFactory factory = ValueFactoryImpl.getInstance();
-        Aggregate = factory.createURI(SPARQL_SD.NAMESPACE, "Aggregate");
-        BasicFederatedQuery = factory.createURI(SPARQL_SD.NAMESPACE,
-                "BasicFederatedQuery");
-        Dataset = factory.createURI(SPARQL_SD.NAMESPACE, "Dataset");
-        DereferencesURIs = factory.createURI(SPARQL_SD.NAMESPACE,
-                "DereferencesURIs");
-        EmptyGraphs = factory.createURI(SPARQL_SD.NAMESPACE, "EmptyGraphs");
-        EntailmentProfile = factory.createURI(SPARQL_SD.NAMESPACE,
-                "EntailmentProfile");
-        EntailmentRegime = factory.createURI(SPARQL_SD.NAMESPACE,
-                "EntailmentRegime");
-        Feature = factory.createURI(SPARQL_SD.NAMESPACE, "Feature");
-        Function = factory.createURI(SPARQL_SD.NAMESPACE, "Function");
-        Graph = factory.createURI(SPARQL_SD.NAMESPACE, "Graph");
-        GraphCollection = factory.createURI(SPARQL_SD.NAMESPACE,
-                "GraphCollection");
-        Language = factory.createURI(SPARQL_SD.NAMESPACE, "Language");
-        NamedGraph = factory.createURI(SPARQL_SD.NAMESPACE, "NamedGraph");
-        RequiresDataset = factory.createURI(SPARQL_SD.NAMESPACE,
-                "RequiresDataset");
-        SPARQL10Query = factory.createURI(SPARQL_SD.NAMESPACE, "SPARQL10Query");
-        SPARQL11Query = factory.createURI(SPARQL_SD.NAMESPACE, "SPARQL11Query");
-        SPARQL11Update = factory.createURI(SPARQL_SD.NAMESPACE,
-                "SPARQL11Update");
-        Service = factory.createURI(SPARQL_SD.NAMESPACE, "Service");
-        UnionDefaultGraph = factory.createURI(SPARQL_SD.NAMESPACE,
-                "UnionDefaultGraph");
-        availableGraphs = factory.createURI(SPARQL_SD.NAMESPACE,
-                "availableGraphs");
-        defaultDataset = factory.createURI(SPARQL_SD.NAMESPACE,
-                "defaultDataset");
-        defaultEntailmentRegime = factory.createURI(SPARQL_SD.NAMESPACE,
-                "defaultEntailmentRegime");
-        defaultGraph = factory.createURI(SPARQL_SD.NAMESPACE, "defaultGraph");
-        defaultSupportedEntailmentProfile = factory.createURI(
-                SPARQL_SD.NAMESPACE, "defaultSupportedEntailmentProfile");
-        endpoint = factory.createURI(SPARQL_SD.NAMESPACE, "endpoint");
-        entailmentRegime = factory.createURI(SPARQL_SD.NAMESPACE,
-                "entailmentRegime");
-        extensionAggregate = factory.createURI(SPARQL_SD.NAMESPACE,
-                "extensionAggregate");
-        extensionFunction = factory.createURI(SPARQL_SD.NAMESPACE,
-                "extensionFunction");
-        feature = factory.createURI(SPARQL_SD.NAMESPACE, "feature");
-        graph = factory.createURI(SPARQL_SD.NAMESPACE, "graph");
-        inputFormat = factory.createURI(SPARQL_SD.NAMESPACE, "inputFormat");
-        languageExtension = factory.createURI(SPARQL_SD.NAMESPACE,
-                "languageExtension");
-        name = factory.createURI(SPARQL_SD.NAMESPACE, "name");
-        namedGraph = factory.createURI(SPARQL_SD.NAMESPACE, "namedGraph");
-        propertyFeature = factory.createURI(SPARQL_SD.NAMESPACE,
-                "propertyFeature");
-        resultFormat = factory.createURI(SPARQL_SD.NAMESPACE, "resultFormat");
-        supportedEntailmentProfile = factory.createURI(SPARQL_SD.NAMESPACE,
-                "supportedEntailmentProfile");
-        supportedLanguage = factory.createURI(SPARQL_SD.NAMESPACE,
-                "supportedLanguage");
-    }
-}

http://git-wip-us.apache.org/repos/asf/marmotta/blob/8d79b113/commons/marmotta-commons/src/main/java/org/apache/marmotta/commons/vocabulary/XSD.java
----------------------------------------------------------------------
diff --git a/commons/marmotta-commons/src/main/java/org/apache/marmotta/commons/vocabulary/XSD.java b/commons/marmotta-commons/src/main/java/org/apache/marmotta/commons/vocabulary/XSD.java
deleted file mode 100644
index 4d42298..0000000
--- a/commons/marmotta-commons/src/main/java/org/apache/marmotta/commons/vocabulary/XSD.java
+++ /dev/null
@@ -1,325 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.marmotta.commons.vocabulary;
-
-import org.openrdf.model.URI;
-import org.openrdf.model.ValueFactory;
-import org.openrdf.model.impl.ValueFactoryImpl;
-
-/**
- * XSD Datatypes
- */
-public class XSD {
-    public static final String NAMESPACE = "http://www.w3.org/2001/XMLSchema#";
-    public static final String PREFIX = "xsd";
-
-    /**
-     * {@code http://www.w3.org/2001/XMLSchema#anyURI}.
-     * <br>
-     * anyURI represents an Internationalized Resource Identifier Reference (IRI). An anyURI value can be absolute or relative and may have an optional fragment identifier (i.e. it may be an IRI Reference). This type should be used when the value fulfills the role of an IRI as defined in RFC 3987 or its successor(s) in the IETF Standards Track.
-     */
-    public static final URI AnyURI;
-
-    /**
-     * {@code http://www.w3.org/2001/XMLSchema#base64Binary}.
-     * <br>
-     * base64Binary represents arbitrary Base64-encoded binary data. For base64Binary data the entire binary stream is encoded using the Base64 Encoding defined in RFC 3548 which is derived from the encoding described in RFC 2045.
-     */
-    public static final URI Base64Binary;
-
-    /**
-     * {@code http://www.w3.org/2001/XMLSchema#boolean}.
-     * <br>
-     * boolean represents the values of two-valued logic.
-     */
-    public static final URI Boolean;
-
-    /**
-     * {@code http://www.w3.org/2001/XMLSchema#byte}.
-     * <br>
-     * byte is derived from short by setting the value of maxInclusive to be 127 and minInclusive to be -128. The base type of byte is short.
-     */
-    public static final URI Byte;
-
-    /**
-     * {@code http://www.w3.org/2001/XMLSchema#date}.
-     * <br>
-     * date represents top-open intervals of exactly one day in length on the timelines of dateTime beginning on the beginning moment of each day up to but not including the beginning moment of the next day). For non-timezoned values the top-open intervals disjointly cover the non-timezoned timeline one per day. For timezoned values the intervals begin at every minute and therefore overlap.
-     */
-    public static final URI Date;
-
-    /**
-     * {@code http://www.w3.org/2001/XMLSchema#dateTime}.
-     * <br>
-     * dateTime represents instants of time optionally marked with a particular time zone offset. Values representing the same instant but having different time zone offsets are equal but not identical.
-     */
-    public static final URI DateTime;
-
-    /**
-     * {@code http://www.w3.org/2001/XMLSchema#dateTimeStamp}.
-     * <br>
-     * The dateTimeStamp datatype is derived from dateTime by giving the value required to its explicitTimezone facet.
-     */
-    public static final URI DateTimeStamp;
-
-    /**
-     * {@code http://www.w3.org/2001/XMLSchema#dayTimeDuration}.
-     * <br>
-     * dayTimeDuration is a datatype derived from duration by restricting its lexical representations to instances of dayTimeDurationLexicalRep.
-     */
-    public static final URI DayTimeDuration;
-
-    /**
-     * {@code http://www.w3.org/2001/XMLSchema#decimal}.
-     * <br>
-     * decimal represents a subset of the real numbers which can be represented by decimal numerals. The value space of decimal is the set of numbers that can be obtained by dividing an integer by a non-negative power of ten i.e. expressible as i10n where i and n are integers and n0. Precision is not reflected in this value space; the number 2.0 is not distinct from the number 2.00. The order relation on decimal is the order relation on real numbers restricted to this subset.
-     */
-    public static final URI Decimal;
-
-    /**
-     * {@code http://www.w3.org/2001/XMLSchema#double}.
-     * <br>
-     * The double datatype is patterned after the IEEE double-precision 64-bit floating point datatype IEEE 754-2008.
-     */
-    public static final URI Double;
-
-    /**
-     * {@code http://www.w3.org/2001/XMLSchema#duration}.
-     * <br>
-     * duration is a datatype that represents durations of time.
-     */
-    public static final URI Duration;
-
-    /**
-     * {@code http://www.w3.org/2001/XMLSchema#float}.
-     * <br>
-     * The float datatype is patterned after the IEEE single-precision 32-bit floating point datatype IEEE 754-2008.
-     */
-    public static final URI Float;
-
-    /**
-     * {@code http://www.w3.org/2001/XMLSchema#gDay}.
-     * <br>
-     * gDay represents whole days within an arbitrary monthdays that recur at the same point in each (Gregorian) month.
-     */
-    public static final URI GDay;
-
-    /**
-     * {@code http://www.w3.org/2001/XMLSchema#gMonth}.
-     * <br>
-     * gMonth represents whole (Gregorian) months within an arbitrary yearmonths that recur at the same point in each year. It might be used for example to say what month annual Thanksgiving celebrations fall in different countries (--11 in the United States --10 in Canada and possibly other months in other countries).
-     */
-    public static final URI GMonth;
-
-    /**
-     * {@code http://www.w3.org/2001/XMLSchema#gMonthDay}.
-     * <br>
-     * gMonthDay represents whole calendar days that recur at the same point in each calendar year or that occur in some arbitrary calendar year. (Obviously days beyond 28 cannot occur in all Februaries; 29 is nonetheless permitted.)
-     */
-    public static final URI GMonthDay;
-
-    /**
-     * {@code http://www.w3.org/2001/XMLSchema#gYear}.
-     * <br>
-     * gYear represents Gregorian calendar years.
-     */
-    public static final URI GYear;
-
-    /**
-     * {@code http://www.w3.org/2001/XMLSchema#gYearMonth}.
-     * <br>
-     * gYearMonth represents specific whole Gregorian months in specific Gregorian years.
-     */
-    public static final URI GYearMonth;
-
-    /**
-     * {@code http://www.w3.org/2001/XMLSchema#hexBinary}.
-     * <br>
-     * hexBinary represents arbitrary hex-encoded binary data.
-     */
-    public static final URI HexBinary;
-
-    /**
-     * {@code http://www.w3.org/2001/XMLSchema#int}.
-     * <br>
-     * int is derived from long by setting the value of maxInclusive to be 2147483647 and minInclusive to be -2147483648. The base type of int is long.
-     */
-    public static final URI Int;
-
-    /**
-     * {@code http://www.w3.org/2001/XMLSchema#integer}.
-     * <br>
-     * integer is derived from decimal by fixing the value of fractionDigits to be 0 and disallowing the trailing decimal point. This results in the standard mathematical concept of the integer numbers. The value space of integer is the infinite set ...-2-1012.... The base type of integer is decimal.
-     */
-    public static final URI Integer;
-
-    /**
-     * {@code http://www.w3.org/2001/XMLSchema#language}.
-     * <br>
-     * language represents formal natural language identifiers as defined by BCP 47 (currently represented by RFC 4646 and RFC 4647) or its successor(s).
-     */
-    public static final URI Language;
-
-    /**
-     * {@code http://www.w3.org/2001/XMLSchema#long}.
-     * <br>
-     * long is derived from integer by setting the value of maxInclusive to be 9223372036854775807 and minInclusive to be -9223372036854775808. The base type of long is integer.
-     */
-    public static final URI Long;
-
-    /**
-     * {@code http://www.w3.org/2001/XMLSchema#negativeInteger}.
-     * <br>
-     * negativeInteger is derived from nonPositiveInteger by setting the value of maxInclusive to be -1. This results in the standard mathematical concept of the negative integers. The value space of negativeInteger is the infinite set ...-2-1. The base type of negativeInteger is nonPositiveInteger.
-     */
-    public static final URI NegativeInteger;
-
-    /**
-     * {@code http://www.w3.org/2001/XMLSchema#nonNegativeInteger}.
-     * <br>
-     * nonNegativeInteger is derived from integer by setting the value of minInclusive to be 0. This results in the standard mathematical concept of the non-negative integers. The value space of nonNegativeInteger is the infinite set 012.... The base type of nonNegativeInteger is integer.
-     */
-    public static final URI NonNegativeInteger;
-
-    /**
-     * {@code http://www.w3.org/2001/XMLSchema#nonPositiveInteger}.
-     * <br>
-     * nonPositiveInteger is derived from integer by setting the value of maxInclusive to be 0. This results in the standard mathematical concept of the non-positive integers. The value space of nonPositiveInteger is the infinite set ...-2-10. The base type of nonPositiveInteger is integer.
-     */
-    public static final URI NonPositiveInteger;
-
-    /**
-     * {@code http://www.w3.org/2001/XMLSchema#normalizedString}.
-     * <br>
-     * normalizedString represents white space normalized strings. The value space of normalizedString is the set of strings that do not contain the carriage return (#xD) line feed (#xA) nor tab (#x9) characters. The lexical space of normalizedString is the set of strings that do not contain the carriage return (#xD) line feed (#xA) nor tab (#x9) characters. The base type of normalizedString is string.
-     */
-    public static final URI NormalizedString;
-
-    /**
-     * {@code http://www.w3.org/2001/XMLSchema#positiveInteger}.
-     * <br>
-     * positiveInteger is derived from nonNegativeInteger by setting the value of minInclusive to be 1. This results in the standard mathematical concept of the positive integer numbers. The value space of positiveInteger is the infinite set 12.... The base type of positiveInteger is nonNegativeInteger.
-     */
-    public static final URI PositiveInteger;
-
-    /**
-     * {@code http://www.w3.org/2001/XMLSchema#short}.
-     * <br>
-     * short is derived from int by setting the value of maxInclusive to be 32767 and minInclusive to be -32768. The base type of short is int.
-     */
-    public static final URI Short;
-
-    /**
-     * {@code http://www.w3.org/2001/XMLSchema#string}.
-     * <br>
-     * The string datatype represents character strings in XML.
-     */
-    public static final URI String;
-
-    /**
-     * {@code http://www.w3.org/2001/XMLSchema#time}.
-     * <br>
-     * time represents instants of time that recur at the same point in each calendar day or that occur in some arbitrary calendar day.
-     */
-    public static final URI Time;
-
-    /**
-     * {@code http://www.w3.org/2001/XMLSchema#token}.
-     * <br>
-     * token represents tokenized strings. The value space of token is the set of strings that do not contain the carriage return (#xD) line feed (#xA) nor tab (#x9) characters that have no leading or trailing spaces (#x20) and that have no internal sequences of two or more spaces. The lexical space of token is the set of strings that do not contain the carriage return (#xD) line feed (#xA) nor tab (#x9) characters that have no leading or trailing spaces (#x20) and that have no internal sequences of two or more spaces. The base type of token is normalizedString.
-     */
-    public static final URI Token;
-
-    /**
-     * {@code http://www.w3.org/2001/XMLSchema#unsignedByte}.
-     * <br>
-     * unsignedByte is derived from unsignedShort by setting the value of maxInclusive to be 255. The base type of unsignedByte is unsignedShort.
-     */
-    public static final URI UnsignedByte;
-
-    /**
-     * {@code http://www.w3.org/2001/XMLSchema#unsignedInt}.
-     * <br>
-     * unsignedInt is derived from unsignedLong by setting the value of maxInclusive to be 4294967295. The base type of unsignedInt is unsignedLong.
-     */
-    public static final URI UnsignedInt;
-
-    /**
-     * {@code http://www.w3.org/2001/XMLSchema#unsignedLong}.
-     * <br>
-     * unsignedLong is derived from nonNegativeInteger by setting the value of maxInclusive to be 18446744073709551615. The base type of unsignedLong is nonNegativeInteger.
-     */
-    public static final URI UnsignedLong;
-
-    /**
-     * {@code http://www.w3.org/2001/XMLSchema#unsignedShort}.
-     * <br>
-     * unsignedShort is derived from unsignedInt by setting the value of maxInclusive to be 65535. The base type of unsignedShort is unsignedInt.
-     */
-    public static final URI UnsignedShort;
-
-    /**
-     * {@code http://www.w3.org/2001/XMLSchema#yearMonthDuration}.
-     * <br>
-     * yearMonthDuration is a datatype derived from duration by restricting its lexical representations to instances of yearMonthDurationLexicalRep.
-     */
-    public static final URI YearMonthDuration;
-
-
-    static {
-        final ValueFactory vf = ValueFactoryImpl.getInstance();
-
-        AnyURI = vf.createURI(NAMESPACE, "anyURI");
-        Base64Binary = vf.createURI(NAMESPACE, "base64Binary");
-        Boolean = vf.createURI(NAMESPACE, "boolean");
-        Byte = vf.createURI(NAMESPACE, "byte");
-        Date = vf.createURI(NAMESPACE, "date");
-        DateTime = vf.createURI(NAMESPACE, "dateTime");
-        DateTimeStamp = vf.createURI(NAMESPACE, "dateTimeStamp");
-        DayTimeDuration = vf.createURI(NAMESPACE, "dayTimeDuration");
-        Decimal = vf.createURI(NAMESPACE, "decimal");
-        Double = vf.createURI(NAMESPACE, "double");
-        Duration = vf.createURI(NAMESPACE, "duration");
-        Float = vf.createURI(NAMESPACE, "float");
-        GDay = vf.createURI(NAMESPACE, "gDay");
-        GMonth = vf.createURI(NAMESPACE, "gMonth");
-        GMonthDay = vf.createURI(NAMESPACE, "gMonthDay");
-        GYear = vf.createURI(NAMESPACE, "gYear");
-        GYearMonth = vf.createURI(NAMESPACE, "gYearMonth");
-        HexBinary = vf.createURI(NAMESPACE, "hexBinary");
-        Int = vf.createURI(NAMESPACE, "int");
-        Integer = vf.createURI(NAMESPACE, "integer");
-        Language = vf.createURI(NAMESPACE, "language");
-        Long = vf.createURI(NAMESPACE, "long");
-        NegativeInteger = vf.createURI(NAMESPACE, "negativeInteger");
-        NonNegativeInteger = vf.createURI(NAMESPACE, "nonNegativeInteger");
-        NonPositiveInteger = vf.createURI(NAMESPACE, "nonPositiveInteger");
-        NormalizedString = vf.createURI(NAMESPACE, "normalizedString");
-        PositiveInteger = vf.createURI(NAMESPACE, "positiveInteger");
-        Short = vf.createURI(NAMESPACE, "short");
-        String = vf.createURI(NAMESPACE, "string");
-        Time = vf.createURI(NAMESPACE, "time");
-        Token = vf.createURI(NAMESPACE, "token");
-        UnsignedByte = vf.createURI(NAMESPACE, "unsignedByte");
-        UnsignedInt = vf.createURI(NAMESPACE, "unsignedInt");
-        UnsignedLong = vf.createURI(NAMESPACE, "unsignedLong");
-        UnsignedShort = vf.createURI(NAMESPACE, "unsignedShort");
-        YearMonthDuration = vf.createURI(NAMESPACE, "yearMonthDuration");
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/marmotta/blob/8d79b113/commons/marmotta-sesame-tools/marmotta-model-vocabs/pom.xml
----------------------------------------------------------------------
diff --git a/commons/marmotta-sesame-tools/marmotta-model-vocabs/pom.xml b/commons/marmotta-sesame-tools/marmotta-model-vocabs/pom.xml
new file mode 100644
index 0000000..8fb8e45
--- /dev/null
+++ b/commons/marmotta-sesame-tools/marmotta-model-vocabs/pom.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+        http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>org.apache.marmotta</groupId>
+        <artifactId>marmotta-parent</artifactId>
+        <version>3.2.0-SNAPSHOT</version>
+        <relativePath>../../../parent/</relativePath>
+    </parent>
+
+    <artifactId>marmotta-model-vocabs</artifactId>
+    <packaging>jar</packaging>
+
+    <name>Marmotta Sesame Tools: Common Vocabularies</name>
+
+    <description>Util-Methods to apply 'application/rdf-patch' changesets to Sesame</description>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.zeroturnaround</groupId>
+                <artifactId>jrebel-maven-plugin</artifactId>
+                <configuration>
+                    <relativePath>../../../</relativePath>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+
+    <dependencies>
+        <!-- data model -->
+        <dependency>
+            <groupId>org.openrdf.sesame</groupId>
+            <artifactId>sesame-model</artifactId>
+        </dependency>
+    </dependencies>
+</project>

http://git-wip-us.apache.org/repos/asf/marmotta/blob/8d79b113/commons/marmotta-sesame-tools/marmotta-model-vocabs/src/main/java/org/apache/marmotta/commons/vocabulary/DCTERMS.java
----------------------------------------------------------------------
diff --git a/commons/marmotta-sesame-tools/marmotta-model-vocabs/src/main/java/org/apache/marmotta/commons/vocabulary/DCTERMS.java b/commons/marmotta-sesame-tools/marmotta-model-vocabs/src/main/java/org/apache/marmotta/commons/vocabulary/DCTERMS.java
new file mode 100644
index 0000000..a694cc9
--- /dev/null
+++ b/commons/marmotta-sesame-tools/marmotta-model-vocabs/src/main/java/org/apache/marmotta/commons/vocabulary/DCTERMS.java
@@ -0,0 +1,619 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.marmotta.commons.vocabulary;
+
+import org.openrdf.model.URI;
+import org.openrdf.model.ValueFactory;
+import org.openrdf.model.impl.ValueFactoryImpl;
+
+/**
+ * Namespace DCTERMS
+ */
+public class DCTERMS {
+
+    public static final String NAMESPACE = "http://purl.org/dc/terms/";
+
+    public static final String PREFIX = "dcterms";
+
+    /**
+     * A resource that acts or has the power to act.
+     */
+    public static final URI Agent;
+
+    /**
+     * A group of agents.
+     */
+    public static final URI AgentClass;
+
+    /**
+     * A book, article, or other documentary resource.
+     */
+    public static final URI BibliographicResource;
+
+    /**
+     * The set of regions in space defined by their geographic coordinates according to the DCMI Box Encoding Scheme.
+     */
+    public static final URI Box;
+
+    /**
+     * The set of classes specified by the DCMI Type Vocabulary, used to categorize the nature or genre of the resource.
+     */
+    public static final URI DCMIType;
+
+    /**
+     * The set of conceptual resources specified by the Dewey Decimal Classification.
+     */
+    public static final URI DDC;
+
+    /**
+     * A digital resource format.
+     */
+    public static final URI FileFormat;
+
+    /**
+     * A rate at which something recurs.
+     */
+    public static final URI Frequency;
+
+    /**
+     * The set of media types specified by the Internet Assigned Numbers Authority.
+     */
+    public static final URI IMT;
+
+    /**
+     * The set of codes listed in ISO 3166-1 for the representation of names of countries.
+     */
+    public static final URI ISO3166;
+
+    /**
+     * The three-letter alphabetic codes listed in ISO639-2 for the representation of names of languages.
+     */
+    public static final URI ISO639_2;
+
+    /**
+     * The set of three-letter codes listed in ISO 639-3 for the representation of names of languages.
+     */
+    public static final URI ISO639_3;
+
+    /**
+     * The extent or range of judicial, law enforcement, or other authority.
+     */
+    public static final URI Jurisdiction;
+
+    /**
+     * The set of conceptual resources specified by the Library of Congress Classification.
+     */
+    public static final URI LCC;
+
+    /**
+     * The set of labeled concepts specified by the Library of Congress Subject Headings.
+     */
+    public static final URI LCSH;
+
+    /**
+     * A legal document giving official permission to do something with a Resource.
+     */
+    public static final URI LicenseDocument;
+
+    /**
+     * A system of signs, symbols, sounds, gestures, or rules used in communication.
+     */
+    public static final URI LinguisticSystem;
+
+    /**
+     * A spatial region or named place.
+     */
+    public static final URI Location;
+
+    /**
+     * A location, period of time, or jurisdiction.
+     */
+    public static final URI LocationPeriodOrJurisdiction;
+
+    /**
+     * The set of labeled concepts specified by the Medical Subject Headings.
+     */
+    public static final URI MESH;
+
+    /**
+     * A file format or physical medium.
+     */
+    public static final URI MediaType;
+
+    /**
+     * A media type or extent.
+     */
+    public static final URI MediaTypeOrExtent;
+
+    /**
+     * A method by which resources are added to a collection.
+     */
+    public static final URI MethodOfAccrual;
+
+    /**
+     * A process that is used to engender knowledge, attitudes, and skills.
+     */
+    public static final URI MethodOfInstruction;
+
+    /**
+     * The set of conceptual resources specified by the National Library of Medicine Classification.
+     */
+    public static final URI NLM;
+
+    /**
+     * The set of time intervals defined by their limits according to the DCMI Period Encoding Scheme.
+     */
+    public static final URI Period;
+
+    /**
+     * An interval of time that is named or defined by its start and end dates.
+     */
+    public static final URI PeriodOfTime;
+
+    /**
+     * A physical material or carrier.
+     */
+    public static final URI PhysicalMedium;
+
+    /**
+     * A material thing.
+     */
+    public static final URI PhysicalResource;
+
+    /**
+     * The set of points in space defined by their geographic coordinates according to the DCMI Point Encoding Scheme.
+     */
+    public static final URI Point;
+
+    /**
+     * A plan or course of action by an authority, intended to influence and determine decisions, actions, and other matters.
+     */
+    public static final URI Policy;
+
+    /**
+     * A statement of any changes in ownership and custody of a resource since its creation that are significant for its authenticity, integrity, and interpretation.
+     */
+    public static final URI ProvenanceStatement;
+
+    /**
+     * The set of tags, constructed according to RFC 1766, for the identification of languages.
+     */
+    public static final URI RFC1766;
+
+    /**
+     * The set of tags constructed according to RFC 3066 for the identification of languages.
+     */
+    public static final URI RFC3066;
+
+    /**
+     * The set of tags constructed according to RFC 4646 for the identification of languages.
+     */
+    public static final URI RFC4646;
+
+    /**
+     * A statement about the intellectual property rights (IPR) held in or over a Resource, a legal document giving official permission to do something with a resource, or a statement about access rights.
+     */
+    public static final URI RightsStatement;
+
+    /**
+     * A dimension or extent, or a time taken to play or execute.
+     */
+    public static final URI SizeOrDuration;
+
+    /**
+     * A basis for comparison; a reference point against which other things can be evaluated.
+     */
+    public static final URI Standard;
+
+    /**
+     * The set of places specified by the Getty Thesaurus of Geographic Names.
+     */
+    public static final URI TGN;
+
+    /**
+     * The set of conceptual resources specified by the Universal Decimal Classification.
+     */
+    public static final URI UDC;
+
+    /**
+     * The set of identifiers constructed according to the generic syntax for Uniform Resource Identifiers as specified by the Internet Engineering Task Force.
+     */
+    public static final URI URI;
+
+    /**
+     * The set of dates and times constructed according to the W3C Date and Time Formats Specification.
+     */
+    public static final URI W3CDTF;
+
+    /**
+     * A summary of the resource.
+     */
+    public static final URI abstract_;
+
+    /**
+     * Information about who can access the resource or an indication of its security status.
+     */
+    public static final URI accessRights;
+
+    /**
+     * The method by which items are added to a collection.
+     */
+    public static final URI accrualMethod;
+
+    /**
+     * The frequency with which items are added to a collection.
+     */
+    public static final URI accrualPeriodicity;
+
+    /**
+     * The policy governing the addition of items to a collection.
+     */
+    public static final URI accrualPolicy;
+
+    /**
+     * An alternative name for the resource.
+     */
+    public static final URI alternative;
+
+    /**
+     * A class of entity for whom the resource is intended or useful.
+     */
+    public static final URI audience;
+
+    /**
+     * Date (often a range) that the resource became or will become available.
+     */
+    public static final URI available;
+
+    /**
+     * A bibliographic reference for the resource.
+     */
+    public static final URI bibliographicCitation;
+
+    /**
+     * An established standard to which the described resource conforms.
+     */
+    public static final URI conformsTo;
+
+    /**
+     * An entity responsible for making contributions to the resource.
+     */
+    public static final URI contributor;
+
+    /**
+     * The spatial or temporal topic of the resource, the spatial applicability of the resource, or the jurisdiction under which the resource is relevant.
+     */
+    public static final URI coverage;
+
+    /**
+     * Date of creation of the resource.
+     */
+    public static final URI created;
+
+    /**
+     * An entity primarily responsible for making the resource.
+     */
+    public static final URI creator;
+
+    /**
+     * A point or period of time associated with an event in the lifecycle of the resource.
+     */
+    public static final URI date;
+
+    /**
+     * Date of acceptance of the resource.
+     */
+    public static final URI dateAccepted;
+
+    /**
+     * Date of copyright.
+     */
+    public static final URI dateCopyrighted;
+
+    /**
+     * Date of submission of the resource.
+     */
+    public static final URI dateSubmitted;
+
+    /**
+     * An account of the resource.
+     */
+    public static final URI description;
+
+    /**
+     * A class of entity, defined in terms of progression through an educational or training context, for which the described resource is intended.
+     */
+    public static final URI educationLevel;
+
+    /**
+     * The size or duration of the resource.
+     */
+    public static final URI extent;
+
+    /**
+     * The file format, physical medium, or dimensions of the resource.
+     */
+    public static final URI format;
+
+    /**
+     * A related resource that is substantially the same as the pre-existing described resource, but in another format.
+     */
+    public static final URI hasFormat;
+
+    /**
+     * A related resource that is included either physically or logically in the described resource.
+     */
+    public static final URI hasPart;
+
+    /**
+     * A related resource that is a version, edition, or adaptation of the described resource.
+     */
+    public static final URI hasVersion;
+
+    /**
+     * An unambiguous reference to the resource within a given context.
+     */
+    public static final URI identifier;
+
+    /**
+     * A process, used to engender knowledge, attitudes and skills, that the described resource is designed to support.
+     */
+    public static final URI instructionalMethod;
+
+    /**
+     * A related resource that is substantially the same as the described resource, but in another format.
+     */
+    public static final URI isFormatOf;
+
+    /**
+     * A related resource in which the described resource is physically or logically included.
+     */
+    public static final URI isPartOf;
+
+    /**
+     * A related resource that references, cites, or otherwise points to the described resource.
+     */
+    public static final URI isReferencedBy;
+
+    /**
+     * A related resource that supplants, displaces, or supersedes the described resource.
+     */
+    public static final URI isReplacedBy;
+
+    /**
+     * A related resource that requires the described resource to support its function, delivery, or coherence.
+     */
+    public static final URI isRequiredBy;
+
+    /**
+     * A related resource of which the described resource is a version, edition, or adaptation.
+     */
+    public static final URI isVersionOf;
+
+    /**
+     * Date of formal issuance (e.g., publication) of the resource.
+     */
+    public static final URI issued;
+
+    /**
+     * A language of the resource.
+     */
+    public static final URI language;
+
+    /**
+     * A legal document giving official permission to do something with the resource.
+     */
+    public static final URI license;
+
+    /**
+     * An entity that mediates access to the resource and for whom the resource is intended or useful.
+     */
+    public static final URI mediator;
+
+    /**
+     * The material or physical carrier of the resource.
+     */
+    public static final URI medium;
+
+    /**
+     * Date on which the resource was changed.
+     */
+    public static final URI modified;
+
+    /**
+     * A statement of any changes in ownership and custody of the resource since its creation that are significant for its authenticity, integrity, and interpretation.
+     */
+    public static final URI provenance;
+
+    /**
+     * An entity responsible for making the resource available.
+     */
+    public static final URI publisher;
+
+    /**
+     * A related resource that is referenced, cited, or otherwise pointed to by the described resource.
+     */
+    public static final URI references;
+
+    /**
+     * A related resource.
+     */
+    public static final URI relation;
+
+    /**
+     * A related resource that is supplanted, displaced, or superseded by the described resource.
+     */
+    public static final URI replaces;
+
+    /**
+     * A related resource that is required by the described resource to support its function, delivery, or coherence.
+     */
+    public static final URI requires;
+
+    /**
+     * Information about rights held in and over the resource.
+     */
+    public static final URI rights;
+
+    /**
+     * A person or organization owning or managing rights over the resource.
+     */
+    public static final URI rightsHolder;
+
+    /**
+     * A related resource from which the described resource is derived.
+     */
+    public static final URI source;
+
+    /**
+     * Spatial characteristics of the resource.
+     */
+    public static final URI spatial;
+
+    /**
+     * The topic of the resource.
+     */
+    public static final URI subject;
+
+    /**
+     * A list of subunits of the resource.
+     */
+    public static final URI tableOfContents;
+
+    /**
+     * Temporal characteristics of the resource.
+     */
+    public static final URI temporal;
+
+    /**
+     * A name given to the resource
+     */
+    public static final URI title;
+
+    /**
+     * The nature or genre of the resource.
+     */
+    public static final URI type;
+
+    /**
+     * Date (often a range) of validity of a resource.
+     */
+    public static final URI valid;
+
+
+    static{
+        ValueFactory factory = ValueFactoryImpl.getInstance();
+        Agent = factory.createURI(DCTERMS.NAMESPACE, "Agent");
+        AgentClass = factory.createURI(DCTERMS.NAMESPACE, "AgentClass");
+        BibliographicResource = factory.createURI(DCTERMS.NAMESPACE, "BibliographicResource");
+        Box = factory.createURI(DCTERMS.NAMESPACE, "Box");
+        DCMIType = factory.createURI(DCTERMS.NAMESPACE, "DCMIType");
+        DDC = factory.createURI(DCTERMS.NAMESPACE, "DDC");
+        FileFormat = factory.createURI(DCTERMS.NAMESPACE, "FileFormat");
+        Frequency = factory.createURI(DCTERMS.NAMESPACE, "Frequency");
+        IMT = factory.createURI(DCTERMS.NAMESPACE, "IMT");
+        ISO3166 = factory.createURI(DCTERMS.NAMESPACE, "ISO3166");
+        ISO639_2 = factory.createURI(DCTERMS.NAMESPACE, "ISO639_2");
+        ISO639_3 = factory.createURI(DCTERMS.NAMESPACE, "ISO639_3");
+        Jurisdiction = factory.createURI(DCTERMS.NAMESPACE, "Jurisdiction");
+        LCC = factory.createURI(DCTERMS.NAMESPACE, "LCC");
+        LCSH = factory.createURI(DCTERMS.NAMESPACE, "LCSH");
+        LicenseDocument = factory.createURI(DCTERMS.NAMESPACE, "LicenseDocument");
+        LinguisticSystem = factory.createURI(DCTERMS.NAMESPACE, "LinguisticSystem");
+        Location = factory.createURI(DCTERMS.NAMESPACE, "Location");
+        LocationPeriodOrJurisdiction = factory.createURI(DCTERMS.NAMESPACE, "LocationPeriodOrJurisdiction");
+        MESH = factory.createURI(DCTERMS.NAMESPACE, "MESH");
+        MediaType = factory.createURI(DCTERMS.NAMESPACE, "MediaType");
+        MediaTypeOrExtent = factory.createURI(DCTERMS.NAMESPACE, "MediaTypeOrExtent");
+        MethodOfAccrual = factory.createURI(DCTERMS.NAMESPACE, "MethodOfAccrual");
+        MethodOfInstruction = factory.createURI(DCTERMS.NAMESPACE, "MethodOfInstruction");
+        NLM = factory.createURI(DCTERMS.NAMESPACE, "NLM");
+        Period = factory.createURI(DCTERMS.NAMESPACE, "Period");
+        PeriodOfTime = factory.createURI(DCTERMS.NAMESPACE, "PeriodOfTime");
+        PhysicalMedium = factory.createURI(DCTERMS.NAMESPACE, "PhysicalMedium");
+        PhysicalResource = factory.createURI(DCTERMS.NAMESPACE, "PhysicalResource");
+        Point = factory.createURI(DCTERMS.NAMESPACE, "Point");
+        Policy = factory.createURI(DCTERMS.NAMESPACE, "Policy");
+        ProvenanceStatement = factory.createURI(DCTERMS.NAMESPACE, "ProvenanceStatement");
+        RFC1766 = factory.createURI(DCTERMS.NAMESPACE, "RFC1766");
+        RFC3066 = factory.createURI(DCTERMS.NAMESPACE, "RFC3066");
+        RFC4646 = factory.createURI(DCTERMS.NAMESPACE, "RFC4646");
+        RightsStatement = factory.createURI(DCTERMS.NAMESPACE, "RightsStatement");
+        SizeOrDuration = factory.createURI(DCTERMS.NAMESPACE, "SizeOrDuration");
+        Standard = factory.createURI(DCTERMS.NAMESPACE, "Standard");
+        TGN = factory.createURI(DCTERMS.NAMESPACE, "TGN");
+        UDC = factory.createURI(DCTERMS.NAMESPACE, "UDC");
+        URI = factory.createURI(DCTERMS.NAMESPACE, "URI");
+        W3CDTF = factory.createURI(DCTERMS.NAMESPACE, "W3CDTF");
+        abstract_ = factory.createURI(DCTERMS.NAMESPACE, "abstract");
+        accessRights = factory.createURI(DCTERMS.NAMESPACE, "accessRights");
+        accrualMethod = factory.createURI(DCTERMS.NAMESPACE, "accrualMethod");
+        accrualPeriodicity = factory.createURI(DCTERMS.NAMESPACE, "accrualPeriodicity");
+        accrualPolicy = factory.createURI(DCTERMS.NAMESPACE, "accrualPolicy");
+        alternative = factory.createURI(DCTERMS.NAMESPACE, "alternative");
+        audience = factory.createURI(DCTERMS.NAMESPACE, "audience");
+        available = factory.createURI(DCTERMS.NAMESPACE, "available");
+        bibliographicCitation = factory.createURI(DCTERMS.NAMESPACE, "bibliographicCitation");
+        conformsTo = factory.createURI(DCTERMS.NAMESPACE, "conformsTo");
+        contributor = factory.createURI(DCTERMS.NAMESPACE, "contributor");
+        coverage = factory.createURI(DCTERMS.NAMESPACE, "coverage");
+        created = factory.createURI(DCTERMS.NAMESPACE, "created");
+        creator = factory.createURI(DCTERMS.NAMESPACE, "creator");
+        date = factory.createURI(DCTERMS.NAMESPACE, "date");
+        dateAccepted = factory.createURI(DCTERMS.NAMESPACE, "dateAccepted");
+        dateCopyrighted = factory.createURI(DCTERMS.NAMESPACE, "dateCopyrighted");
+        dateSubmitted = factory.createURI(DCTERMS.NAMESPACE, "dateSubmitted");
+        description = factory.createURI(DCTERMS.NAMESPACE, "description");
+        educationLevel = factory.createURI(DCTERMS.NAMESPACE, "educationLevel");
+        extent = factory.createURI(DCTERMS.NAMESPACE, "extent");
+        format = factory.createURI(DCTERMS.NAMESPACE, "format");
+        hasFormat = factory.createURI(DCTERMS.NAMESPACE, "hasFormat");
+        hasPart = factory.createURI(DCTERMS.NAMESPACE, "hasPart");
+        hasVersion = factory.createURI(DCTERMS.NAMESPACE, "hasVersion");
+        identifier = factory.createURI(DCTERMS.NAMESPACE, "identifier");
+        instructionalMethod = factory.createURI(DCTERMS.NAMESPACE, "instructionalMethod");
+        isFormatOf = factory.createURI(DCTERMS.NAMESPACE, "isFormatOf");
+        isPartOf = factory.createURI(DCTERMS.NAMESPACE, "isPartOf");
+        isReferencedBy = factory.createURI(DCTERMS.NAMESPACE, "isReferencedBy");
+        isReplacedBy = factory.createURI(DCTERMS.NAMESPACE, "isReplacedBy");
+        isRequiredBy = factory.createURI(DCTERMS.NAMESPACE, "isRequiredBy");
+        isVersionOf = factory.createURI(DCTERMS.NAMESPACE, "isVersionOf");
+        issued = factory.createURI(DCTERMS.NAMESPACE, "issued");
+        language = factory.createURI(DCTERMS.NAMESPACE, "language");
+        license = factory.createURI(DCTERMS.NAMESPACE, "license");
+        mediator = factory.createURI(DCTERMS.NAMESPACE, "mediator");
+        medium = factory.createURI(DCTERMS.NAMESPACE, "medium");
+        modified = factory.createURI(DCTERMS.NAMESPACE, "modified");
+        provenance = factory.createURI(DCTERMS.NAMESPACE, "provenance");
+        publisher = factory.createURI(DCTERMS.NAMESPACE, "publisher");
+        references = factory.createURI(DCTERMS.NAMESPACE, "references");
+        relation = factory.createURI(DCTERMS.NAMESPACE, "relation");
+        replaces = factory.createURI(DCTERMS.NAMESPACE, "replaces");
+        requires = factory.createURI(DCTERMS.NAMESPACE, "requires");
+        rights = factory.createURI(DCTERMS.NAMESPACE, "rights");
+        rightsHolder = factory.createURI(DCTERMS.NAMESPACE, "rightsHolder");
+        source = factory.createURI(DCTERMS.NAMESPACE, "source");
+        spatial = factory.createURI(DCTERMS.NAMESPACE, "spatial");
+        subject = factory.createURI(DCTERMS.NAMESPACE, "subject");
+        tableOfContents = factory.createURI(DCTERMS.NAMESPACE, "tableOfContents");
+        temporal = factory.createURI(DCTERMS.NAMESPACE, "temporal");
+        title = factory.createURI(DCTERMS.NAMESPACE, "title");
+        type = factory.createURI(DCTERMS.NAMESPACE, "type");
+        valid = factory.createURI(DCTERMS.NAMESPACE, "valid");
+    }
+}


[05/10] MARMOTTA-448: moved vocabularies into a separate module: marmotta-model-vocabs. Also fixed some redundant dependencies.

Posted by ja...@apache.org.
http://git-wip-us.apache.org/repos/asf/marmotta/blob/8d79b113/commons/marmotta-sesame-tools/marmotta-model-vocabs/src/main/java/org/apache/marmotta/commons/vocabulary/SCHEMA.java
----------------------------------------------------------------------
diff --git a/commons/marmotta-sesame-tools/marmotta-model-vocabs/src/main/java/org/apache/marmotta/commons/vocabulary/SCHEMA.java b/commons/marmotta-sesame-tools/marmotta-model-vocabs/src/main/java/org/apache/marmotta/commons/vocabulary/SCHEMA.java
new file mode 100644
index 0000000..13c4379
--- /dev/null
+++ b/commons/marmotta-sesame-tools/marmotta-model-vocabs/src/main/java/org/apache/marmotta/commons/vocabulary/SCHEMA.java
@@ -0,0 +1,5810 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.marmotta.commons.vocabulary;
+
+import org.openrdf.model.URI;
+import org.openrdf.model.ValueFactory;
+import org.openrdf.model.impl.ValueFactoryImpl;
+
+/**
+ * Namespace SCHEMA
+ */
+public class SCHEMA {
+
+    public static final String NAMESPACE = "http://schema.org/";
+
+    public static final String PREFIX = "schema";
+
+    /**
+     * Web page type: About page. 
+     */
+    public static final URI AboutPage;
+
+    /**
+     * Accountancy business. 
+     */
+    public static final URI AccountingService;
+
+    /**
+     * A geographical region under the jurisdiction of a particular government. 
+     */
+    public static final URI AdministrativeArea;
+
+    /**
+     * An adult entertainment establishment. 
+     */
+    public static final URI AdultEntertainment;
+
+    /**
+     * When a single product that has different offers (for example, the same pair of shoes is offered by different merchants), then AggregateOffer can be used. 
+     */
+    public static final URI AggregateOffer;
+
+    /**
+     * The average rating based on multiple ratings or reviews. 
+     */
+    public static final URI AggregateRating;
+
+    /**
+     * An airport. 
+     */
+    public static final URI Airport;
+
+    /**
+     * An amusement park. 
+     */
+    public static final URI AmusementPark;
+
+    /**
+     * Any part of the human body, typically a component of an anatomical system. Organs, tissues, and cells are all anatomical structures. 
+     */
+    public static final URI AnatomicalStructure;
+
+    /**
+     * An anatomical system is a group of anatomical structures that work together to perform a certain task. Anatomical systems, such as organ systems, are one organizing principle of anatomy, and can includes circulatory, digestive, endocrine, integumentary, immune, lymphatic, muscular, nervous, reproductive, respiratory, skeletal, urinary, vestibular, and other systems. 
+     */
+    public static final URI AnatomicalSystem;
+
+    /**
+     * Animal shelter. 
+     */
+    public static final URI AnimalShelter;
+
+    /**
+     * Residence type: Apartment complex. 
+     */
+    public static final URI ApartmentComplex;
+
+    /**
+     * An indication for a medical therapy that has been formally specified or approved by a regulatory body that regulates use of the therapy; for example, the US FDA approves indications for most drugs in the US. 
+     */
+    public static final URI ApprovedIndication;
+
+    /**
+     * Aquarium. 
+     */
+    public static final URI Aquarium;
+
+    /**
+     * An art gallery. 
+     */
+    public static final URI ArtGallery;
+
+    /**
+     * A type of blood vessel that specifically carries blood away from the heart. 
+     */
+    public static final URI Artery;
+
+    /**
+     * An article, such as a news article or piece of investigative report. Newspapers and magazines have articles of many different types and this is intended to cover them all. 
+     */
+    public static final URI Article;
+
+    /**
+     * Professional service: Attorney. 
+     */
+    public static final URI Attorney;
+
+    /**
+     * Intended audience for a creative work, i.e. the group for whom the work was created. 
+     */
+    public static final URI Audience;
+
+    /**
+     * An audio file. 
+     */
+    public static final URI AudioObject;
+
+    /**
+     * Auto body shop. 
+     */
+    public static final URI AutoBodyShop;
+
+    /**
+     * An car dealership. 
+     */
+    public static final URI AutoDealer;
+
+    /**
+     * An auto parts store. 
+     */
+    public static final URI AutoPartsStore;
+
+    /**
+     * A car rental business. 
+     */
+    public static final URI AutoRental;
+
+    /**
+     * Car repair business. 
+     */
+    public static final URI AutoRepair;
+
+    /**
+     * A car wash business. 
+     */
+    public static final URI AutoWash;
+
+    /**
+     * ATM/cash machine. 
+     */
+    public static final URI AutomatedTeller;
+
+    /**
+     * Car repair, sales, or parts. 
+     */
+    public static final URI AutomotiveBusiness;
+
+    /**
+     * A bakery. 
+     */
+    public static final URI Bakery;
+
+    /**
+     * Bank or credit union. 
+     */
+    public static final URI BankOrCreditUnion;
+
+    /**
+     * A bar or pub. 
+     */
+    public static final URI BarOrPub;
+
+    /**
+     * Beach. 
+     */
+    public static final URI Beach;
+
+    /**
+     * Beauty salon. 
+     */
+    public static final URI BeautySalon;
+
+    /**
+     * Bed and breakfast. 
+     */
+    public static final URI BedAndBreakfast;
+
+    /**
+     * A bike store. 
+     */
+    public static final URI BikeStore;
+
+    /**
+     * A blog 
+     */
+    public static final URI Blog;
+
+    /**
+     * A blog post. 
+     */
+    public static final URI BlogPosting;
+
+    /**
+     * A medical test performed on a sample of a patient's blood. 
+     */
+    public static final URI BloodTest;
+
+    /**
+     * A body of water, such as a sea, ocean, or lake. 
+     */
+    public static final URI BodyOfWater;
+
+    /**
+     * Rigid connective tissue that comprises up the skeletal structure of the human body. 
+     */
+    public static final URI Bone;
+
+    /**
+     * A book. 
+     */
+    public static final URI Book;
+
+    /**
+     * The publication format of the book. 
+     */
+    public static final URI BookFormatType;
+
+    /**
+     * A bookstore. 
+     */
+    public static final URI BookStore;
+
+    /**
+     * A bowling alley. 
+     */
+    public static final URI BowlingAlley;
+
+    /**
+     * Any anatomical structure which pertains to the soft nervous tissue functioning as the coordinating center of sensation and intellectual and nervous activity. 
+     */
+    public static final URI BrainStructure;
+
+    /**
+     * A brand is a name used by an organization or business person for labeling a product, product group, or similar. 
+     */
+    public static final URI Brand;
+
+    /**
+     * Brewery. 
+     */
+    public static final URI Brewery;
+
+    /**
+     * A Buddhist temple. 
+     */
+    public static final URI BuddhistTemple;
+
+    /**
+     * A bus station. 
+     */
+    public static final URI BusStation;
+
+    /**
+     * A bus stop. 
+     */
+    public static final URI BusStop;
+
+    /**
+     * A business entity type is a conceptual entity representing the legal form, the size, the main line of business, the position in the value chain, or any combination thereof, of an organization or business person.
+
+     Commonly used values:
+
+     http://purl.org/goodrelations/v1#Business
+     http://purl.org/goodrelations/v1#Enduser
+     http://purl.org/goodrelations/v1#PublicInstitution
+     http://purl.org/goodrelations/v1#Reseller 
+     */
+    public static final URI BusinessEntityType;
+
+    /**
+     * Event type: Business event. 
+     */
+    public static final URI BusinessEvent;
+
+    /**
+     * The business function specifies the type of activity or access (i.e., the bundle of rights) offered by the organization or business person through the offer. Typical are sell, rental or lease, maintenance or repair, manufacture / produce, recycle / dispose, engineering / construction, or installation. Proprietary specifications of access rights are also instances of this class.
+
+     Commonly used values:
+
+     http://purl.org/goodrelations/v1#ConstructionInstallation
+     http://purl.org/goodrelations/v1#Dispose
+     http://purl.org/goodrelations/v1#LeaseOut
+     http://purl.org/goodrelations/v1#Maintain
+     http://purl.org/goodrelations/v1#ProvideService
+     http://purl.org/goodrelations/v1#Repair
+     http://purl.org/goodrelations/v1#Sell
+     http://purl.org/goodrelations/v1#Buy 
+     */
+    public static final URI BusinessFunction;
+
+    /**
+     * A cafe or coffee shop. 
+     */
+    public static final URI CafeOrCoffeeShop;
+
+    /**
+     * A campground. 
+     */
+    public static final URI Campground;
+
+    /**
+     * A canal, like the Panama Canal 
+     */
+    public static final URI Canal;
+
+    /**
+     * A casino. 
+     */
+    public static final URI Casino;
+
+    /**
+     * A Catholic church. 
+     */
+    public static final URI CatholicChurch;
+
+    /**
+     * A graveyard. 
+     */
+    public static final URI Cemetery;
+
+    /**
+     * Web page type: Checkout page. 
+     */
+    public static final URI CheckoutPage;
+
+    /**
+     * A Childcare center. 
+     */
+    public static final URI ChildCare;
+
+    /**
+     * Event type: Children's event. 
+     */
+    public static final URI ChildrensEvent;
+
+    /**
+     * A church. 
+     */
+    public static final URI Church;
+
+    /**
+     * A city or town. 
+     */
+    public static final URI City;
+
+    /**
+     * A city hall. 
+     */
+    public static final URI CityHall;
+
+    /**
+     * A public structure, such as a town hall or concert hall. 
+     */
+    public static final URI CivicStructure;
+
+    /**
+     * A clothing store. 
+     */
+    public static final URI ClothingStore;
+
+    /**
+     * Web page type: Collection page. 
+     */
+    public static final URI CollectionPage;
+
+    /**
+     * A college, university, or other third-level educational institution. 
+     */
+    public static final URI CollegeOrUniversity;
+
+    /**
+     * A comedy club. 
+     */
+    public static final URI ComedyClub;
+
+    /**
+     * Event type: Comedy event. 
+     */
+    public static final URI ComedyEvent;
+
+    /**
+     * A comment on an item - for example, a comment on a blog post. The comment's content is expressed via the "text" property, and its topic via "about", properties shared with all CreativeWorks. 
+     */
+    public static final URI Comment;
+
+    /**
+     * A computer store. 
+     */
+    public static final URI ComputerStore;
+
+    /**
+     * Web page type: Contact page. 
+     */
+    public static final URI ContactPage;
+
+    /**
+     * A contact point—for example, a Customer Complaints department. 
+     */
+    public static final URI ContactPoint;
+
+    /**
+     * One of the continents (for example, Europe or Africa). 
+     */
+    public static final URI Continent;
+
+    /**
+     * A convenience store. 
+     */
+    public static final URI ConvenienceStore;
+
+    /**
+     * Organization: A business corporation. 
+     */
+    public static final URI Corporation;
+
+    /**
+     * A country. 
+     */
+    public static final URI Country;
+
+    /**
+     * A courthouse. 
+     */
+    public static final URI Courthouse;
+
+    /**
+     * The most generic kind of creative work, including books, movies, photographs, software programs, etc. 
+     */
+    public static final URI CreativeWork;
+
+    /**
+     * A credit or debit card type as a standardized procedure for transferring the monetary amount for a purchase.
+
+     Commonly used values:
+
+     http://purl.org/goodrelations/v1#AmericanExpress
+     http://purl.org/goodrelations/v1#DinersClub
+     http://purl.org/goodrelations/v1#Discover
+     http://purl.org/goodrelations/v1#JCB
+     http://purl.org/goodrelations/v1#MasterCard
+     http://purl.org/goodrelations/v1#VISA 
+     */
+    public static final URI CreditCard;
+
+    /**
+     * A crematorium. 
+     */
+    public static final URI Crematorium;
+
+    /**
+     * An alternative, closely-related condition typically considered later in the differential diagnosis process along with the signs that are used to distinguish it. 
+     */
+    public static final URI DDxElement;
+
+    /**
+     * Event type: A social dance. 
+     */
+    public static final URI DanceEvent;
+
+    /**
+     * A dance group—for example, the Alvin Ailey Dance Theater or Riverdance. 
+     */
+    public static final URI DanceGroup;
+
+    /**
+     * The day of the week, e.g. used to specify to which day the opening hours of an OpeningHoursSpecification refer.
+
+     Commonly used values:
+
+     http://purl.org/goodrelations/v1#Monday
+     http://purl.org/goodrelations/v1#Tuesday
+     http://purl.org/goodrelations/v1#Wednesday
+     http://purl.org/goodrelations/v1#Thursday
+     http://purl.org/goodrelations/v1#Friday
+     http://purl.org/goodrelations/v1#Saturday
+     http://purl.org/goodrelations/v1#Sunday
+     http://purl.org/goodrelations/v1#PublicHolidays 
+     */
+    public static final URI DayOfWeek;
+
+    /**
+     * A day spa. 
+     */
+    public static final URI DaySpa;
+
+    /**
+     * A defence establishment, such as an army or navy base. 
+     */
+    public static final URI DefenceEstablishment;
+
+    /**
+     * The price for the delivery of an offer using a particular delivery method. 
+     */
+    public static final URI DeliveryChargeSpecification;
+
+    /**
+     * A delivery method is a standardized procedure for transferring the product or service to the destination of fulfilment chosen by the customer. Delivery methods are characterized by the means of transportation used, and by the organization or group that is the contracting party for the sending organization or person.
+
+     Commonly used values:
+
+     http://purl.org/goodrelations/v1#DeliveryModeDirectDownload
+     http://purl.org/goodrelations/v1#DeliveryModeFreight
+     http://purl.org/goodrelations/v1#DeliveryModeMail
+     http://purl.org/goodrelations/v1#DeliveryModeOwnFleet
+     http://purl.org/goodrelations/v1#DeliveryModePickUp
+     http://purl.org/goodrelations/v1#DHL
+     http://purl.org/goodrelations/v1#FederalExpress
+     http://purl.org/goodrelations/v1#UPS 
+     */
+    public static final URI DeliveryMethod;
+
+    /**
+     * A demand entity represents the public, not necessarily binding, not necessarily exclusive, announcement by an organization or person to seek a certain type of goods or services. For describing demand using this type, the very same properties used for Offer apply. 
+     */
+    public static final URI Demand;
+
+    /**
+     * A dentist. 
+     */
+    public static final URI Dentist;
+
+    /**
+     * A department store. 
+     */
+    public static final URI DepartmentStore;
+
+    /**
+     * A medical laboratory that offers on-site or off-site diagnostic services. 
+     */
+    public static final URI DiagnosticLab;
+
+    /**
+     * A medical procedure intended primarly for diagnostic, as opposed to therapeutic, purposes. 
+     */
+    public static final URI DiagnosticProcedure;
+
+    /**
+     * A strategy of regulating the intake of food to achieve or maintain a specific health-related goal. 
+     */
+    public static final URI Diet;
+
+    /**
+     * A product taken by mouth that contains a dietary ingredient intended to supplement the diet. Dietary ingredients may include vitamins, minerals, herbs or other botanicals, amino acids, and substances such as enzymes, organ tissues, glandulars and metabolites. 
+     */
+    public static final URI DietarySupplement;
+
+    /**
+     * Properties that take Distances as values are of the form '<Number> <Length unit of measure>'. E.g., '7 ft' 
+     */
+    public static final URI Distance;
+
+    /**
+     * A specific dosing schedule for a drug or supplement. 
+     */
+    public static final URI DoseSchedule;
+
+    /**
+     * A chemical or biologic substance, used as a medical therapy, that has a physiological effect on an organism. 
+     */
+    public static final URI Drug;
+
+    /**
+     * A class of medical drugs, e.g., statins. Classes can represent general pharmacological class, common mechanisms of action, common physiological effects, etc. 
+     */
+    public static final URI DrugClass;
+
+    /**
+     * The cost per unit of a medical drug. Note that this type is not meant to represent the price in an offer of a drug for sale; see the Offer type for that. This type will typically be used to tag wholesale or average retail cost of a drug, or maximum reimbursable cost. Costs of medical drugs vary widely depending on how and where they are paid for, so while this type captures some of the variables, costs should be used with caution by consumers of this schema's markup. 
+     */
+    public static final URI DrugCost;
+
+    /**
+     * Enumerated categories of medical drug costs. 
+     */
+    public static final URI DrugCostCategory;
+
+    /**
+     * The legal availability status of a medical drug. 
+     */
+    public static final URI DrugLegalStatus;
+
+    /**
+     * Categories that represent an assessment of the risk of fetal injury due to a drug or pharmaceutical used as directed by the mother during pregnancy. 
+     */
+    public static final URI DrugPregnancyCategory;
+
+    /**
+     * Indicates whether this drug is available by prescription or over-the-counter. 
+     */
+    public static final URI DrugPrescriptionStatus;
+
+    /**
+     * A specific strength in which a medical drug is available in a specific country. 
+     */
+    public static final URI DrugStrength;
+
+    /**
+     * A dry-cleaning business. 
+     */
+    public static final URI DryCleaningOrLaundry;
+
+    /**
+     * Quantity: Duration (use  ISO 8601 duration format). 
+     */
+    public static final URI Duration;
+
+    /**
+     * Event type: Education event. 
+     */
+    public static final URI EducationEvent;
+
+    /**
+     * An educational organization. 
+     */
+    public static final URI EducationalOrganization;
+
+    /**
+     * An electrician. 
+     */
+    public static final URI Electrician;
+
+    /**
+     * An electronics store. 
+     */
+    public static final URI ElectronicsStore;
+
+    /**
+     * An elementary school. 
+     */
+    public static final URI ElementarySchool;
+
+    /**
+     * An embassy. 
+     */
+    public static final URI Embassy;
+
+    /**
+     * An emergency service, such as a fire station or ER. 
+     */
+    public static final URI EmergencyService;
+
+    /**
+     * An employment agency. 
+     */
+    public static final URI EmploymentAgency;
+
+    /**
+     * Properties that take Enerygy as values are of the form '<Number> <Energy unit of measure>' 
+     */
+    public static final URI Energy;
+
+    /**
+     * A business providing entertainment. 
+     */
+    public static final URI EntertainmentBusiness;
+
+    /**
+     * Lists or enumerations—for example, a list of cuisines or music genres, etc. 
+     */
+    public static final URI Enumeration;
+
+    /**
+     * An event happening at a certain time at a certain location. 
+     */
+    public static final URI Event;
+
+    /**
+     * An event venue. 
+     */
+    public static final URI EventVenue;
+
+    /**
+     * A gym. 
+     */
+    public static final URI ExerciseGym;
+
+    /**
+     * Fitness-related activity designed for a specific health-related purpose, including defined exercise routines as well as activity prescribed by a clinician. 
+     */
+    public static final URI ExercisePlan;
+
+    /**
+     * A fast-food restaurant. 
+     */
+    public static final URI FastFoodRestaurant;
+
+    /**
+     * Event type: Festival. 
+     */
+    public static final URI Festival;
+
+    /**
+     * Financial services business. 
+     */
+    public static final URI FinancialService;
+
+    /**
+     * A fire station. With firemen. 
+     */
+    public static final URI FireStation;
+
+    /**
+     * A florist. 
+     */
+    public static final URI Florist;
+
+    /**
+     * A food-related business. 
+     */
+    public static final URI FoodEstablishment;
+
+    /**
+     * Event type: Food event. 
+     */
+    public static final URI FoodEvent;
+
+    /**
+     * A furniture store. 
+     */
+    public static final URI FurnitureStore;
+
+    /**
+     * A garden store. 
+     */
+    public static final URI GardenStore;
+
+    /**
+     * A gas station. 
+     */
+    public static final URI GasStation;
+
+    /**
+     * Residence type: Gated community. 
+     */
+    public static final URI GatedResidenceCommunity;
+
+    /**
+     * A general contractor. 
+     */
+    public static final URI GeneralContractor;
+
+    /**
+     * The geographic coordinates of a place or event. 
+     */
+    public static final URI GeoCoordinates;
+
+    /**
+     * The geographic shape of a place. 
+     */
+    public static final URI GeoShape;
+
+    /**
+     * A golf course. 
+     */
+    public static final URI GolfCourse;
+
+    /**
+     * A government building. 
+     */
+    public static final URI GovernmentBuilding;
+
+    /**
+     * A government office—for example, an IRS or DMV office. 
+     */
+    public static final URI GovernmentOffice;
+
+    /**
+     * A governmental organization or agency. 
+     */
+    public static final URI GovernmentOrganization;
+
+    /**
+     * A grocery store. 
+     */
+    public static final URI GroceryStore;
+
+    /**
+     * An HVAC service. 
+     */
+    public static final URI HVACBusiness;
+
+    /**
+     * A hair salon. 
+     */
+    public static final URI HairSalon;
+
+    /**
+     * A hardware store. 
+     */
+    public static final URI HardwareStore;
+
+    /**
+     * Health and beauty. 
+     */
+    public static final URI HealthAndBeautyBusiness;
+
+    /**
+     * A health club. 
+     */
+    public static final URI HealthClub;
+
+    /**
+     * A high school. 
+     */
+    public static final URI HighSchool;
+
+    /**
+     * A Hindu temple. 
+     */
+    public static final URI HinduTemple;
+
+    /**
+     * A hobby store. 
+     */
+    public static final URI HobbyShop;
+
+    /**
+     * A construction business. 
+     */
+    public static final URI HomeAndConstructionBusiness;
+
+    /**
+     * A home goods store. 
+     */
+    public static final URI HomeGoodsStore;
+
+    /**
+     * A hospital. 
+     */
+    public static final URI Hospital;
+
+    /**
+     * A hostel. 
+     */
+    public static final URI Hostel;
+
+    /**
+     * A hotel. 
+     */
+    public static final URI Hotel;
+
+    /**
+     * A house painting service. 
+     */
+    public static final URI HousePainter;
+
+    /**
+     * An ice cream shop 
+     */
+    public static final URI IceCreamShop;
+
+    /**
+     * Web page type: Image gallery page. 
+     */
+    public static final URI ImageGallery;
+
+    /**
+     * An image file. 
+     */
+    public static final URI ImageObject;
+
+    /**
+     * Any medical imaging modality typically used for diagnostic purposes. 
+     */
+    public static final URI ImagingTest;
+
+    /**
+     * A single, identifiable product instance (e.g. a laptop with a particular serial number). 
+     */
+    public static final URI IndividualProduct;
+
+    /**
+     * Classes of agents or pathogens that transmit infectious diseases. Enumerated type. 
+     */
+    public static final URI InfectiousAgentClass;
+
+    /**
+     * An infectious disease is a clinically evident human disease resulting from the presence of pathogenic microbial agents, like pathogenic viruses, pathogenic bacteria, fungi, protozoa, multicellular parasites, and prions. To be considered an infectious disease, such pathogens are known to be able to cause this disease. 
+     */
+    public static final URI InfectiousDisease;
+
+    /**
+     * Insurance agency. 
+     */
+    public static final URI InsuranceAgency;
+
+    /**
+     * A utility class that serves as the umbrella for a number of 'intangible' things such as quantities, structured values, etc. 
+     */
+    public static final URI Intangible;
+
+    /**
+     * An internet cafe. 
+     */
+    public static final URI InternetCafe;
+
+    /**
+     * A list of possible product availablity options. 
+     */
+    public static final URI ItemAvailability;
+
+    /**
+     * A list of items of any sort—for example, Top 10 Movies About Weathermen, or Top 100 Party Songs. Not to be confused with HTML lists, which are often used only for formatting. 
+     */
+    public static final URI ItemList;
+
+    /**
+     * A page devoted to a single item, such as a particular product or hotel. 
+     */
+    public static final URI ItemPage;
+
+    /**
+     * A jewelry store. 
+     */
+    public static final URI JewelryStore;
+
+    /**
+     * A listing that describes a job opening in a certain organization. 
+     */
+    public static final URI JobPosting;
+
+    /**
+     * The anatomical location at which two or more bones make contact. 
+     */
+    public static final URI Joint;
+
+    /**
+     * A lake (for example, Lake Pontrachain). 
+     */
+    public static final URI LakeBodyOfWater;
+
+    /**
+     * A landform or physical feature.  Landform elements include mountains, plains, lakes, rivers, seascape and oceanic waterbody interface features such as bays, peninsulas, seas and so forth, including sub-aqueous terrain features such as submersed mountain ranges, volcanoes, and the great ocean basins. 
+     */
+    public static final URI Landform;
+
+    /**
+     * An historical landmark or building. 
+     */
+    public static final URI LandmarksOrHistoricalBuildings;
+
+    /**
+     * Natural languages such as Spanish, Tamil, Hindi, English, etc. and programming languages such as Scheme and Lisp. 
+     */
+    public static final URI Language;
+
+    /**
+     * A legislative building—for example, the state capitol. 
+     */
+    public static final URI LegislativeBuilding;
+
+    /**
+     * A library. 
+     */
+    public static final URI Library;
+
+    /**
+     * A process of care involving exercise, changes to diet, fitness routines, and other lifestyle changes aimed at improving a health condition. 
+     */
+    public static final URI LifestyleModification;
+
+    /**
+     * A short band of tough, flexible, fibrous connective tissue that functions to connect multiple bones, cartilages, and structurally support joints. 
+     */
+    public static final URI Ligament;
+
+    /**
+     * A liquor store. 
+     */
+    public static final URI LiquorStore;
+
+    /**
+     * Event type: Literary event. 
+     */
+    public static final URI LiteraryEvent;
+
+    /**
+     * A particular physical business or branch of an organization. Examples of LocalBusiness include a restaurant, a particular branch of a restaurant chain, a branch of a bank, a medical practice, a club, a bowling alley, etc. 
+     */
+    public static final URI LocalBusiness;
+
+    /**
+     * A locksmith. 
+     */
+    public static final URI Locksmith;
+
+    /**
+     * A lodging business, such as a motel, hotel, or inn. 
+     */
+    public static final URI LodgingBusiness;
+
+    /**
+     * A type of blood vessel that specifically carries lymph fluid unidirectionally toward the heart. 
+     */
+    public static final URI LymphaticVessel;
+
+    /**
+     * A map. 
+     */
+    public static final URI Map;
+
+    /**
+     * Properties that take Mass as values are of the form '<Number> <Mass unit of measure>'. E.g., '7 kg' 
+     */
+    public static final URI Mass;
+
+    /**
+     * The maximum dosing schedule considered safe for a drug or supplement as recommended by an authority or by the drug/supplement's manufacturer. Capture the recommending authority in the recognizingAuthority property of MedicalEntity. 
+     */
+    public static final URI MaximumDoseSchedule;
+
+    /**
+     * An image, video, or audio object embedded in a web page. Note that a creative work may have many media objects associated with it on the same web page. For example, a page about a single song (MusicRecording) may have a music video (VideoObject), and a high and low bandwidth audio stream (2 AudioObject's). 
+     */
+    public static final URI MediaObject;
+
+    /**
+     * Target audiences for medical web pages. Enumerated type. 
+     */
+    public static final URI MedicalAudience;
+
+    /**
+     * The causative agent(s) that are responsible for the pathophysiologic process that eventually results in a medical condition, symptom or sign. In this schema, unless otherwise specified this is meant to be the proximate cause of the medical condition, symptom or sign. The proximate cause is defined as the causative agent that most directly results in the medical condition, symptom or sign. For example, the HIV virus could be considered a cause of AIDS. Or in a diagnostic context, if a patient fell and sustained a hip fracture and two days later sustained a pulmonary embolism which eventuated in a cardiac arrest, the cause of the cardiac arrest (the proximate cause) would be the pulmonary embolism and not the fall. Medical causes can include cardiovascular, chemical, dermatologic, endocrine, environmental, gastroenterologic, genetic, hematologic, gynecologic, iatrogenic, infectious, musculoskeletal, neurologic, nutritional, obstetric, oncologic, otolaryngologic, pharmacologic, 
 psychiatric, pulmonary, renal, rheumatologic, toxic, traumatic, or urologic causes; medical conditions can be causes as well. 
+     */
+    public static final URI MedicalCause;
+
+    /**
+     * A medical clinic. 
+     */
+    public static final URI MedicalClinic;
+
+    /**
+     * A code for a medical entity. 
+     */
+    public static final URI MedicalCode;
+
+    /**
+     * Any condition of the human body that affects the normal functioning of a person, whether physically or mentally. Includes diseases, injuries, disabilities, disorders, syndromes, etc. 
+     */
+    public static final URI MedicalCondition;
+
+    /**
+     * A stage of a medical condition, such as 'Stage IIIa'. 
+     */
+    public static final URI MedicalConditionStage;
+
+    /**
+     * A condition or factor that serves as a reason to withhold a certain medical therapy. Contraindications can be absolute (there are no reasonable circumstances for undertaking a course of action) or relative (the patient is at higher risk of complications, but that these risks may be outweighed by other considerations or mitigated by other measures). 
+     */
+    public static final URI MedicalContraindication;
+
+    /**
+     * Any object used in a medical capacity, such as to diagnose or treat a patient. 
+     */
+    public static final URI MedicalDevice;
+
+    /**
+     * Categories of medical devices, organized by the purpose or intended use of the device. 
+     */
+    public static final URI MedicalDevicePurpose;
+
+    /**
+     * The most generic type of entity related to health and the practice of medicine. 
+     */
+    public static final URI MedicalEntity;
+
+    /**
+     * Enumerations related to health and the practice of medicine. 
+     */
+    public static final URI MedicalEnumeration;
+
+    /**
+     * Level of evidence for a medical guideline. Enumerated type. 
+     */
+    public static final URI MedicalEvidenceLevel;
+
+    /**
+     * Any recommendation made by a standard society (e.g. ACC/AHA) or consensus statement that denotes how to diagnose and treat a particular condition. Note: this type should be used to tag the actual guideline recommendation; if the guideline recommendation occurs in a larger scholarly article, use MedicalScholarlyArticle to tag the overall article, not this type. Note also: the organization making the recommendation should be captured in the recognizingAuthority base property of MedicalEntity. 
+     */
+    public static final URI MedicalGuideline;
+
+    /**
+     * A guideline contraindication that designates a process as harmful and where quality of the data supporting the contraindication is sound. 
+     */
+    public static final URI MedicalGuidelineContraindication;
+
+    /**
+     * A guideline recommendation that is regarded as efficacious and where quality of the data supporting the recommendation is sound. 
+     */
+    public static final URI MedicalGuidelineRecommendation;
+
+    /**
+     * Any medical imaging modality typically used for diagnostic purposes. Enumerated type. 
+     */
+    public static final URI MedicalImagingTechnique;
+
+    /**
+     * A condition or factor that indicates use of a medical therapy, including signs, symptoms, risk factors, anatomical states, etc. 
+     */
+    public static final URI MedicalIndication;
+
+    /**
+     * A utility class that serves as the umbrella for a number of 'intangible' things in the medical space. 
+     */
+    public static final URI MedicalIntangible;
+
+    /**
+     * An observational study is a type of medical study that attempts to infer the possible effect of a treatment through observation of a cohort of subjects over a period of time. In an observational study, the assignment of subjects into treatment groups versus control groups is outside the control of the investigator. This is in contrast with controlled studies, such as the randomized controlled trials represented by MedicalTrial, where each subject is randomly assigned to a treatment group or a control group before the start of the treatment. 
+     */
+    public static final URI MedicalObservationalStudy;
+
+    /**
+     * Design models for observational medical studies. Enumerated type. 
+     */
+    public static final URI MedicalObservationalStudyDesign;
+
+    /**
+     * A medical organization, such as a doctor's office or clinic. 
+     */
+    public static final URI MedicalOrganization;
+
+    /**
+     * A process of care used in either a diagnostic, therapeutic, or palliative capacity that relies on invasive (surgical), non-invasive, or percutaneous techniques. 
+     */
+    public static final URI MedicalProcedure;
+
+    /**
+     * An enumeration that describes different types of medical procedures. 
+     */
+    public static final URI MedicalProcedureType;
+
+    /**
+     * A complex mathematical calculation requiring an online calculator, used to assess prognosis. Note: use the url property of Thing to record any URLs for online calculators. 
+     */
+    public static final URI MedicalRiskCalculator;
+
+    /**
+     * Any rule set or interactive tool for estimating the risk of developing a complication or condition. 
+     */
+    public static final URI MedicalRiskEstimator;
+
+    /**
+     * A risk factor is anything that increases a person's likelihood of developing or contracting a disease, medical condition, or complication. 
+     */
+    public static final URI MedicalRiskFactor;
+
+    /**
+     * A simple system that adds up the number of risk factors to yield a score that is associated with prognosis, e.g. CHAD score, TIMI risk score. 
+     */
+    public static final URI MedicalRiskScore;
+
+    /**
+     * A scholarly article in the medical domain. 
+     */
+    public static final URI MedicalScholarlyArticle;
+
+    /**
+     * Any physical manifestation of a person's medical condition discoverable by objective diagnostic tests or physical examination. 
+     */
+    public static final URI MedicalSign;
+
+    /**
+     * Any indication of the existence of a medical condition or disease. 
+     */
+    public static final URI MedicalSignOrSymptom;
+
+    /**
+     * Any specific branch of medical science or practice. Medical specialities include clinical specialties that pertain to particular organ systems and their respective disease states, as well as allied health specialties. Enumerated type. 
+     */
+    public static final URI MedicalSpecialty;
+
+    /**
+     * A medical study is an umbrella type covering all kinds of research studies relating to human medicine or health, including observational studies and interventional trials and registries, randomized, controlled or not. When the specific type of study is known, use one of the extensions of this type, such as MedicalTrial or MedicalObservationalStudy. Also, note that this type should be used to mark up data that describes the study itself; to tag an article that publishes the results of a study, use MedicalScholarlyArticle. Note: use the code property of MedicalEntity to store study IDs, e.g. clinicaltrials.gov ID. 
+     */
+    public static final URI MedicalStudy;
+
+    /**
+     * The status of a medical study. Enumerated type. 
+     */
+    public static final URI MedicalStudyStatus;
+
+    /**
+     * Any indication of the existence of a medical condition or disease that is apparent to the patient. 
+     */
+    public static final URI MedicalSymptom;
+
+    /**
+     * Any medical test, typically performed for diagnostic purposes. 
+     */
+    public static final URI MedicalTest;
+
+    /**
+     * Any collection of tests commonly ordered together. 
+     */
+    public static final URI MedicalTestPanel;
+
+    /**
+     * Any medical intervention designed to prevent, treat, and cure human diseases and medical conditions, including both curative and palliative therapies. Medical therapies are typically processes of care relying upon pharmacotherapy, behavioral therapy, supportive therapy (with fluid or nutrition for example), or detoxification (e.g. hemodialysis) aimed at improving or preventing a health condition. 
+     */
+    public static final URI MedicalTherapy;
+
+    /**
+     * A medical trial is a type of medical study that uses scientific process used to compare the safety and efficacy of medical therapies or medical procedures. In general, medical trials are controlled and subjects are allocated at random to the different treatment and/or control groups. 
+     */
+    public static final URI MedicalTrial;
+
+    /**
+     * Design models for medical trials. Enumerated type. 
+     */
+    public static final URI MedicalTrialDesign;
+
+    /**
+     * A web page that provides medical information. 
+     */
+    public static final URI MedicalWebPage;
+
+    /**
+     * Systems of medical practice. 
+     */
+    public static final URI MedicineSystem;
+
+    /**
+     * A men's clothing store. 
+     */
+    public static final URI MensClothingStore;
+
+    /**
+     * A middle school. 
+     */
+    public static final URI MiddleSchool;
+
+    /**
+     * A mobile software application. 
+     */
+    public static final URI MobileApplication;
+
+    /**
+     * A mobile-phone store. 
+     */
+    public static final URI MobilePhoneStore;
+
+    /**
+     * A mosque. 
+     */
+    public static final URI Mosque;
+
+    /**
+     * A motel. 
+     */
+    public static final URI Motel;
+
+    /**
+     * A motorcycle dealer. 
+     */
+    public static final URI MotorcycleDealer;
+
+    /**
+     * A motorcycle repair shop. 
+     */
+    public static final URI MotorcycleRepair;
+
+    /**
+     * A mountain, like Mount Whitney or Mount Everest 
+     */
+    public static final URI Mountain;
+
+    /**
+     * A movie. 
+     */
+    public static final URI Movie;
+
+    /**
+     * A movie rental store. 
+     */
+    public static final URI MovieRentalStore;
+
+    /**
+     * A movie theater. 
+     */
+    public static final URI MovieTheater;
+
+    /**
+     * A moving company. 
+     */
+    public static final URI MovingCompany;
+
+    /**
+     * A muscle is an anatomical structure consisting of a contractile form of tissue that animals use to effect movement. 
+     */
+    public static final URI Muscle;
+
+    /**
+     * A museum. 
+     */
+    public static final URI Museum;
+
+    /**
+     * A collection of music tracks. 
+     */
+    public static final URI MusicAlbum;
+
+    /**
+     * Event type: Music event. 
+     */
+    public static final URI MusicEvent;
+
+    /**
+     * A musical group, such as a band, an orchestra, or a choir. Can also be a solo musician. 
+     */
+    public static final URI MusicGroup;
+
+    /**
+     * A collection of music tracks in playlist form. 
+     */
+    public static final URI MusicPlaylist;
+
+    /**
+     * A music recording (track), usually a single song. 
+     */
+    public static final URI MusicRecording;
+
+    /**
+     * A music store. 
+     */
+    public static final URI MusicStore;
+
+    /**
+     * A music venue. 
+     */
+    public static final URI MusicVenue;
+
+    /**
+     * A music video file. 
+     */
+    public static final URI MusicVideoObject;
+
+    /**
+     * Organization: Non-governmental Organization. 
+     */
+    public static final URI NGO;
+
+    /**
+     * A nail salon. 
+     */
+    public static final URI NailSalon;
+
+    /**
+     * A common pathway for the electrochemical nerve impulses that are transmitted along each of the axons. 
+     */
+    public static final URI Nerve;
+
+    /**
+     * A news article 
+     */
+    public static final URI NewsArticle;
+
+    /**
+     * A nightclub or discotheque. 
+     */
+    public static final URI NightClub;
+
+    /**
+     * A notary. 
+     */
+    public static final URI Notary;
+
+    /**
+     * Nutritional information about the recipe. 
+     */
+    public static final URI NutritionInformation;
+
+    /**
+     * An ocean (for example, the Pacific). 
+     */
+    public static final URI OceanBodyOfWater;
+
+    /**
+     * An offer to sell an item—for example, an offer to sell a product, the DVD of a movie, or tickets to an event. 
+     */
+    public static final URI Offer;
+
+    /**
+     * A list of possible conditions for the item for sale. 
+     */
+    public static final URI OfferItemCondition;
+
+    /**
+     * An office equipment store. 
+     */
+    public static final URI OfficeEquipmentStore;
+
+    /**
+     * A structured value providing information about the opening hours of a place or a certain service inside a place. 
+     */
+    public static final URI OpeningHoursSpecification;
+
+    /**
+     * An optician's store. 
+     */
+    public static final URI Optician;
+
+    /**
+     * An organization such as a school, NGO, corporation, club, etc. 
+     */
+    public static final URI Organization;
+
+    /**
+     * An outlet store. 
+     */
+    public static final URI OutletStore;
+
+    /**
+     * A structured value providing information about when a certain organization or person owned a certain product. 
+     */
+    public static final URI OwnershipInfo;
+
+    /**
+     * A painting. 
+     */
+    public static final URI Painting;
+
+    /**
+     * A medical procedure intended primarly for palliative purposes, aimed at relieving the symptoms of an underlying health condition. 
+     */
+    public static final URI PalliativeProcedure;
+
+    /**
+     * A private parcel service as the delivery mode available for a certain offer.
+
+     Commonly used values:
+
+     http://purl.org/goodrelations/v1#DHL
+     http://purl.org/goodrelations/v1#FederalExpress
+     http://purl.org/goodrelations/v1#UPS 
+     */
+    public static final URI ParcelService;
+
+    /**
+     * A park. 
+     */
+    public static final URI Park;
+
+    /**
+     * A parking lot or other parking facility. 
+     */
+    public static final URI ParkingFacility;
+
+    /**
+     * A medical test performed by a laboratory that typically involves examination of a tissue sample by a pathologist. 
+     */
+    public static final URI PathologyTest;
+
+    /**
+     * A pawnstore. 
+     */
+    public static final URI PawnShop;
+
+    /**
+     * The costs of settling the payment using a particular payment method. 
+     */
+    public static final URI PaymentChargeSpecification;
+
+    /**
+     * A payment method is a standardized procedure for transferring the monetary amount for a purchase. Payment methods are characterized by the legal and technical structures used, and by the organization or group carrying out the transaction.
+
+     Commonly used values:
+
+     http://purl.org/goodrelations/v1#ByBankTransferInAdvance
+     http://purl.org/goodrelations/v1#ByInvoice
+     http://purl.org/goodrelations/v1#Cash
+     http://purl.org/goodrelations/v1#CheckInAdvance
+     http://purl.org/goodrelations/v1#COD
+     http://purl.org/goodrelations/v1#DirectDebit
+     http://purl.org/goodrelations/v1#GoogleCheckout
+     http://purl.org/goodrelations/v1#PayPal
+     http://purl.org/goodrelations/v1#PaySwarm 
+     */
+    public static final URI PaymentMethod;
+
+    /**
+     * A theatre or other performing art center. 
+     */
+    public static final URI PerformingArtsTheater;
+
+    /**
+     * A performance group, such as a band, an orchestra, or a circus. 
+     */
+    public static final URI PerformingGroup;
+
+    /**
+     * A person (alive, dead, undead, or fictional). 
+     */
+    public static final URI Person;
+
+    /**
+     * A pet store. 
+     */
+    public static final URI PetStore;
+
+    /**
+     * A pharmacy or drugstore. 
+     */
+    public static final URI Pharmacy;
+
+    /**
+     * A photograph. 
+     */
+    public static final URI Photograph;
+
+    /**
+     * Any bodily activity that enhances or maintains physical fitness and overall health and wellness. Includes activity that is part of daily living and routine, structured exercise, and exercise prescribed as part of a medical treatment or recovery plan. 
+     */
+    public static final URI PhysicalActivity;
+
+    /**
+     * Categories of physical activity, organized by physiologic classification. 
+     */
+    public static final URI PhysicalActivityCategory;
+
+    /**
+     * A type of physical examination of a patient performed by a physician. Enumerated type. 
+     */
+    public static final URI PhysicalExam;
+
+    /**
+     * A process of progressive physical care and rehabilitation aimed at improving a health condition. 
+     */
+    public static final URI PhysicalTherapy;
+
+    /**
+     * A doctor's office. 
+     */
+    public static final URI Physician;
+
+    /**
+     * Entities that have a somewhat fixed, physical extension. 
+     */
+    public static final URI Place;
+
+    /**
+     * Place of worship, such as a church, synagogue, or mosque. 
+     */
+    public static final URI PlaceOfWorship;
+
+    /**
+     * A playground. 
+     */
+    public static final URI Playground;
+
+    /**
+     * A plumbing service. 
+     */
+    public static final URI Plumber;
+
+    /**
+     * A police station. 
+     */
+    public static final URI PoliceStation;
+
+    /**
+     * A pond 
+     */
+    public static final URI Pond;
+
+    /**
+     * A post office. 
+     */
+    public static final URI PostOffice;
+
+    /**
+     * The mailing address. 
+     */
+    public static final URI PostalAddress;
+
+    /**
+     * A preschool. 
+     */
+    public static final URI Preschool;
+
+    /**
+     * An indication for preventing an underlying condition, symptom, etc. 
+     */
+    public static final URI PreventionIndication;
+
+    /**
+     * A structured value representing a monetary amount. Typically, only the subclasses of this type are used for markup. 
+     */
+    public static final URI PriceSpecification;
+
+    /**
+     * A product is anything that is made available for sale—for example, a pair of shoes, a concert ticket, or a car. Commodity services, like haircuts, can also be represented using this type. 
+     */
+    public static final URI Product;
+
+    /**
+     * A datasheet or vendor specification of a product (in the sense of a prototypical description). 
+     */
+    public static final URI ProductModel;
+
+    /**
+     * Provider of professional services. 
+     */
+    public static final URI ProfessionalService;
+
+    /**
+     * Web page type: Profile page. 
+     */
+    public static final URI ProfilePage;
+
+    /**
+     * A process of care relying upon counseling, dialogue, communication, verbalization aimed at improving a mental health condition. 
+     */
+    public static final URI PsychologicalTreatment;
+
+    /**
+     * A public swimming pool. 
+     */
+    public static final URI PublicSwimmingPool;
+
+    /**
+     * A predefined value for a product characteristic, e.g. the the power cord plug type "US" or the garment sizes "S", "M", "L", and "XL" 
+     */
+    public static final URI QualitativeValue;
+
+    /**
+     * A point value or interval for product characteristics and other purposes. 
+     */
+    public static final URI QuantitativeValue;
+
+    /**
+     * Quantities such as distance, time, mass, weight, etc. Particular instances of say Mass are entities like '3 Kg' or '4 milligrams'. 
+     */
+    public static final URI Quantity;
+
+    /**
+     * An RV park. 
+     */
+    public static final URI RVPark;
+
+    /**
+     * A process of care using radiation aimed at improving a health condition. 
+     */
+    public static final URI RadiationTherapy;
+
+    /**
+     * A radio station. 
+     */
+    public static final URI RadioStation;
+
+    /**
+     * The rating of the video. 
+     */
+    public static final URI Rating;
+
+    /**
+     * A real-estate agent. 
+     */
+    public static final URI RealEstateAgent;
+
+    /**
+     * A recipe. 
+     */
+    public static final URI Recipe;
+
+    /**
+     * A recommended dosing schedule for a drug or supplement as prescribed or recommended by an authority or by the drug/supplement's manufacturer. Capture the recommending authority in the recognizingAuthority property of MedicalEntity. 
+     */
+    public static final URI RecommendedDoseSchedule;
+
+    /**
+     * A recycling center. 
+     */
+    public static final URI RecyclingCenter;
+
+    /**
+     * A patient-reported or observed dosing schedule for a drug or supplement. 
+     */
+    public static final URI ReportedDoseSchedule;
+
+    /**
+     * A reservoir, like the Lake Kariba reservoir. 
+     */
+    public static final URI Reservoir;
+
+    /**
+     * The place where a person lives. 
+     */
+    public static final URI Residence;
+
+    /**
+     * A restaurant. 
+     */
+    public static final URI Restaurant;
+
+    /**
+     * A review of an item - for example, a restaurant, movie, or store. 
+     */
+    public static final URI Review;
+
+    /**
+     * A river (for example, the broad majestic Shannon). 
+     */
+    public static final URI RiverBodyOfWater;
+
+    /**
+     * A roofing contractor. 
+     */
+    public static final URI RoofingContractor;
+
+    /**
+     * Event type: Sales event. 
+     */
+    public static final URI SaleEvent;
+
+    /**
+     * A scholarly article. 
+     */
+    public static final URI ScholarlyArticle;
+
+    /**
+     * A school. 
+     */
+    public static final URI School;
+
+    /**
+     * A piece of sculpture. 
+     */
+    public static final URI Sculpture;
+
+    /**
+     * A sea (for example, the Caspian sea). 
+     */
+    public static final URI SeaBodyOfWater;
+
+    /**
+     * Web page type: Search results page. 
+     */
+    public static final URI SearchResultsPage;
+
+    /**
+     * Self-storage facility. 
+     */
+    public static final URI SelfStorage;
+
+    /**
+     * A shoe store. 
+     */
+    public static final URI ShoeStore;
+
+    /**
+     * A shopping center or mall. 
+     */
+    public static final URI ShoppingCenter;
+
+    /**
+     * Residence type: Single-family home. 
+     */
+    public static final URI SingleFamilyResidence;
+
+    /**
+     * A navigation element of the page. 
+     */
+    public static final URI SiteNavigationElement;
+
+    /**
+     * A ski resort. 
+     */
+    public static final URI SkiResort;
+
+    /**
+     * Event type: Social event. 
+     */
+    public static final URI SocialEvent;
+
+    /**
+     * A software application. 
+     */
+    public static final URI SoftwareApplication;
+
+    /**
+     * A placeholder for multiple similar products of the same kind. 
+     */
+    public static final URI SomeProducts;
+
+    /**
+     * Any branch of a field in which people typically develop specific expertise, usually after significant study, time, and effort. 
+     */
+    public static final URI Specialty;
+
+    /**
+     * A sporting goods store. 
+     */
+    public static final URI SportingGoodsStore;
+
+    /**
+     * A sports location, such as a playing field. 
+     */
+    public static final URI SportsActivityLocation;
+
+    /**
+     * A sports club. 
+     */
+    public static final URI SportsClub;
+
+    /**
+     * Event type: Sports event. 
+     */
+    public static final URI SportsEvent;
+
+    /**
+     * Organization: Sports team. 
+     */
+    public static final URI SportsTeam;
+
+    /**
+     * A stadium. 
+     */
+    public static final URI StadiumOrArena;
+
+    /**
+     * A state or province. 
+     */
+    public static final URI State;
+
+    /**
+     * A retail good store. 
+     */
+    public static final URI Store;
+
+    /**
+     * Structured values are strings—for example, addresses—that have certain constraints on their structure. 
+     */
+    public static final URI StructuredValue;
+
+    /**
+     * A subway station. 
+     */
+    public static final URI SubwayStation;
+
+    /**
+     * Anatomical features that can be observed by sight (without dissection), including the form and proportions of the human body as well as surface landmarks that correspond to deeper subcutaneous structures. Superficial anatomy plays an important role in sports medicine, phlebotomy, and other medical specialties as underlying anatomical structures can be identified through surface palpation. For example, during back surgery, superficial anatomy can be used to palpate and count vertebrae to find the site of incision. Or in phlebotomy, superficial anatomy can be used to locate an underlying vein; for example, the median cubital vein can be located by palpating the borders of the cubital fossa (such as the epicondyles of the humerus) and then looking for the superficial signs of the vein, such as size, prominence, ability to refill after depression, and feel of surrounding tissue support. As another example, in a subluxation (dislocation) of the glenohumeral joint, the bony structu
 re becomes pronounced with the deltoid muscle failing to cover the glenohumeral joint allowing the edges of the scapula to be superficially visible. Here, the superficial anatomy is the visible edges of the scapula, implying the underlying dislocation of the joint (the related anatomical structure). 
+     */
+    public static final URI SuperficialAnatomy;
+
+    /**
+     * A synagogue. 
+     */
+    public static final URI Synagogue;
+
+    /**
+     * An episode of a TV series or season. 
+     */
+    public static final URI TVEpisode;
+
+    /**
+     * A TV season. 
+     */
+    public static final URI TVSeason;
+
+    /**
+     * A television series. 
+     */
+    public static final URI TVSeries;
+
+    /**
+     * A table on the page. 
+     */
+    public static final URI Table;
+
+    /**
+     * A tattoo parlor. 
+     */
+    public static final URI TattooParlor;
+
+    /**
+     * A taxi stand. 
+     */
+    public static final URI TaxiStand;
+
+    /**
+     * A television station. 
+     */
+    public static final URI TelevisionStation;
+
+    /**
+     * A tennis complex. 
+     */
+    public static final URI TennisComplex;
+
+    /**
+     * Event type: Theater performance. 
+     */
+    public static final URI TheaterEvent;
+
+    /**
+     * A theater group or company—for example, the Royal Shakespeare Company or Druid Theatre. 
+     */
+    public static final URI TheaterGroup;
+
+    /**
+     * A medical procedure intended primarly for therapeutic purposes, aimed at improving a health condition. 
+     */
+    public static final URI TherapeuticProcedure;
+
+    /**
+     * The most generic type of item. 
+     */
+    public static final URI Thing;
+
+    /**
+     * A tire shop. 
+     */
+    public static final URI TireShop;
+
+    /**
+     * A tourist attraction. 
+     */
+    public static final URI TouristAttraction;
+
+    /**
+     * A tourist information center. 
+     */
+    public static final URI TouristInformationCenter;
+
+    /**
+     * A toystore. 
+     */
+    public static final URI ToyStore;
+
+    /**
+     * A train station. 
+     */
+    public static final URI TrainStation;
+
+    /**
+     * A travel agency. 
+     */
+    public static final URI TravelAgency;
+
+    /**
+     * An indication for treating an underlying condition, symptom, etc. 
+     */
+    public static final URI TreatmentIndication;
+
+    /**
+     * A structured value indicating the quantity, unit of measurement, and business function of goods included in a bundle offer. 
+     */
+    public static final URI TypeAndQuantityNode;
+
+    /**
+     * The price asked for a given offer by the respective organization or person. 
+     */
+    public static final URI UnitPriceSpecification;
+
+    /**
+     * User interaction: Block this content. 
+     */
+    public static final URI UserBlocks;
+
+    /**
+     * User interaction: Check-in at a place. 
+     */
+    public static final URI UserCheckins;
+
+    /**
+     * The UserInteraction event in which a user comments on an item. 
+     */
+    public static final URI UserComments;
+
+    /**
+     * User interaction: Download of an item. 
+     */
+    public static final URI UserDownloads;
+
+    /**
+     * A user interacting with a page 
+     */
+    public static final URI UserInteraction;
+
+    /**
+     * User interaction: Like an item. 
+     */
+    public static final URI UserLikes;
+
+    /**
+     * User interaction: Visit to a web page. 
+     */
+    public static final URI UserPageVisits;
+
+    /**
+     * User interaction: Play count of an item, for example a video or a song. 
+     */
+    public static final URI UserPlays;
+
+    /**
+     * User interaction: +1. 
+     */
+    public static final URI UserPlusOnes;
+
+    /**
+     * User interaction: Tweets. 
+     */
+    public static final URI UserTweets;
+
+    /**
+     * A type of blood vessel that specifically carries blood to the heart. 
+     */
+    public static final URI Vein;
+
+    /**
+     * A component of the human body circulatory system comprised of an intricate network of hollow tubes that transport blood throughout the entire body. 
+     */
+    public static final URI Vessel;
+
+    /**
+     * A vet's office. 
+     */
+    public static final URI VeterinaryCare;
+
+    /**
+     * Web page type: Video gallery page. 
+     */
+    public static final URI VideoGallery;
+
+    /**
+     * A video file. 
+     */
+    public static final URI VideoObject;
+
+    /**
+     * Event type: Visual arts event. 
+     */
+    public static final URI VisualArtsEvent;
+
+    /**
+     * A volcano, like Fuji san 
+     */
+    public static final URI Volcano;
+
+    /**
+     * An advertising section of the page. 
+     */
+    public static final URI WPAdBlock;
+
+    /**
+     * The footer section of the page. 
+     */
+    public static final URI WPFooter;
+
+    /**
+     * The header section of the page. 
+     */
+    public static final URI WPHeader;
+
+    /**
+     * A sidebar section of the page. 
+     */
+    public static final URI WPSideBar;
+
+    /**
+     * A structured value representing the duration and scope of services that will be provided to a customer free of charge in case of a defect or malfunction of a product. 
+     */
+    public static final URI WarrantyPromise;
+
+    /**
+     * A range of of services that will be provided to a customer free of charge in case of a defect or malfunction of a product.
+
+     Commonly used values:
+
+     http://purl.org/goodrelations/v1#Labor-BringIn
+     http://purl.org/goodrelations/v1#PartsAndLabor-BringIn
+     http://purl.org/goodrelations/v1#PartsAndLabor-PickUp 
+     */
+    public static final URI WarrantyScope;
+
+    /**
+     * A waterfall, like Niagara 
+     */
+    public static final URI Waterfall;
+
+    /**
+     * Web applications. 
+     */
+    public static final URI WebApplication;
+
+    /**
+     * A web page. Every web page is implicitly assumed to be declared to be of type WebPage, so the various properties about that webpage, such as breadcrumb may be used. We recommend explicit declaration if these properties are specified, but if they are found outside of an itemscope, they will be assumed to be about the page 
+     */
+    public static final URI WebPage;
+
+    /**
+     * A web page element, like a table or an image 
+     */
+    public static final URI WebPageElement;
+
+    /**
+     * A wholesale store. 
+     */
+    public static final URI WholesaleStore;
+
+    /**
+     * A winery. 
+     */
+    public static final URI Winery;
+
+    /**
+     * A zoo. 
+     */
+    public static final URI Zoo;
+
+    /**
+     * The subject matter of the content. 
+     */
+    public static final URI about;
+
+    /**
+     * The payment method(s) accepted by seller for this offer. 
+     */
+    public static final URI acceptedPaymentMethod;
+
+    /**
+     * Either Yes/No, or a URL at which reservations can be made. 
+     */
+    public static final URI acceptsReservations;
+
+    /**
+     * Specifies the Person that is legally accountable for the CreativeWork. 
+     */
+    public static final URI accountablePerson;
+
+    /**
+     * The organization or person from which the product was acquired. 
+     */
+    public static final URI acquiredFrom;
+
+    /**
+     * The movement the muscle generates. 
+     */
+    public static final URI action;
+
+    /**
+     * An active ingredient, typically chemical compounds and/or biologic substances. 
+     */
+    public static final URI activeIngredient;
+
+    /**
+     * Length of time to engage in the activity. 
+     */
+    public static final URI activityDuration;
+
+    /**
+     * How often one should engage in the activity. 
+     */
+    public static final URI activityFrequency;
+
+    /**
+     * A cast member of the movie, TV series, season, or episode, or video. 
+     */
+    public static final URI actor;
+
+    /**
+     * A cast member of the movie, TV series, season, or episode, or video. (legacy spelling; see singular form, actor) 
+     */
+    public static final URI actors;
+
+    /**
+     * An additional offer that can only be obtained in combination with the first base offer (e.g. supplements and extensions that are available for a surcharge). 
+     */
+    public static final URI addOn;
+
+    /**
+     * An additional name for a Person, can be used for a middle name. 
+     */
+    public static final URI additionalName;
+
+    /**
+     * An additional type for the item, typically used for adding more specific types from external vocabularies in microdata syntax. This is a relationship between something and a class that the thing is in. In RDFa syntax, it is better to use the native RDFa syntax - the 'typeof' attribute - for multiple types. Schema.org tools may have only weaker understanding of extra types, in particular those defined externally. 
+     */
+    public static final URI additionalType;
+
+    /**
+     * Any additional component of the exercise prescription that may need to be articulated to the patient. This may include the order of exercises, the number of repetitions of movement, quantitative distance, progressions over time, etc. 
+     */
+    public static final URI additionalVariable;
+
+    /**
+     * Physical address of the item. 
+     */
+    public static final URI address;
+
+    /**
+     * The country. For example, USA. You can also provide the two-letter ISO 3166-1 alpha-2 country code. 
+     */
+    public static final URI addressCountry;
+
+    /**
+     * The locality. For example, Mountain View. 
+     */
+    public static final URI addressLocality;
+
+    /**
+     * The region. For example, CA. 
+     */
+    public static final URI addressRegion;
+
+    /**
+     * A route by which this drug may be administered, e.g. 'oral'. 
+     */
+    public static final URI administrationRoute;
+
+    /**
+     * The amount of time that is required between accepting the offer and the actual usage of the resource or service. 
+     */
+    public static final URI advanceBookingRequirement;
+
+    /**
+     * A possible complication and/or side effect of this therapy. If it is known that an adverse outcome is serious (resulting in death, disability, or permanent damage; requiring hospitalization; or is otherwise life-threatening or requires immediate medical attention), tag it as a seriouseAdverseOutcome instead. 
+     */
+    public static final URI adverseOutcome;
+
+    /**
+     * Drugs that affect the test's results. 
+     */
+    public static final URI affectedBy;
+
+    /**
+     * An organization that this person is affiliated with. For example, a school/university, a club, or a team. 
+     */
+    public static final URI affiliation;
+
+    /**
+     * The overall rating, based on a collection of reviews or ratings, of the item. 
+     */
+    public static final URI aggregateRating;
+
+    /**
+     * A music album. 
+     */
+    public static final URI album;
+
+    /**
+     * A collection of music albums (legacy spelling; see singular form, album). 
+     */
+    public static final URI albums;
+
+    /**
+     * Any precaution, guidance, contraindication, etc. related to consumption of alcohol while taking this drug. 
+     */
+    public static final URI alcoholWarning;
+
+    /**
+     * The algorithm or rules to follow to compute the score. 
+     */
+    public static final URI algorithm;
+
+    /**
+     * Any alternate name for this medical entity. 
+     */
+    public static final URI alternateName;
+
+    /**
+     * A secondary title of the CreativeWork. 
+     */
+    public static final URI alternativeHeadline;
+
+    /**
+     * Alumni of educational organization. 
+     */
+    public static final URI alumni;
+
+    /**
+     * An educational organizations that the person is an alumni of. 
+     */
+    public static final URI alumniOf;
+
+    /**
+     * The quantity of the goods included in the offer. 
+     */
+    public static final URI amountOfThisGood;
+
+    /**
+     * The muscle whose action counteracts the specified muscle. 
+     */
+    public static final URI antagonist;
+
+    /**
+     * The location in which the status applies. 
+     */
+    public static final URI applicableLocation;
+
+    /**
+     * Type of software application, e.g. "Game, Multimedia". 
+     */
+    public static final URI applicationCategory;
+
+    /**
+     * Subcategory of the application, e.g. "Arcade Game". 
+     */
+    public static final URI applicationSubCategory;
+
+    /**
+     * The name of the application suite to which the application belongs (e.g. Excel belongs to Office) 
+     */
+    public static final URI applicationSuite;
+
+    /**
+     * The delivery method(s) to which the delivery charge or payment charge specification applies. 
+     */
+    public static final URI appliesToDeliveryMethod;
+
+    /**
+     * The payment method(s) to which the payment charge specification applies. 
+     */
+    public static final URI appliesToPaymentMethod;
+
+    /**
+     * The branches that comprise the arterial structure. 
+     */
+    public static final URI arterialBranch;
+
+    /**
+     * The actual body of the article. 
+     */
+    public static final URI articleBody;
+
+    /**
+     * Articles may belong to one or more 'sections' in a magazine or newspaper, such as Sports, Lifestyle, etc. 
+     */
+    public static final URI articleSection;
+
+    /**
+     * An aspect of medical practice that is considered on the page, such as 'diagnosis', 'treatment', 'causes', 'prognosis', 'etiology', 'epidemiology', etc. 
+     */
+    public static final URI aspect;
+
+    /**
+     * The anatomy of the underlying organ system or structures associated with this entity. 
+     */
+    public static final URI associatedAnatomy;
+
+    /**
+     * A NewsArticle associated with the Media Object. 
+     */
+    public static final URI associatedArticle;
+
+    /**
+     * The media objects that encode this creative work. This property is a synonym for encodings. 
+     */
+    public static final URI associatedMedia;
+
+    /**
+     * If applicable, a description of the pathophysiology associated with the anatomical system, including potential abnormal changes in the mechanical, physical, and biochemical functions of the system. 
+     */
+    public static final URI associatedPathophysiology;
+
+    /**
+     * A person or organization attending the event. 
+     */
+    public static final URI attendee;
+
+    /**
+     * A person attending the event (legacy spelling; see singular form, attendee). 
+     */
+    public static final URI attendees;
+
+    /**
+     * The intended audience of the work, i.e. the group for whom the work was created. 
+     */
+    public static final URI audience;
+
+    /**
+     * An embedded audio object. 
+     */
+    public static final URI audio;
+
+    /**
+     * The author of this content. Please note that author is special in that HTML 5 provides a special mechanism for indicating authorship via the rel tag. That is equivalent to this and may be used interchangeably. 
+     */
+    public static final URI author;
+
+    /**
+     * The availability of this item—for example In stock, Out of stock, Pre-order, etc. 
+     */
+    public static final URI availability;
+
+    /**
+     * The end of the availability of the product or service included in the offer. 
+     */
+    public static final URI availabilityEnds;
+
+    /**
+     * The beginning of the availability of the product or service included in the offer. 
+     */
+    public static final URI availabilityStarts;
+
+    /**
+     * The place(s) from which the offer can be obtained (e.g. store locations). 
+     */
+    public static final URI availableAtOrFrom;
+
+    /**
+     * The delivery method(s) available for this offer. 
+     */
+    public static final URI availableDeliveryMethod;
+
+    /**
+     * The location in which the strength is available. 
+     */
+    public static final URI availableIn;
+
+    /**
+     * A medical service available from this provider. 
+     */
+    public static final URI availableService;
+
+    /**
+     * An available dosage strength for the drug. 
+     */
+    public static final URI availableStrength;
+
+    /**
+     * A diagnostic test or procedure offered by this lab. 
+     */
+    public static final URI availableTest;
+
+    /**
+     * An award won by this person or for this creative work. 
+     */
+    public static final URI award;
+
+    /**
+     * Awards won by this person or for this creative work. (legacy spelling; see singular form, award) 
+     */
+    public static final URI awards;
+
+    /**
+     * Descriptive information establishing a historical perspective on the supplement. May include the rationale for the name, the population where the supplement first came to prominence, etc. 
+     */
+    public static final URI background;
+
+    /**
+     * The base salary of the job. 
+     */
+    public static final URI baseSalary;
+
+    /**
+     * Description of benefits associated with the job. 
+     */
+    public static final URI benefits;
+
+    /**
+     * The highest value allowed in this rating system. If bestRating is omitted, 5 is assumed. 
+     */
+    public static final URI bestRating;
+
+    /**
+     * This property specifies the minimal quantity and rounding increment that will be the basis for the billing. The unit of measurement is specified by the unitCode property. 
+     */
+    public static final URI billingIncrement;
+
+    /**
+     * The biomechanical properties of the bone. 
+     */
+    public static final URI biomechnicalClass;
+
+    /**
+     * Date of birth. 
+     */
+    public static final URI birthDate;
+
+    /**
+     * The bitrate of the media object. 
+     */
+    public static final URI bitrate;
+
+    /**
+     * A posting that is part of this blog. 
+     */
+    public static final URI blogPost;
+
+    /**
+     * The postings that are part of this blog (legacy spelling; see singular form, blogPost). 
+     */
+    public static final URI blogPosts;
+
+    /**
+     * The blood vessel that carries blood from the heart to the muscle. 
+     */
+    public static final URI bloodSupply;
+
+    /**
+     * Location in the body of the anatomical structure. 
+     */
+    public static final URI bodyLocation;
+
+    /**
+     * The edition of the book. 
+     */
+    public static final URI bookEdition;
+
+    /**
+     * The format of the book. 
+     */
+    public static final URI bookFormat;
+
+    /**
+     * A polygon is the area enclosed by a point-to-point path for which the starting and ending points are the same. A polygon is expressed as a series of four or more spacedelimited points where the first and final points are identical. 
+     */
+    public static final URI box;
+
+    /**
+     * The branches that delineate from the nerve bundle. 
+     */
+    public static final URI branch;
+
+    /**
+     * The larger organization that this local business is a branch of, if any. 
+     */
+    public static final URI branchOf;
+
+    /**
+     * The brand(s) associated with a product or service, or the brand(s) maintained by an organization or business person. 
+     */
+    public static final URI brand;
+
+    /**
+     * A set of links that can help a user understand and navigate a website hierarchy. 
+     */
+    public static final URI breadcrumb;
+
+    /**
+     * Any precaution, guidance, contraindication, etc. related to this drug's use by breastfeeding mothers. 
+     */
+    public static final URI breastfeedingWarning;
+
+    /**
+     * Specifies browser requirements in human-readable text. For example,"requires HTML5 support". 
+     */
+    public static final URI browserRequirements;
+
+    /**
+     * The business function (e.g. sell, lease, repair, dispose) of the offer or component of a bundle (TypeAndQuantityNode). The default is http://purl.org/goodrelations/v1#Sell. 
+     */
+    public static final URI businessFunction;
+
+    /**
+     * The artist that performed this album or recording. 
+     */
+    public static final URI byArtist;
+
+    /**
+     * The number of calories 
+     */
+    public static final URI calories;
+
+    /**
+     * The caption for this object. 
+     */
+    public static final URI caption;
+
+    /**
+     * The number of grams of carbohydrates. 
+     */
+    public static final URI carbohydrateContent;
+
+    /**
+     * Specifies specific carrier(s) requirements for the application (e.g. an application may only work on a specific carrier network). 
+     */
+    public static final URI carrierRequirements;
+
+    /**
+     * A category for the item. Greater signs or slashes can be used to informally indicate a category hierarchy. 
+     */
+    public static final URI category;
+
+    /**
+     * An underlying cause. More specifically, one of the causative agent(s) that are most directly responsible for the pathophysiologic process that eventually results in the occurrence. 
+     */
+    public static final URI cause;
+
+    /**
+     * The condition, complication, symptom, sign, etc. caused. 
+     */
+    public static final URI causeOf;
+
+    /**
+     * A child of the person. 
+     */
+    public static final URI children;
+
+    /**
+     * The number of milligrams of cholesterol. 
+     */
+    public static final URI cholesterolContent;
+
+    /**
+     * A circle is the circular region of a specified radius centered at a specified latitude and longitude. A circle is expressed as a pair followed by a radius in meters. 
+     */
+    public static final URI circle;
+
+    /**
+     * A citation or reference to another creative work, such as another publication, web page, scholarly article, etc. NOTE: Candidate for promotion to ScholarlyArticle. 
+     */
+    public static final URI citation;
+
+    /**
+     * Description of the absorption and elimination of drugs, including their concentration (pharmacokinetics, pK) and biological effects (pharmacodynamics, pD). 
+     */
+    public static final URI clincalPharmacology;
+
+    /**
+     * The closing hour of the place or service on the given day(s) of the week. 
+     */
+    public static final URI closes;
+
+    /**
+     * A medical code for the entity, taken from a controlled vocabulary or ontology such as ICD-9, DiseasesDB, MeSH, SNOMED-CT, RxNorm, etc. 
+     */
+    public static final URI code;
+
+    /**
+     * The actual code. 
+     */
+    public static final URI codeValue;
+
+    /**
+     * The coding system, e.g. 'ICD-10'. 
+     */
+    public static final URI codingSystem;
+
+    /**
+     * A colleague of the person. 
+     */
+    public static final URI colleague;
+
+    /**
+     * A colleague of the person (legacy spelling; see singular form, colleague). 
+     */
+    public static final URI colleagues;
+
+    /**
+     * The color of the product. 
+     */
+    public static final URI color;
+
+    /**
+     * Comments, typically from users, on this CreativeWork. 
+     */
+    public static final URI comment;
+
+    /**
+     * The text of the UserComment. 
+     */
+    public static final URI commentText;
+
+    /**
+     * The time at which the UserComment was made. 
+     */
+    public static final URI commentTime;
+
+    /**
+     * The underlying anatomical structures, such as organs, that comprise the anatomical system. 
+     */
+    public static final URI comprisedOf;
+
+    /**
+     * Other anatomical structures to which this structure is connected. 
+     */
+    public static final URI connectedTo;
+
+    /**
+     * A contact point for a person or organization. 
+     */
+    public static final URI contactPoint;
+
+    /**
+     * A contact point for a person or organization (legacy spelling; see singular form, contactPoint). 
+     */
+    public static final URI contactPoints;
+
+    /**
+     * A person or organization can have different contact points, for different purposes. For example, a sales contact point, a PR contact point and so on. This property is used to specify the kind of contact point. 
+     */
+    public static final URI contactType;
+
+    /**
+     * The basic containment relation between places. 
+     */
+    public static final URI containedIn;
+
+    /**
+     * The location of the content. 
+     */
+    public static final URI contentLocation;
+
+    /**
+     * Official rating of a piece of content—for example,'MPAA PG-13'. 
+     */
+    public static final URI contentRating;
+
+    /**
+     * File size in (mega/kilo) bytes. 
+     */
+    public static final URI contentSize;
+
+    /**
+     * Actual bytes of the media object, for example the image file or video file. (previous spelling: contentURL) 
+     */
+    public static final URI contentUrl;
+
+    /**
+     * A contraindication for this therapy. 
+     */
+    public static final URI contraindication;
+
+    /**
+     * A secondary contributor to the CreativeWork. 
+     */
+    public static final URI contributor;
+
+    /**
+     * The time it takes to actually cook the dish, in ISO 8601 duration format. 
+     */
+    public static final URI cookTime;
+
+    /**
+     * The method of cooking, such as Frying, Steaming, ... 
+     */
+    public static final URI cookingMethod;
+
+    /**
+     * The party holding the legal copyright to the CreativeWork. 
+     */
+    public static final URI copyrightHolder;
+
+    /**
+     * The year during which the claimed copyright for the CreativeWork was first asserted. 
+     */
+    public static final URI copyrightYear;
+
+    /**
+     * Cost per unit of the drug, as reported by the source being tagged. 
+     */
+    public static final URI cost;
+
+    /**
+     * The category of cost, such as wholesale, retail, reimbursement cap, etc. 
+     */
+    public static final URI costCategory;
+
+    /**
+     * The currency (in 3-letter ISO 4217 format) of the drug cost. 
+     */
+    public static final URI costCurrency;
+
+    /**
+     * Additional details to capture the origin of the cost data. For example, 'Medicare Part B'. 
+     */
+    public static final URI costOrigin;
+
+    /**
+     * The cost per unit of the drug. 
+     */
+    public static final URI costPerUnit;
+
+    /**
+     * Countries for which the application is not supported. You can also provide the two-letter ISO 3166-1 alpha-2 country code. 
+     */
+    public static final URI countriesNotSupported;
+
+    /**
+     * Countries for which the application is supported. You can also provide the two-letter ISO 3166-1 alpha-2 country code. 
+     */
+    public static final URI countriesSupported;
+
+    /**
+     * The creator/author of this CreativeWork or UserComments. This is the same as the Author property for CreativeWork. 
+     */
+    public static final URI creator;
+
+    /**
+     * The currency accepted (in ISO 4217 currency format). 
+     */
+    public static final URI currenciesAccepted;
+
+    /**
+     * The date on which the CreativeWork was created. 
+     */
+    public static final URI dateCreated;
+
+    /**
+     * The date on which the CreativeWork was most recently modified. 
+     */
+    public static final URI dateModified;
+
+    /**
+     * Publication date for the job posting. 
+     */
+    public static final URI datePosted;
+
+    /**
+     * Date of first broadcast/publication. 
+     */
+    public static final URI datePublished;
+
+    /**
+     * The location where the NewsArticle was produced. 
+     */
+    public static final URI dateline;
+
+    /**
+     * The day of the week for which these opening hours are valid. 
+     */
+    public static final URI dayOfWeek;
+
+    /**
+     * Date of death. 
+     */
+    public static final URI deathDate;
+
+    /**
+     * The typical delay between the receipt of the order and the goods leaving the warehouse. 
+     */
+    public static final URI deliveryLeadTime;
+
+    /**
+     * The depth of the product. 
+     */
+    public static final URI depth;
+
+    /**
+     * A short description of the item. 
+     */
+    public static final URI description;
+
+    /**
+     * Device required to run the application. Used in cases where a specific make/model is required to run the application. 
+     */
+    public static final URI device;
+
+    /**
+     * One or more alternative conditions considered in the differential diagnosis process. 
+     */
+    public static final URI diagnosis;
+
+    /**
+     * An image containing a diagram that illustrates the structure and/or its component substructures and/or connections with other structures. 
+     */
+    public static final URI diagram;
+
+    /**
+     * Nutritional information specific to the dietary plan. May include dietary recommendations on what foods to avoid, what foods to consume, and specific alterations/deviations from the USDA or other regulatory body's approved dietary guidelines. 
+     */
+    public static final URI dietFeatures;
+
+    /**
+     * One of a set of differential diagnoses for the condition. Specifically, a closely-related or competing diagnosis typically considered later in the cognitive process whereby this medical condition is distinguished from others most likely responsible for a similar collection of signs and symptoms to reach the most parsimonious diagnosis or diagnoses in a patient. 
+     */
+    public static final URI differentialDiagnosis;
+
+    /**
+     * The director of the movie, TV episode, or series. 
+     */
+    public static final URI director;
+
+    /**
+     * Specifies the CreativeWork associated with the UserComment. 
+     */
+    public static final URI discusses;
+
+    /**
+     * A link to the page containing the comments of the CreativeWork. 
+     */
+    public static final URI discussionUrl;
+
+    /**
+     * One of a set of signs and symptoms that can be used to distinguish this diagnosis from others in the differential diagnosis. 
+     */
+    public static final URI distinguishingSign;
+
+    /**
+     * A dosage form in which this drug/supplement is available, e.g. 'tablet', 'suspension', 'injection'. 
+     */
+    public static final URI dosageForm;
+
+    /**
+     * A dosing schedule for the drug for a given population, either observed, recommended, or maximum dose based on the type used. 
+     */
+    public static final URI doseSchedule;
+
+    /**
+     * The unit of the dose, e.g. 'mg'. 
+     */
+    public static final URI doseUnit;
+
+    /**
+     * The value of the dose, e.g. 500. 
+     */
+    public static final URI doseValue;
+
+    /**
+     * If the file can be downloaded, URL to download the binary. 
+     */
+    public static final URI downloadUrl;
+
+    /**
+     * The vasculature that the vein drains into. 
+     */
+    public static final URI drainsTo;
+
+    /**
+     * A drug in this drug class. 
+     */
+    public static final URI drug;
+
+    /**
+     * The class of drug this belongs to (e.g., statins). 
+     */
+    public static final URI drugClass;
+
+    /**
+     * The unit in which the drug is measured, e.g. '5 mg tablet'. 
+     */
+    public static final URI drugUnit;
+
+    /**
+     * The Dun & Bradstreet DUNS number for identifying an organization or business person. 
+     */
+    public static final URI duns;
+
+    /**
+     * A therapy that duplicates or overlaps this one. 
+     */
+    public static final URI duplicateTherapy;
+
+    /**
+     * The duration of the item (movie, audio recording, event, etc.) in ISO 8601 date format. 
+     */
+    public static final URI duration;
+
+    /**
+     * The duration of the warranty promise. Common unitCode values are ANN for year, MON for months, or DAY for days. 
+     */
+    public static final URI durationOfWarranty;
+
+    /**
+     * Specifies the Person who edited the CreativeWork. 
+     */
+    public static final URI editor;
+
+    /**
+     * Educational background needed for the position. 
+     */
+    public static final URI educationRequirements;
+
+    /**
+     * The elevation of a location. 
+     */
+    public static final URI elevation;
+
+    /**
+     * The type(s) of customers for which the given offer is valid. 
+     */
+    public static final URI eligibleCustomerType;
+
+    /**
+     * The duration for which the given offer is valid. 
+     */
+    public static final URI eligibleDuration;
+
+    /**
+     * The interval and unit of measurement of ordering quantities for which the offer or price specification is valid. This allows e.g. specifying that a certain freight charge is valid only for a certain quantity. 
+     */
+    public static final URI eligibleQuantity;
+
+    /**
+     * The ISO 3166-1 (ISO 3166-1 alpha-2) or ISO 3166-2 code, or the GeoShape for the geo-political region(s) for which the offer or delivery charge specification is valid. 
+     */
+    public static final URI eligibleRegion;
+
+    /**
+     * The transaction volume, in a monetary unit, for which the offer or price specification is valid, e.g. for indicating a minimal purchasing volume, to express free shipping above a certain order volume, or to limit the acceptance of credit cards to purchases to a certain minimal amount. 
+     */
+    public static final URI eligibleTransactionVolume;
+
+    /**
+     * Email address. 
+     */
+    public static final URI email;
+
+    /**
+     * A URL pointing to a player for a specific video. In general, this is the information in the src element of an embed tag and should not be the same as the content of the loc tag. (previous spelling: embedURL) 
+     */
+    public static final URI embedUrl;
+
+    /**
+     * Someone working for this organization. 
+     */
+    public static final URI employee;
+
+    /**
+     * People working for this organization. (legacy spelling; see singular form, employee) 
+     */


<TRUNCATED>

[06/10] MARMOTTA-448: moved vocabularies into a separate module: marmotta-model-vocabs. Also fixed some redundant dependencies.

Posted by ja...@apache.org.
http://git-wip-us.apache.org/repos/asf/marmotta/blob/8d79b113/commons/marmotta-sesame-tools/marmotta-model-vocabs/src/main/java/org/apache/marmotta/commons/vocabulary/FOAF.java
----------------------------------------------------------------------
diff --git a/commons/marmotta-sesame-tools/marmotta-model-vocabs/src/main/java/org/apache/marmotta/commons/vocabulary/FOAF.java b/commons/marmotta-sesame-tools/marmotta-model-vocabs/src/main/java/org/apache/marmotta/commons/vocabulary/FOAF.java
new file mode 100644
index 0000000..2f09f3b
--- /dev/null
+++ b/commons/marmotta-sesame-tools/marmotta-model-vocabs/src/main/java/org/apache/marmotta/commons/vocabulary/FOAF.java
@@ -0,0 +1,487 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.marmotta.commons.vocabulary;
+
+import org.openrdf.model.URI;
+import org.openrdf.model.ValueFactory;
+import org.openrdf.model.impl.ValueFactoryImpl;
+
+/**
+ * Namespace FOAF
+ */
+public class FOAF {
+
+    public static final String NAMESPACE = "http://xmlns.com/foaf/0.1/";
+
+    public static final String PREFIX = "foaf";
+
+    /**
+     * An agent (eg. person, group, software or physical artifact).
+     */
+    public static final URI Agent;
+
+    /**
+     * A document.
+     */
+    public static final URI Document;
+
+    /**
+     * A class of Agents.
+     */
+    public static final URI Group;
+
+    /**
+     * An image.
+     */
+    public static final URI Image;
+
+    /**
+     * A foaf:LabelProperty is any RDF property with texual values that serve as labels.
+     */
+    public static final URI LabelProperty;
+
+    /**
+     * An online account.
+     */
+    public static final URI OnlineAccount;
+
+    /**
+     * An online chat account.
+     */
+    public static final URI OnlineChatAccount;
+
+    /**
+     * An online e-commerce account.
+     */
+    public static final URI OnlineEcommerceAccount;
+
+    /**
+     * An online gaming account.
+     */
+    public static final URI OnlineGamingAccount;
+
+    /**
+     * An organization.
+     */
+    public static final URI Organization;
+
+    /**
+     * A person.
+     */
+    public static final URI Person;
+
+    /**
+     * A personal profile RDF document.
+     */
+    public static final URI PersonalProfileDocument;
+
+    /**
+     * A project (a collective endeavour of some kind).
+     */
+    public static final URI Project;
+
+    /**
+     * Indicates an account held by this agent.
+     */
+    public static final URI account;
+
+    /**
+     * Indicates the name (identifier) associated with this online account.
+     */
+    public static final URI accountName;
+
+    /**
+     * Indicates a homepage of the service provide for this online account.
+     */
+    public static final URI accountServiceHomepage;
+
+    /**
+     * The age in years of some agent.
+     */
+    public static final URI age;
+
+    /**
+     * An AIM chat ID
+     */
+    public static final URI aimChatID;
+
+    /**
+     * A location that something is based near, for some broadly human notion of near.
+     */
+    public static final URI based_near;
+
+    /**
+     * The birthday of this Agent, represented in mm-dd string form, eg. '12-31'.
+     */
+    public static final URI birthday;
+
+    /**
+     * A current project this person works on.
+     */
+    public static final URI currentProject;
+
+    /**
+     * A depiction of some thing.
+     */
+    public static final URI depiction;
+
+    /**
+     * A thing depicted in this representation.
+     */
+    public static final URI depicts;
+
+    /**
+     * A checksum for the DNA of some thing. Joke.
+     */
+    public static final URI dnaChecksum;
+
+    /**
+     * The family name of some person.
+     */
+    public static final URI familyName;
+
+    /**
+     * The family name of some person.
+     */
+    public static final URI family_name;
+
+    /**
+     * The first name of a person.
+     */
+    public static final URI firstName;
+
+    /**
+     * The underlying or 'focal' entity associated with some SKOS-described concept.
+     */
+    public static final URI focus;
+
+    /**
+     * An organization funding a project or person.
+     */
+    public static final URI fundedBy;
+
+    /**
+     * A textual geekcode for this person, see http://www.geekcode.com/geek.html
+     */
+    public static final URI geekcode;
+
+    /**
+     * The gender of this Agent (typically but not necessarily 'male' or 'female').
+     */
+    public static final URI gender;
+
+    /**
+     * The given name of some person.
+     */
+    public static final URI givenName;
+
+    /**
+     * The given name of some person.
+     */
+    public static final URI givenname;
+
+    /**
+     * Indicates an account held by this agent.
+     */
+    public static final URI holdsAccount;
+
+    /**
+     * A homepage for some thing.
+     */
+    public static final URI homepage;
+
+    /**
+     * An ICQ chat ID
+     */
+    public static final URI icqChatID;
+
+    /**
+     * An image that can be used to represent some thing (ie. those depictions which are particularly representative of something, eg. one's photo on a homepage).
+     */
+    public static final URI img;
+
+    /**
+     * A page about a topic of interest to this person.
+     */
+    public static final URI interest;
+
+    /**
+     * A document that this thing is the primary topic of.
+     */
+    public static final URI isPrimaryTopicOf;
+
+    /**
+     * A jabber ID for something.
+     */
+    public static final URI jabberID;
+
+    /**
+     * A person known by this person (indicating some level of reciprocated interaction between the parties).
+     */
+    public static final URI knows;
+
+    /**
+     * The last name of a person.
+     */
+    public static final URI lastName;
+
+    /**
+     * A logo representing some thing.
+     */
+    public static final URI logo;
+
+    /**
+     * Something that was made by this agent.
+     */
+    public static final URI made;
+
+    /**
+     * An agent that  made this thing.
+     */
+    public static final URI maker;
+
+    /**
+     * A  personal mailbox, ie. an Internet mailbox associated with exactly one owner, the first owner of this mailbox. This is a 'static inverse functional property', in that  there is (across time and change) at most one individual that ever has any particular value for foaf:mbox.
+     */
+    public static final URI mbox;
+
+    /**
+     * The sha1sum of the URI of an Internet mailbox associated with exactly one owner, the  first owner of the mailbox.
+     */
+    public static final URI mbox_sha1sum;
+
+    /**
+     * Indicates a member of a Group
+     */
+    public static final URI member;
+
+    /**
+     * Indicates the class of individuals that are a member of a Group
+     */
+    public static final URI membershipClass;
+
+    /**
+     * An MSN chat ID
+     */
+    public static final URI msnChatID;
+
+    /**
+     * A Myers Briggs (MBTI) personality classification.
+     */
+    public static final URI myersBriggs;
+
+    /**
+     * A name for some thing.
+     */
+    public static final URI name;
+
+    /**
+     * A short informal nickname characterising an agent (includes login identifiers, IRC and other chat nicknames).
+     */
+    public static final URI nick;
+
+    /**
+     * An OpenID for an Agent.
+     */
+    public static final URI openid;
+
+    /**
+     * A page or document about this thing.
+     */
+    public static final URI page;
+
+    /**
+     * A project this person has previously worked on.
+     */
+    public static final URI pastProject;
+
+    /**
+     * A phone,  specified using fully qualified tel: URI scheme (refs: http://www.w3.org/Addressing/schemes.html#tel).
+     */
+    public static final URI phone;
+
+    /**
+     * A .plan comment, in the tradition of finger and '.plan' files.
+     */
+    public static final URI plan;
+
+    /**
+     * The primary topic of some page or document.
+     */
+    public static final URI primaryTopic;
+
+    /**
+     * A link to the publications of this person.
+     */
+    public static final URI publications;
+
+    /**
+     * A homepage of a school attended by the person.
+     */
+    public static final URI schoolHomepage;
+
+    /**
+     * A sha1sum hash, in hex.
+     */
+    public static final URI sha1;
+
+    /**
+     * A Skype ID
+     */
+    public static final URI skypeID;
+
+    /**
+     * A string expressing what the user is happy for the general public (normally) to know about their current activity.
+     */
+    public static final URI status;
+
+    /**
+     * The surname of some person.
+     */
+    public static final URI surname;
+
+    /**
+     * A theme.
+     */
+    public static final URI theme;
+
+    /**
+     * A derived thumbnail image.
+     */
+    public static final URI thumbnail;
+
+    /**
+     * A tipjar document for this agent, describing means for payment and reward.
+     */
+    public static final URI tipjar;
+
+    /**
+     * Title (Mr, Mrs, Ms, Dr. etc)
+     */
+    public static final URI title;
+
+    /**
+     * A topic of some page or document.
+     */
+    public static final URI topic;
+
+    /**
+     * A thing of interest to this person.
+     */
+    public static final URI topic_interest;
+
+    /**
+     * A weblog of some thing (whether person, group, company etc.).
+     */
+    public static final URI weblog;
+
+    /**
+     * A work info homepage of some person; a page about their work for some organization.
+     */
+    public static final URI workInfoHomepage;
+
+    /**
+     * A workplace homepage of some person; the homepage of an organization they work for.
+     */
+    public static final URI workplaceHomepage;
+
+    /**
+     * A Yahoo chat ID
+     */
+    public static final URI yahooChatID;
+
+
+    static{
+        ValueFactory factory = ValueFactoryImpl.getInstance();
+        Agent = factory.createURI(FOAF.NAMESPACE, "Agent");
+        Document = factory.createURI(FOAF.NAMESPACE, "Document");
+        Group = factory.createURI(FOAF.NAMESPACE, "Group");
+        Image = factory.createURI(FOAF.NAMESPACE, "Image");
+        LabelProperty = factory.createURI(FOAF.NAMESPACE, "LabelProperty");
+        OnlineAccount = factory.createURI(FOAF.NAMESPACE, "OnlineAccount");
+        OnlineChatAccount = factory.createURI(FOAF.NAMESPACE, "OnlineChatAccount");
+        OnlineEcommerceAccount = factory.createURI(FOAF.NAMESPACE, "OnlineEcommerceAccount");
+        OnlineGamingAccount = factory.createURI(FOAF.NAMESPACE, "OnlineGamingAccount");
+        Organization = factory.createURI(FOAF.NAMESPACE, "Organization");
+        Person = factory.createURI(FOAF.NAMESPACE, "Person");
+        PersonalProfileDocument = factory.createURI(FOAF.NAMESPACE, "PersonalProfileDocument");
+        Project = factory.createURI(FOAF.NAMESPACE, "Project");
+        account = factory.createURI(FOAF.NAMESPACE, "account");
+        accountName = factory.createURI(FOAF.NAMESPACE, "accountName");
+        accountServiceHomepage = factory.createURI(FOAF.NAMESPACE, "accountServiceHomepage");
+        age = factory.createURI(FOAF.NAMESPACE, "age");
+        aimChatID = factory.createURI(FOAF.NAMESPACE, "aimChatID");
+        based_near = factory.createURI(FOAF.NAMESPACE, "based_near");
+        birthday = factory.createURI(FOAF.NAMESPACE, "birthday");
+        currentProject = factory.createURI(FOAF.NAMESPACE, "currentProject");
+        depiction = factory.createURI(FOAF.NAMESPACE, "depiction");
+        depicts = factory.createURI(FOAF.NAMESPACE, "depicts");
+        dnaChecksum = factory.createURI(FOAF.NAMESPACE, "dnaChecksum");
+        familyName = factory.createURI(FOAF.NAMESPACE, "familyName");
+        family_name = factory.createURI(FOAF.NAMESPACE, "family_name");
+        firstName = factory.createURI(FOAF.NAMESPACE, "firstName");
+        focus = factory.createURI(FOAF.NAMESPACE, "focus");
+        fundedBy = factory.createURI(FOAF.NAMESPACE, "fundedBy");
+        geekcode = factory.createURI(FOAF.NAMESPACE, "geekcode");
+        gender = factory.createURI(FOAF.NAMESPACE, "gender");
+        givenName = factory.createURI(FOAF.NAMESPACE, "givenName");
+        givenname = factory.createURI(FOAF.NAMESPACE, "givenname");
+        holdsAccount = factory.createURI(FOAF.NAMESPACE, "holdsAccount");
+        homepage = factory.createURI(FOAF.NAMESPACE, "homepage");
+        icqChatID = factory.createURI(FOAF.NAMESPACE, "icqChatID");
+        img = factory.createURI(FOAF.NAMESPACE, "img");
+        interest = factory.createURI(FOAF.NAMESPACE, "interest");
+        isPrimaryTopicOf = factory.createURI(FOAF.NAMESPACE, "isPrimaryTopicOf");
+        jabberID = factory.createURI(FOAF.NAMESPACE, "jabberID");
+        knows = factory.createURI(FOAF.NAMESPACE, "knows");
+        lastName = factory.createURI(FOAF.NAMESPACE, "lastName");
+        logo = factory.createURI(FOAF.NAMESPACE, "logo");
+        made = factory.createURI(FOAF.NAMESPACE, "made");
+        maker = factory.createURI(FOAF.NAMESPACE, "maker");
+        mbox = factory.createURI(FOAF.NAMESPACE, "mbox");
+        mbox_sha1sum = factory.createURI(FOAF.NAMESPACE, "mbox_sha1sum");
+        member = factory.createURI(FOAF.NAMESPACE, "member");
+        membershipClass = factory.createURI(FOAF.NAMESPACE, "membershipClass");
+        msnChatID = factory.createURI(FOAF.NAMESPACE, "msnChatID");
+        myersBriggs = factory.createURI(FOAF.NAMESPACE, "myersBriggs");
+        name = factory.createURI(FOAF.NAMESPACE, "name");
+        nick = factory.createURI(FOAF.NAMESPACE, "nick");
+        openid = factory.createURI(FOAF.NAMESPACE, "openid");
+        page = factory.createURI(FOAF.NAMESPACE, "page");
+        pastProject = factory.createURI(FOAF.NAMESPACE, "pastProject");
+        phone = factory.createURI(FOAF.NAMESPACE, "phone");
+        plan = factory.createURI(FOAF.NAMESPACE, "plan");
+        primaryTopic = factory.createURI(FOAF.NAMESPACE, "primaryTopic");
+        publications = factory.createURI(FOAF.NAMESPACE, "publications");
+        schoolHomepage = factory.createURI(FOAF.NAMESPACE, "schoolHomepage");
+        sha1 = factory.createURI(FOAF.NAMESPACE, "sha1");
+        skypeID = factory.createURI(FOAF.NAMESPACE, "skypeID");
+        status = factory.createURI(FOAF.NAMESPACE, "status");
+        surname = factory.createURI(FOAF.NAMESPACE, "surname");
+        theme = factory.createURI(FOAF.NAMESPACE, "theme");
+        thumbnail = factory.createURI(FOAF.NAMESPACE, "thumbnail");
+        tipjar = factory.createURI(FOAF.NAMESPACE, "tipjar");
+        title = factory.createURI(FOAF.NAMESPACE, "title");
+        topic = factory.createURI(FOAF.NAMESPACE, "topic");
+        topic_interest = factory.createURI(FOAF.NAMESPACE, "topic_interest");
+        weblog = factory.createURI(FOAF.NAMESPACE, "weblog");
+        workInfoHomepage = factory.createURI(FOAF.NAMESPACE, "workInfoHomepage");
+        workplaceHomepage = factory.createURI(FOAF.NAMESPACE, "workplaceHomepage");
+        yahooChatID = factory.createURI(FOAF.NAMESPACE, "yahooChatID");
+    }
+}

http://git-wip-us.apache.org/repos/asf/marmotta/blob/8d79b113/commons/marmotta-sesame-tools/marmotta-model-vocabs/src/main/java/org/apache/marmotta/commons/vocabulary/GEO.java
----------------------------------------------------------------------
diff --git a/commons/marmotta-sesame-tools/marmotta-model-vocabs/src/main/java/org/apache/marmotta/commons/vocabulary/GEO.java b/commons/marmotta-sesame-tools/marmotta-model-vocabs/src/main/java/org/apache/marmotta/commons/vocabulary/GEO.java
new file mode 100644
index 0000000..a5d77ce
--- /dev/null
+++ b/commons/marmotta-sesame-tools/marmotta-model-vocabs/src/main/java/org/apache/marmotta/commons/vocabulary/GEO.java
@@ -0,0 +1,87 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.marmotta.commons.vocabulary;
+
+import org.openrdf.model.URI;
+import org.openrdf.model.ValueFactory;
+import org.openrdf.model.impl.ValueFactoryImpl;
+
+/**
+ * Namespace GEO
+ */
+public class GEO {
+
+    public static final String NAMESPACE = "http://www.w3.org/2003/01/geo/wgs84_pos#";
+
+    public static final String PREFIX = "geo";
+
+    /**
+     * A point, typically described using a coordinate system relative to Earth, such as WGS84.
+     */
+    public static final URI Point;
+
+    /**
+     * Anything with spatial extent, i.e. size, shape, or position.
+     e.g. people, places, bowling balls, as well as abstract areas like cubes.
+     */
+    public static final URI SpatialThing;
+
+    /**
+     * The WGS84 altitude of a SpatialThing (decimal meters
+     above the local reference ellipsoid).
+     */
+    public static final URI alt;
+
+    /**
+     * The WGS84 latitude of a SpatialThing (decimal degrees).
+     */
+    public static final URI lat;
+
+    /**
+     * A comma-separated representation of a latitude, longitude coordinate.
+     */
+    public static final URI lat_long;
+
+    /**
+     * The relation between something and the point,
+     or other geometrical thing in space, where it is.  For example, the realtionship between
+     a radio tower and a Point with a given lat and long.
+     Or a relationship between a park and its outline as a closed arc of points, or a road and
+     its location as a arc (a sequence of points).
+     Clearly in practice there will be limit to the accuracy of any such statement, but one would expect
+     an accuracy appropriate for the size of the object and uses such as mapping .
+     */
+    public static final URI location;
+
+    /**
+     * The WGS84 longitude of a SpatialThing (decimal degrees).
+     */
+    public static final URI long_;
+
+
+    static{
+        ValueFactory factory = ValueFactoryImpl.getInstance();
+        Point = factory.createURI(GEO.NAMESPACE, "Point");
+        SpatialThing = factory.createURI(GEO.NAMESPACE, "SpatialThing");
+        alt = factory.createURI(GEO.NAMESPACE, "alt");
+        lat = factory.createURI(GEO.NAMESPACE, "lat");
+        lat_long = factory.createURI(GEO.NAMESPACE, "lat_long");
+        location = factory.createURI(GEO.NAMESPACE, "location");
+        long_ = factory.createURI(GEO.NAMESPACE, "long");
+    }
+}

http://git-wip-us.apache.org/repos/asf/marmotta/blob/8d79b113/commons/marmotta-sesame-tools/marmotta-model-vocabs/src/main/java/org/apache/marmotta/commons/vocabulary/LDP.java
----------------------------------------------------------------------
diff --git a/commons/marmotta-sesame-tools/marmotta-model-vocabs/src/main/java/org/apache/marmotta/commons/vocabulary/LDP.java b/commons/marmotta-sesame-tools/marmotta-model-vocabs/src/main/java/org/apache/marmotta/commons/vocabulary/LDP.java
new file mode 100644
index 0000000..1599c02
--- /dev/null
+++ b/commons/marmotta-sesame-tools/marmotta-model-vocabs/src/main/java/org/apache/marmotta/commons/vocabulary/LDP.java
@@ -0,0 +1,134 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.marmotta.commons.vocabulary;
+
+import org.openrdf.model.URI;
+import org.openrdf.model.ValueFactory;
+import org.openrdf.model.impl.ValueFactoryImpl;
+
+/** 
+ * Namespace LDP
+ */
+public class LDP {
+
+	public static final String NAMESPACE = "http://www.w3.org/ns/ldp#";
+
+	public static final String PREFIX = "ldp";
+
+	/**
+	 * A Linked Data Platform Container (LDPC) that also conforms to
+	 * additional patterns and conventions for managing members.  It is distinguished from
+	 * CompositeContainer by the following behaviors:
+     * <ol>
+	 *   <li>Clients cannot assume that an AggregateContainer, when deleted, deletes its members.
+     * </ol>
+     *
+	 * While every attempt is made to be complete in this list, readers should also refer
+	 * to the specification defining this ontology.
+	 */
+	public static final URI AggregateContainer;
+
+    /**
+     * FIXME: Not yet part of the official vocab, but used in the Spec. (2014-02-18)
+     */
+    public static final URI BasicContainer;
+
+    /**
+	 * A Linked Data Platform Container (LDPC) that also conforms to
+	 * additional patterns and conventions for managing members.  It is distinguished from
+	 * AggregateContainer by the following behaviors:
+     * <ol>
+     *   <li>An CompositeContainer, when deleted, must delete all its members.
+     * </ol>
+     *
+	 * While every attempt is made to be complete in this list, readers should also
+	 * refer to the specification defining this ontology.
+	 */
+	public static final URI CompositeContainer;
+
+	/**
+	 * A Linked Data Platform Resource (LDPR) that also conforms to
+	 * additional patterns and conventions for managing membership.
+	 * Readers should refer to the specification defining this ontology for the list of
+	 * behaviors associated with it.
+	 */
+	public static final URI Container;
+
+	/**
+	 * A resource that represents a limited set of members of a LDP Container. 
+	 */
+	public static final URI Page;
+
+	/**
+	 * A HTTP-addressable resource with a linked data representation. 
+	 */
+	public static final URI Resource;
+
+    /**
+     * FIXME: Not yet part of the vocab, but used in the spec. (2014-02-24)
+     */
+    public static final URI contains;
+
+    /**
+	 * List of predicates that indicate the ascending order of the members in a page. 
+	 */
+	public static final URI containerSortPredicates;
+
+    /**
+     * FIXME: Not yet part of the vocab, but used in the spec. (2014-02-18)
+     */
+    public static final URI member;
+
+    /**
+	 * Indicates which predicate of the container should be used to determine the membership. 
+	 */
+	public static final URI membershipPredicate;
+
+	/**
+	 * Indicates which resource is the subject for the members of the container. 
+	 */
+	public static final URI membershipSubject;
+
+	/**
+	 * From a known page, how to indicate the next or last page as rdf:nil. 
+	 */
+	public static final URI nextPage;
+
+	/**
+	 * Associated a page with its container. 
+	 */
+	public static final URI pageOf;
+
+
+	static{
+		ValueFactory factory = ValueFactoryImpl.getInstance();
+		AggregateContainer = factory.createURI(LDP.NAMESPACE, "AggregateContainer");
+        BasicContainer = factory.createURI(LDP.NAMESPACE, "BasicContainer");
+		CompositeContainer = factory.createURI(LDP.NAMESPACE, "CompositeContainer");
+		Container = factory.createURI(LDP.NAMESPACE, "Container");
+		Page = factory.createURI(LDP.NAMESPACE, "Page");
+		Resource = factory.createURI(LDP.NAMESPACE, "Resource");
+        contains = factory.createURI(LDP.NAMESPACE, "contains");
+		containerSortPredicates = factory.createURI(LDP.NAMESPACE, "containerSortPredicates");
+		member = factory.createURI(LDP.NAMESPACE, "member");
+		membershipPredicate = factory.createURI(LDP.NAMESPACE, "membershipPredicate");
+		membershipSubject = factory.createURI(LDP.NAMESPACE, "membershipSubject");
+		nextPage = factory.createURI(LDP.NAMESPACE, "nextPage");
+		pageOf = factory.createURI(LDP.NAMESPACE, "pageOf");
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/marmotta/blob/8d79b113/commons/marmotta-sesame-tools/marmotta-model-vocabs/src/main/java/org/apache/marmotta/commons/vocabulary/MA.java
----------------------------------------------------------------------
diff --git a/commons/marmotta-sesame-tools/marmotta-model-vocabs/src/main/java/org/apache/marmotta/commons/vocabulary/MA.java b/commons/marmotta-sesame-tools/marmotta-model-vocabs/src/main/java/org/apache/marmotta/commons/vocabulary/MA.java
new file mode 100644
index 0000000..8a4fbed
--- /dev/null
+++ b/commons/marmotta-sesame-tools/marmotta-model-vocabs/src/main/java/org/apache/marmotta/commons/vocabulary/MA.java
@@ -0,0 +1,568 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.marmotta.commons.vocabulary;
+
+import org.openrdf.model.URI;
+import org.openrdf.model.ValueFactory;
+import org.openrdf.model.impl.ValueFactoryImpl;
+
+/**
+ * Namespace MA
+ */
+public class MA {
+
+    public static final String NAMESPACE = "http://www.w3.org/ns/ma-ont#";
+
+    public static final String PREFIX = "ma";
+
+    /**
+     * A person or organisation contributing to the media resource.
+     */
+    public static final URI Agent;
+
+    /**
+     * A specialisation of Track for Audio to provide a link to specific data properties such as sampleRate, etc. Specialisation is defined through object properties.
+     */
+    public static final URI AudioTrack;
+
+    /**
+     * Any group of media resource e.g. a series.
+     */
+    public static final URI Collection;
+
+    /**
+     * Ancillary data track e.g. ¨captioning"  in addition to video and audio tracks. Specialisation is made through the use of appropriate object properties.
+     */
+    public static final URI DataTrack;
+
+    /**
+     * A still image / thumbnail / key frame related to the media resource or being the media resource itself.
+     */
+    public static final URI Image;
+
+    public static final URI IsRatingOf;
+
+    /**
+     * A location related to the media resource, e.g. depicted in the resource (possibly fictional) or where the resource was created (shooting location), etc.
+     */
+    public static final URI Location;
+
+    /**
+     * A media fragment (spatial, temporal, track...) composing a media resource. In other ontologies fragment is sometimes referred to as a 'part' or 'segment'.
+     */
+    public static final URI MediaFragment;
+
+    /**
+     * An image or an audiovisual media resource, which can be composed of one or more fragment / track.
+     */
+    public static final URI MediaResource;
+
+    /**
+     * An organisation or moral agent.
+     */
+    public static final URI Organisation;
+
+    /**
+     * A physical person.
+     */
+    public static final URI Person;
+
+    /**
+     * Information about the rating given to a media resource.
+     */
+    public static final URI Rating;
+
+    /**
+     * Information about The target audience (target region, target audience category but also parental guidance recommendation) for which a media resource is intended.
+     */
+    public static final URI TargetAudience;
+
+    /**
+     * A specialisation of MediaFragment for audiovisual content.
+     */
+    public static final URI Track;
+
+    /**
+     * A specialisation of Track for Video to provide a link to specific data properties such as frameRate, etc. Signing is another possible example of video track. Specialisation is defined through object properties.
+     */
+    public static final URI VideoTrack;
+
+    /**
+     * Corresponds to 'title.title' in the Ontology for Media Resources with a 'title.type' meaning "alternative".
+     */
+    public static final URI alternativeTitle;
+
+    /**
+     * Corresponds to 'averageBitRate' in the Ontology for Media Resources, expressed in kilobits/second.
+     */
+    public static final URI averageBitRate;
+
+    /**
+     * The name by which a collection (e.g. series) is known.
+     */
+    public static final URI collectionName;
+
+    /**
+     * Corresponds to 'copyright.copyright' in the Ontology for Media Resources.
+     */
+    public static final URI copyright;
+
+    /**
+     * A subproperty of 'hasRelatedLocation" used to specify where material shooting took place.
+     */
+    public static final URI createdIn;
+
+    /**
+     * Corresponds to 'date.date' in the Ontology for Media Resources with a 'date.type' meaning "creationDate".
+     */
+    public static final URI creationDate;
+
+    /**
+     * Corresponds to date.date in the ontology for Media Resources. Subproperties can be used to distinguish different values of 'date.type'. The recommended range is 'xsd:dateTime' (for compliance with OWL2-QL and OWL2-RL) but other time-related datatypes may be used (e.g. 'xsd:gYear', 'xsd:date'...).
+     */
+    public static final URI date;
+
+    /**
+     * A subproperty of 'hasRelatedLocation' used to specify where the action depicted in the media is supposed to take place, as opposed to the location where shooting actually took place (see 'createdIn').
+     */
+    public static final URI depictsFictionalLocation;
+
+    /**
+     * Corresponds to 'description' in the Ontology for Media Resources. This can be specialised by using sub-properties e.g. 'summary' or 'script'.
+     */
+    public static final URI description;
+
+    /**
+     * Corresponds to 'duration' in the Ontology for Media Resources.
+     */
+    public static final URI duration;
+
+    /**
+     * Corresponds to 'date.date' in the Ontology for Media Resources with a 'date.type' meaning "editDate".
+     */
+    public static final URI editDate;
+
+    /**
+     * Corresponds to 'contributor.contributor' in the Ontology for Media Resources with a 'contributor.role' meaning "actor".
+     */
+    public static final URI features;
+
+    /**
+     * Corresponds to 'namedFragment.label' in the Ontology for Media Resources.
+     */
+    public static final URI fragmentName;
+
+    /**
+     * Corresponds to 'frameSize.height' in the Ontology for Media Resources, measured in frameSizeUnit.
+     */
+    public static final URI frameHeight;
+
+    /**
+     * Corresponds to 'frameRate' in the Ontology for Media Resources, in frame per second.
+     */
+    public static final URI frameRate;
+
+    /**
+     * Corresponds to 'frameSize.unit' in the Ontology for Media Resources.
+     */
+    public static final URI frameSizeUnit;
+
+    /**
+     * Corresponds to 'frameSize.width' in the Ontology for Media Resources measured in frameSizeUnit.
+     */
+    public static final URI frameWidth;
+
+    /**
+     * Corresponds to 'policy' in the Ontology for Media Resources with a 'policy.type' "access conditions".
+     */
+    public static final URI hasAccessConditions;
+
+    /**
+     * Corresponds to 'fragment' in the Ontology for Media Resources with a 'fragment.role' meaning "audio-description".
+     */
+    public static final URI hasAudioDescription;
+
+    /**
+     * Corresponds to 'fragment' in the Ontology for Media Resources with a 'fragment.role' meaning "captioning". This property can for example point to a spatial fragment, a VideoTrack or a DataTrack. The language of the captioning track can be expressed by attaching a 'hasLanguage' property to the specific track.
+     */
+    public static final URI hasCaptioning;
+
+    /**
+     * Corresponds to 'fragment' in the Ontology for Media Resources with a 'fragment.role' meaning "actor".
+     */
+    public static final URI hasChapter;
+
+    /**
+     * Corresponds to 'targetAudience.classification' in the Ontology for Media Resources. This property is used to provide a value characterising the target audience.
+     */
+    public static final URI hasClassification;
+
+    /**
+     * Corresponds to 'targetAudience.identifier' in the Ontology for Media Resources. This is used to identify the reference sheme against which the target audience has been characterised.
+     */
+    public static final URI hasClassificationSystem;
+
+    /**
+     * Corresponds to 'compression' in the Ontology for Media Resources.
+     */
+    public static final URI hasCompression;
+
+    public static final URI hasContributedTo;
+
+    /**
+     * Corresponds to 'contributor.contributor' in the Ontology for Media Resources. Subproperties can be used to distinguish different values of 'contributor.role'.
+     */
+    public static final URI hasContributor;
+
+    public static final URI hasCopyrightOver;
+
+    public static final URI hasCreated;
+
+    /**
+     * Corresponds to 'creator.creator' in the Ontology for Media Resources. Subproperties can be used to distinguish different values of 'creator.role'. Note that this property is semantically a subproperty of 'hasContributor'.
+     */
+    public static final URI hasCreator;
+
+    /**
+     * Corresponds to 'format' in the Ontology for Media Resources.
+     */
+    public static final URI hasFormat;
+
+    /**
+     * Corresponds to 'fragment' in the Ontology for Media Resources. Subproperties can be used to distinguish different values of 'fragment.role'.
+     */
+    public static final URI hasFragment;
+
+    /**
+     * Corresponds to 'genre' in the Ontology for Media Resources.
+     */
+    public static final URI hasGenre;
+
+    /**
+     * Corresponds to 'keyword' in the Ontology for Media Resources.
+     */
+    public static final URI hasKeyword;
+
+    /**
+     * Corresponds to 'language' in the Ontology for Media Resources. The language used in the resource. A controlled vocabulary such as defined in BCP 47 SHOULD be used. This property can also be used to identify the presence of sign language (RFC 5646). By inheritance, the hasLanguage property applies indifferently at the media resource / fragment / track levels.  Best practice recommends to use to best possible level of granularity fo describe the usage of language within a media resource including at fragment and track levels.
+     */
+    public static final URI hasLanguage;
+
+    /**
+     * Corresponds to 'location.coordinateSystem' in the Ontology for Media Resources.
+     */
+    public static final URI hasLocationCoordinateSystem;
+
+    public static final URI hasMember;
+
+    /**
+     * Corresponds to 'namedFragment' in the Ontology for Media Resources.
+     */
+    public static final URI hasNamedFragment;
+
+    /**
+     * Corresponds to 'policy' in the Ontology for Media Resources with a  'policy.type' meaning "permissions".
+     */
+    public static final URI hasPermissions;
+
+    /**
+     * Corresponds to 'policy' in the Ontology for Media Resources. Subproperties can be used to distinguish different values of 'policy.type'.
+     */
+    public static final URI hasPolicy;
+
+    public static final URI hasPublished;
+
+    /**
+     * Corresponds to 'publisher' in the Ontology for Media Resources.
+     */
+    public static final URI hasPublisher;
+
+    /**
+     * Corresponds to 'rating' in the Ontology for Media Resources.
+     */
+    public static final URI hasRating;
+
+    /**
+     * Corresponds to 'rating.type' in the Ontology for Media Resources.
+     */
+    public static final URI hasRatingSystem;
+
+    /**
+     * Corresponds to 'relation' and in the Ontology for Media Resources with a 'relation.type' meaning "related image".
+     */
+    public static final URI hasRelatedImage;
+
+    /**
+     * Corresponds to 'location' in the Ontology for Media Resources. Subproperties are provided to specify, when possible, the relation between the media resource and the location.
+     */
+    public static final URI hasRelatedLocation;
+
+    /**
+     * Corresponds to 'relation' and in the Ontology for Media Resources. Subproperties can be used to distinguish different values of 'relation.type'.
+     */
+    public static final URI hasRelatedResource;
+
+    /**
+     * Corresponds to 'fragment' in the Ontology for Media Resources with a 'fragment.role' meaning "signing". This property can for example point to a spatial fragment or a VideoTrack. The sign language of the captioning track can be expressed by attaching a 'hasLanguage' property to the specific track.
+     */
+    public static final URI hasSigning;
+
+    /**
+     * Corresponds to 'relation' and in the Ontology for Media Resources with a 'relation.type' meaning "source".
+     */
+    public static final URI hasSource;
+
+    /**
+     * Corresponds to 'fragment' in the Ontology for Media Resources with a 'fragment.role' meaning "subtitling".
+     */
+    public static final URI hasSubtitling;
+
+    /**
+     * Corresponds to 'targetAudience' in the Ontology for Media Resources.
+     */
+    public static final URI hasTargetAudience;
+
+    /**
+     * Corresponds to 'fragment' in the Ontology for Media Resources with a 'fragment.role' meaning "track".
+     */
+    public static final URI hasTrack;
+
+    public static final URI isCaptioningOf;
+
+    public static final URI isChapterOf;
+
+    /**
+     * Corresponds to 'copyright.identifier' in the Ontology for Media Resources.
+     */
+    public static final URI isCopyrightedBy;
+
+    public static final URI isCreationLocationOf;
+
+    public static final URI isFictionalLocationDepictedIn;
+
+    public static final URI isFragmentOf;
+
+    public static final URI isImageRelatedTo;
+
+    public static final URI isLocationRelatedTo;
+
+    /**
+     * Corresponds to 'collection' in the Ontology for Media Resources.
+     */
+    public static final URI isMemberOf;
+
+    public static final URI isNamedFragmentOf;
+
+    /**
+     * Corresponds to 'rating.identifier' in the Ontology for Media Resources.
+     */
+    public static final URI isProvidedBy;
+
+    public static final URI isRelatedTo;
+
+    public static final URI isSigningOf;
+
+    public static final URI isSourceOf;
+
+    public static final URI isTargetAudienceOf;
+
+    public static final URI isTrackOf;
+
+    /**
+     * Corresponds to 'location.altitude' in the Ontology for Media Resources.
+     */
+    public static final URI locationAltitude;
+
+    /**
+     * Corresponds to 'location.latitude' in the Ontology for Media Resources.
+     */
+    public static final URI locationLatitude;
+
+    /**
+     * Corresponds to 'location.longitude' in the Ontology for Media Resources.
+     */
+    public static final URI locationLongitude;
+
+    /**
+     * Corresponds to 'location.name' in the Ontology for Media Resources.
+     */
+    public static final URI locationName;
+
+    /**
+     * Corresponds to 'locator' in the Ontology for Media Resources.
+     */
+    public static final URI locator;
+
+    /**
+     * Corresponds to 'title.title' in the Ontology for Media Resources with a 'title.type' meaning "original".
+     */
+    public static final URI mainOriginalTitle;
+
+    /**
+     * Corresponds to 'numTracks.number' in the Ontology for Media Resources. Subproperties can be used to distinguish different values of 'numTracks.type'.
+     */
+    public static final URI numberOfTracks;
+
+    public static final URI playsIn;
+
+    public static final URI provides;
+
+    /**
+     * Corresponds to 'rating.max' in the Ontology for Media Resources.
+     */
+    public static final URI ratingScaleMax;
+
+    /**
+     * Corresponds to 'rating.min' in the Ontology for Media Resources.
+     */
+    public static final URI ratingScaleMin;
+
+    /**
+     * Corresponds to 'rating.value' in the Ontology for Media Resources.
+     */
+    public static final URI ratingValue;
+
+    /**
+     * Corresponds to 'date.date' in the Ontology for Media Resources with a 'date.type' meaning "recordDate".
+     */
+    public static final URI recordDate;
+
+    /**
+     * Corresponds to 'date.date' in the Ontology for Media Resources with a 'date.type' meaning "releaseDate".
+     */
+    public static final URI releaseDate;
+
+    /**
+     * Corresponds to 'samplingRate' in the Ontology for Media Resources, in samples per second.
+     */
+    public static final URI samplingRate;
+
+    /**
+     * Corresponds to 'title.title' in the Ontology for Media Resources. Subproperties can be used to distinguish different values of 'title.type'.
+     */
+    public static final URI title;
+
+    /**
+     * Corresponds to 'fragment.name' in the Ontology for Media Resources, for Track fragments.
+     */
+    public static final URI trackName;
+
+
+    static{
+        ValueFactory factory = ValueFactoryImpl.getInstance();
+        Agent = factory.createURI(MA.NAMESPACE, "Agent");
+        AudioTrack = factory.createURI(MA.NAMESPACE, "AudioTrack");
+        Collection = factory.createURI(MA.NAMESPACE, "Collection");
+        DataTrack = factory.createURI(MA.NAMESPACE, "DataTrack");
+        Image = factory.createURI(MA.NAMESPACE, "Image");
+        IsRatingOf = factory.createURI(MA.NAMESPACE, "IsRatingOf");
+        Location = factory.createURI(MA.NAMESPACE, "Location");
+        MediaFragment = factory.createURI(MA.NAMESPACE, "MediaFragment");
+        MediaResource = factory.createURI(MA.NAMESPACE, "MediaResource");
+        Organisation = factory.createURI(MA.NAMESPACE, "Organisation");
+        Person = factory.createURI(MA.NAMESPACE, "Person");
+        Rating = factory.createURI(MA.NAMESPACE, "Rating");
+        TargetAudience = factory.createURI(MA.NAMESPACE, "TargetAudience");
+        Track = factory.createURI(MA.NAMESPACE, "Track");
+        VideoTrack = factory.createURI(MA.NAMESPACE, "VideoTrack");
+        alternativeTitle = factory.createURI(MA.NAMESPACE, "alternativeTitle");
+        averageBitRate = factory.createURI(MA.NAMESPACE, "averageBitRate");
+        collectionName = factory.createURI(MA.NAMESPACE, "collectionName");
+        copyright = factory.createURI(MA.NAMESPACE, "copyright");
+        createdIn = factory.createURI(MA.NAMESPACE, "createdIn");
+        creationDate = factory.createURI(MA.NAMESPACE, "creationDate");
+        date = factory.createURI(MA.NAMESPACE, "date");
+        depictsFictionalLocation = factory.createURI(MA.NAMESPACE, "depictsFictionalLocation");
+        description = factory.createURI(MA.NAMESPACE, "description");
+        duration = factory.createURI(MA.NAMESPACE, "duration");
+        editDate = factory.createURI(MA.NAMESPACE, "editDate");
+        features = factory.createURI(MA.NAMESPACE, "features");
+        fragmentName = factory.createURI(MA.NAMESPACE, "fragmentName");
+        frameHeight = factory.createURI(MA.NAMESPACE, "frameHeight");
+        frameRate = factory.createURI(MA.NAMESPACE, "frameRate");
+        frameSizeUnit = factory.createURI(MA.NAMESPACE, "frameSizeUnit");
+        frameWidth = factory.createURI(MA.NAMESPACE, "frameWidth");
+        hasAccessConditions = factory.createURI(MA.NAMESPACE, "hasAccessConditions");
+        hasAudioDescription = factory.createURI(MA.NAMESPACE, "hasAudioDescription");
+        hasCaptioning = factory.createURI(MA.NAMESPACE, "hasCaptioning");
+        hasChapter = factory.createURI(MA.NAMESPACE, "hasChapter");
+        hasClassification = factory.createURI(MA.NAMESPACE, "hasClassification");
+        hasClassificationSystem = factory.createURI(MA.NAMESPACE, "hasClassificationSystem");
+        hasCompression = factory.createURI(MA.NAMESPACE, "hasCompression");
+        hasContributedTo = factory.createURI(MA.NAMESPACE, "hasContributedTo");
+        hasContributor = factory.createURI(MA.NAMESPACE, "hasContributor");
+        hasCopyrightOver = factory.createURI(MA.NAMESPACE, "hasCopyrightOver");
+        hasCreated = factory.createURI(MA.NAMESPACE, "hasCreated");
+        hasCreator = factory.createURI(MA.NAMESPACE, "hasCreator");
+        hasFormat = factory.createURI(MA.NAMESPACE, "hasFormat");
+        hasFragment = factory.createURI(MA.NAMESPACE, "hasFragment");
+        hasGenre = factory.createURI(MA.NAMESPACE, "hasGenre");
+        hasKeyword = factory.createURI(MA.NAMESPACE, "hasKeyword");
+        hasLanguage = factory.createURI(MA.NAMESPACE, "hasLanguage");
+        hasLocationCoordinateSystem = factory.createURI(MA.NAMESPACE, "hasLocationCoordinateSystem");
+        hasMember = factory.createURI(MA.NAMESPACE, "hasMember");
+        hasNamedFragment = factory.createURI(MA.NAMESPACE, "hasNamedFragment");
+        hasPermissions = factory.createURI(MA.NAMESPACE, "hasPermissions");
+        hasPolicy = factory.createURI(MA.NAMESPACE, "hasPolicy");
+        hasPublished = factory.createURI(MA.NAMESPACE, "hasPublished");
+        hasPublisher = factory.createURI(MA.NAMESPACE, "hasPublisher");
+        hasRating = factory.createURI(MA.NAMESPACE, "hasRating");
+        hasRatingSystem = factory.createURI(MA.NAMESPACE, "hasRatingSystem");
+        hasRelatedImage = factory.createURI(MA.NAMESPACE, "hasRelatedImage");
+        hasRelatedLocation = factory.createURI(MA.NAMESPACE, "hasRelatedLocation");
+        hasRelatedResource = factory.createURI(MA.NAMESPACE, "hasRelatedResource");
+        hasSigning = factory.createURI(MA.NAMESPACE, "hasSigning");
+        hasSource = factory.createURI(MA.NAMESPACE, "hasSource");
+        hasSubtitling = factory.createURI(MA.NAMESPACE, "hasSubtitling");
+        hasTargetAudience = factory.createURI(MA.NAMESPACE, "hasTargetAudience");
+        hasTrack = factory.createURI(MA.NAMESPACE, "hasTrack");
+        isCaptioningOf = factory.createURI(MA.NAMESPACE, "isCaptioningOf");
+        isChapterOf = factory.createURI(MA.NAMESPACE, "isChapterOf");
+        isCopyrightedBy = factory.createURI(MA.NAMESPACE, "isCopyrightedBy");
+        isCreationLocationOf = factory.createURI(MA.NAMESPACE, "isCreationLocationOf");
+        isFictionalLocationDepictedIn = factory.createURI(MA.NAMESPACE, "isFictionalLocationDepictedIn");
+        isFragmentOf = factory.createURI(MA.NAMESPACE, "isFragmentOf");
+        isImageRelatedTo = factory.createURI(MA.NAMESPACE, "isImageRelatedTo");
+        isLocationRelatedTo = factory.createURI(MA.NAMESPACE, "isLocationRelatedTo");
+        isMemberOf = factory.createURI(MA.NAMESPACE, "isMemberOf");
+        isNamedFragmentOf = factory.createURI(MA.NAMESPACE, "isNamedFragmentOf");
+        isProvidedBy = factory.createURI(MA.NAMESPACE, "isProvidedBy");
+        isRelatedTo = factory.createURI(MA.NAMESPACE, "isRelatedTo");
+        isSigningOf = factory.createURI(MA.NAMESPACE, "isSigningOf");
+        isSourceOf = factory.createURI(MA.NAMESPACE, "isSourceOf");
+        isTargetAudienceOf = factory.createURI(MA.NAMESPACE, "isTargetAudienceOf");
+        isTrackOf = factory.createURI(MA.NAMESPACE, "isTrackOf");
+        locationAltitude = factory.createURI(MA.NAMESPACE, "locationAltitude");
+        locationLatitude = factory.createURI(MA.NAMESPACE, "locationLatitude");
+        locationLongitude = factory.createURI(MA.NAMESPACE, "locationLongitude");
+        locationName = factory.createURI(MA.NAMESPACE, "locationName");
+        locator = factory.createURI(MA.NAMESPACE, "locator");
+        mainOriginalTitle = factory.createURI(MA.NAMESPACE, "mainOriginalTitle");
+        numberOfTracks = factory.createURI(MA.NAMESPACE, "numberOfTracks");
+        playsIn = factory.createURI(MA.NAMESPACE, "playsIn");
+        provides = factory.createURI(MA.NAMESPACE, "provides");
+        ratingScaleMax = factory.createURI(MA.NAMESPACE, "ratingScaleMax");
+        ratingScaleMin = factory.createURI(MA.NAMESPACE, "ratingScaleMin");
+        ratingValue = factory.createURI(MA.NAMESPACE, "ratingValue");
+        recordDate = factory.createURI(MA.NAMESPACE, "recordDate");
+        releaseDate = factory.createURI(MA.NAMESPACE, "releaseDate");
+        samplingRate = factory.createURI(MA.NAMESPACE, "samplingRate");
+        title = factory.createURI(MA.NAMESPACE, "title");
+        trackName = factory.createURI(MA.NAMESPACE, "trackName");
+    }
+}