/**
* AnnoteaB
* Copyright 2011 by Michael Peter Christen, mc@yacy.net, Frankfurt am Main, Germany
* First released 16.12.2011 at http://yacy.net
*
* 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 <http://www.gnu.org/licenses/>.
*/
package net.yacy.cora.lod.vocabulary;
import java.util.Set;
import net.yacy.cora.lod.Literal;
import net.yacy.cora.lod.Vocabulary;
/**
* Annotea [Annotea] is a W3C Semantic Web Advanced Development project that
* provides a framework for rich communication about Web pages through shared RDF metadata.
*
* The Annotea Bookmark schema [BookmarkNS] provides the basic concepts found in common browser bookmark implementations.
* These basic concepts are also captured in the XML Bookmark Exchange Language [XBEL].
* The use of RDF in Annotea permits bookmarks to express additional semantics.
* XBEL can be easily mapped into this schema.
*
* http://www.w3.org/2003/07/Annotea/BookmarkSchema-20030707
*/
public enum AnnoteaB implements Vocabulary {
Bookmark, // The class to which all bookmarks belong
Shortcut, // Specifies a behavior; when the object of type 'Shortcut' is activated, the client follows the 'recalls' property
// and activates the object at the end of that 'recalls' property. The target object may be another Bookmark or may be a Topic.
Topic, //
bookmarks, // This corresponds to XBEL:href an object of type Bookmark is expected to have a 'recalls' relationship to the document being bookmarked.
// The 'bookmarks' property is an older name for the 'recalls' relationship.
hasTopic, // relates a bookmark to a topic. A bookmark must have at least one hasTopic property. The typical user operation of following a bookmark link
// will use the value of the b:recalls property. This property corresponds to XBEL:href property.An instance of
leadsTo, // connects a Shortcut to the bookmark or topic that is being included by reference in some other topic
recalls, // Relates a bookmark with the resource that has been bookmarked. This corresponds to XBEL:href;
// an object of type Bookmark is expected to have a 'recalls' relationship to the document being bookmarked
subTopicOf; // Describes a relationship between Topics. When a topic T is a sub-topic of a topic U then all bookmarks that have topic T are also considered to have topic U.
// A topic may be a sub-topic of one or more topics; trivially, every topic is a sub-topic of itself.
// More formally; for all B, T, and U: b b:hasTopic T, T b:subTopicOf U implies B b:hasTopic U.
public final static String NAMESPACE = "http://www.w3.org/2002/01/bookmark#";
public final static String PREFIX = "b";
private final String predicate;
private AnnoteaB() {
this.predicate = NAMESPACE + this.name();
}
@Override
public String getNamespace() {
return NAMESPACE;
}
@Override
public String getNamespacePrefix() {
return PREFIX;
}
@Override
public Set<Literal> getLiterals() {
return null;
}
@Override
public String getPredicate() {
return this.predicate;
}
@Override
public String getURIref() {
return PREFIX + ':' + this.name();
}
}