/* * RDFEntity.java * * Created on August 3, 2007, 2:31 PM * * Description: Indicates that the annotated class is an RDF entity, whose * associations are mapped into the RDF store. If the term does * not currently exist in the RDF store, it will be created. * * Copyright (C) August 3, 2007 Stephen L. Reed. * * This program is free software; you can redistribute it and/or modify it under the terms * of the GNU General Public License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ package org.texai.kb.persistence; import java.lang.annotation.Documented; import static java.lang.annotation.ElementType.TYPE; import java.lang.annotation.Retention; import static java.lang.annotation.RetentionPolicy.RUNTIME; import java.lang.annotation.Target; /** This interface defines the @RDFEntity annotation and its properties. * * @author reed */ @Target(TYPE) @Documented @Retention(RUNTIME) public @interface RDFEntity { /** (Optional) Defines the pairs of RDF namespace prefix and namespace URI used within this RDF entity * * @return a string array of name */ RDFNamespace[] namespaces() default { }; /** (Optional) Defines RDF class URI. * * @return the URI as a string */ String subject() default ""; /** (Optional) Defines the types of this entity. Each value must specify an existing RDF class URI. * * @return a string array of type URIs */ String[] type() default {"cyc:ObjectType"}; /** (Optional) Defines the RDF super classes of this entity. Each value must specify an existing RDF class URI. * * @return a string array of subClassOf URIs */ String[] subClassOf() default {"cyc:AbstractInformationStructure"}; /** (Optional) Defines the RDF persistence context URI. * * @return a string array of context URIs */ String context() default ""; }