diff --git a/source/net/yacy/cora/lod/vocabulary/DublinCore.java b/source/net/yacy/cora/lod/vocabulary/DublinCore.java
index c67aa6acd..31868c72c 100644
--- a/source/net/yacy/cora/lod/vocabulary/DublinCore.java
+++ b/source/net/yacy/cora/lod/vocabulary/DublinCore.java
@@ -1,3 +1,28 @@
+/**
+ * DublinCore
+ * Copyright 2011 by Michael Peter Christen, mc@yacy.net, Frankfurt am Main, Germany
+ * First released 16.12.2011 at http://yacy.net
+ *
+ * $LastChangedDate: 2011-04-14 00:04:23 +0200 (Do, 14 Apr 2011) $
+ * $LastChangedRevision: 7653 $
+ * $LastChangedBy: orbiter $
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program in the file lgpl21.txt
+ * If not, see .
+ */
+
+
package net.yacy.cora.lod.vocabulary;
public enum DublinCore implements Vocabulary {
diff --git a/source/net/yacy/cora/lod/vocabulary/HttpHeader.java b/source/net/yacy/cora/lod/vocabulary/HttpHeader.java
new file mode 100644
index 000000000..5458c133e
--- /dev/null
+++ b/source/net/yacy/cora/lod/vocabulary/HttpHeader.java
@@ -0,0 +1,107 @@
+/**
+ * HttpHeader
+ * Copyright 2011 by Michael Peter Christen, mc@yacy.net, Frankfurt am Main, Germany
+ * First released 16.12.2011 at http://yacy.net
+ *
+ * $LastChangedDate: 2011-04-14 00:04:23 +0200 (Do, 14 Apr 2011) $
+ * $LastChangedRevision: 7653 $
+ * $LastChangedBy: orbiter $
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program in the file lgpl21.txt
+ * If not, see .
+ */
+
+
+package net.yacy.cora.lod.vocabulary;
+
+public enum HttpHeader implements Vocabulary {
+
+ //The following properties may appear in nodes of type Request:
+
+ accept, // representing an Accept header,
+ acceptCharset, // representing an Accept-Charset header,
+ acceptEncoding, // representing an Accept-Encoding header,
+ acceptLanguage, // representing an Accept-Language header,
+ authorization, // representing an Authorization header,
+ expect, // representing an Expect header,
+ from, // representing a From header,
+ host, // representing a Host header,
+ ifMatch, // representing an If-Match header,
+ ifModifiedSince, // representing an If-Modified-Since header,
+ ifNoneMatch, // representing an If-None-Match header,
+ ifRange, // representing an If-Range header,
+ ifUnmodifiedSince, // representing an If-Unmodified-Since header,
+ maxForwards, // representing a Max-Forwards header,
+ proxyAuthorization, // representing a Proxy-Authorization header,
+ range, // representing a Range header,
+ referer, // representing a Referer header,
+ te, // representing a TE header,
+ userAgent, // representing a User-Agent header.
+
+ //The following properties may appear in nodes of type Response:
+ acceptRanges, // representing a Accept-Ranges header,
+ age, // representing an Age header,
+ etag, // representing an ETag header,
+ location, // representing a Location header,
+ proxyAuthenticate, // representing a Proxy-Authenticate header,
+ retryAfter, // representing a Retry-After header,
+ server, // representing a Server header,
+ vary, // representing a Vary header,
+ wwwAuthenticate, // representing a WWW-Authenticate header.
+
+ //The following properties may appear in nodes of type Request or Response:
+ allow, // representing an Allow header,
+ cacheControl, // representing a Cache-Control header,
+ connection, // representing a Connection header,
+ contentEncoding, // representing a Content-Encoding header,
+ contentLanguage, // representing a Content-Language header,
+ contentLength, // representing a Content-Length header,
+ contentLocation, // representing a Content-Location header,
+ contentMD5, // representing a Content-MD5 header,
+ contentRange, // representing a Content-Range header,
+ contentType, // representing a Content-Type header,
+ date, // representing a Date header,
+ expires, // representing an Expires header,
+ lastModified, // representing a Last-Modified header,
+ pragma, // representing a Pragma header,
+ trailer, // representing a Trailer header,
+ transferEncoding, // representing a Transfer-Encoding header,
+ upgrade, // representing an Upgrade header,
+ via, // representing a Via header,
+ warning; // representing a Warning header.
+
+ public final static String IDENTIFIER = "http://www.w3.org/WAI/ER/HTTP/WD-HTTP-in-RDF-20060131";
+ public final static String PREFIX = "http";
+
+ private final String predicate;
+
+ private HttpHeader() {
+ this.predicate = PREFIX + ":" + this.name();
+ }
+
+ @Override
+ public String getIdentifier() {
+ return IDENTIFIER;
+ }
+
+ @Override
+ public String getPrefix() {
+ return PREFIX;
+ }
+
+ @Override
+ public String getPredicate() {
+ return this.predicate;
+ }
+}
diff --git a/source/net/yacy/cora/lod/vocabulary/Vocabulary.java b/source/net/yacy/cora/lod/vocabulary/Vocabulary.java
index a2e7671d4..93a432bf0 100644
--- a/source/net/yacy/cora/lod/vocabulary/Vocabulary.java
+++ b/source/net/yacy/cora/lod/vocabulary/Vocabulary.java
@@ -1,11 +1,48 @@
+/**
+ * Vocabulary
+ * Copyright 2011 by Michael Peter Christen, mc@yacy.net, Frankfurt am Main, Germany
+ * First released 16.12.2011 at http://yacy.net
+ *
+ * $LastChangedDate: 2011-04-14 00:04:23 +0200 (Do, 14 Apr 2011) $
+ * $LastChangedRevision: 7653 $
+ * $LastChangedBy: orbiter $
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program in the file lgpl21.txt
+ * If not, see .
+ */
+
+
package net.yacy.cora.lod.vocabulary;
public interface Vocabulary {
+ /**
+ * get the RDF identifier
+ * @return
+ */
public String getIdentifier();
+ /**
+ * get the prefix for the predicates of this vocabulary
+ * @return
+ */
public String getPrefix();
+ /**
+ * get the predicate name which already contains the prefix and the ':'
+ * @return
+ */
public String getPredicate();
}
diff --git a/source/net/yacy/cora/lod/vocabulary/YaCyMetadata.java b/source/net/yacy/cora/lod/vocabulary/YaCyMetadata.java
new file mode 100644
index 000000000..7b7f31a30
--- /dev/null
+++ b/source/net/yacy/cora/lod/vocabulary/YaCyMetadata.java
@@ -0,0 +1,97 @@
+/**
+ * YaCyMetadata
+ * Copyright 2011 by Michael Peter Christen, mc@yacy.net, Frankfurt am Main, Germany
+ * First released 16.12.2011 at http://yacy.net
+ *
+ * $LastChangedDate: 2011-04-14 00:04:23 +0200 (Do, 14 Apr 2011) $
+ * $LastChangedRevision: 7653 $
+ * $LastChangedBy: orbiter $
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program in the file lgpl21.txt
+ * If not, see .
+ */
+
+
+package net.yacy.cora.lod.vocabulary;
+
+/**
+ * this is the vocabulary of the 'classic' YaCy metadata database
+ */
+public enum YaCyMetadata implements Vocabulary {
+
+ hash, // the url's hash
+ comp, // components: the url, description, author and tags. As 5th element, an ETag is possible
+ mod, // last-modified from the httpd
+ load, // time when the url was loaded
+ fresh, // time until this url is fresh
+ referrer, // (one of) the url's referrer hash(es)
+ md5, // the md5 of the url content (to identify changes)
+ size, // size of file in bytes
+ wc, // size of file by number of words; for video and audio: seconds
+ dt, // doctype, taken from extension or any other heuristic
+ flags, // flags; any stuff (see Word-Entity definition)
+ lang, // language
+ llocal, // # of outlinks to same domain; for video and image: width
+ lother, // # of outlinks to outside domain; for video and image: height
+ limage, // # of embedded image links
+ laudio, // # of embedded audio links; for audio: track number; for video: number of audio tracks
+ lvideo, // # of embedded video links
+ lapp; // # of embedded links to applications
+
+ /*
+ "String hash-12, " + // the url's hash
+ "String comp-360, " + // components: the url, description, author and tags. As 5th element, an ETag is possible
+ "Cardinal mod-4 {b256}, " + // last-modified from the httpd
+ "Cardinal load-4 {b256}, " + // time when the url was loaded
+ "Cardinal fresh-4 {b256}, " + // time until this url is fresh
+ "String referrer-12, " + // (one of) the url's referrer hash(es)
+ "byte[] md5-8, " + // the md5 of the url content (to identify changes)
+ "Cardinal size-6 {b256}, " + // size of file in bytes
+ "Cardinal wc-3 {b256}, " + // size of file by number of words; for video and audio: seconds
+ "byte[] dt-1, " + // doctype, taken from extension or any other heuristic
+ "Bitfield flags-4, " + // flags; any stuff (see Word-Entity definition)
+ "String lang-2, " + // language
+ "Cardinal llocal-2 {b256}, " + // # of outlinks to same domain; for video and image: width
+ "Cardinal lother-2 {b256}, " + // # of outlinks to outside domain; for video and image: height
+ "Cardinal limage-2 {b256}, " + // # of embedded image links
+ "Cardinal laudio-2 {b256}, " + // # of embedded audio links; for audio: track number; for video: number of audio tracks
+ "Cardinal lvideo-2 {b256}, " + // # of embedded video links
+ "Cardinal lapp-2 {b256}", // # of embedded links to applications
+ */
+
+ public final static String IDENTIFIER = "http://yacy.net/vocabularies/yacymetadata#";
+ public final static String PREFIX = "yacy";
+
+ private final String predicate;
+
+ private YaCyMetadata() {
+ this.predicate = PREFIX + ":" + this.name();
+ }
+
+ @Override
+ public String getIdentifier() {
+ return IDENTIFIER;
+ }
+
+ @Override
+ public String getPrefix() {
+ return PREFIX;
+ }
+
+ @Override
+ public String getPredicate() {
+ return this.predicate;
+ }
+
+}
diff --git a/source/net/yacy/cora/storage/MapStore.java b/source/net/yacy/cora/storage/MapStore.java
index 8a966fd33..5a051b40e 100644
--- a/source/net/yacy/cora/storage/MapStore.java
+++ b/source/net/yacy/cora/storage/MapStore.java
@@ -50,7 +50,7 @@ public interface MapStore extends Map>, Iterable