/* * Created on Feb 27, 2005 * * To change the template for this generated file go to * Window - Preferences - Java - Code Generation - Code and Comments */ package org.mindswap.swoop.utils.explain; import java.util.Hashtable; import java.net.URI; import java.net.URISyntaxException; import org.semanticweb.owl.io.vocabulary.RDFVocabularyAdapter; /** * @author Dave * * To change the template for this generated type comment go to * Window - Preferences - Java - Code Generation - Code and Comments */ public class RDFVocabularyExplanationDeposit extends Hashtable implements VocabularyExplanationDeposit { private static URI RDF_REF = null; private static RDFVocabularyExplanationDeposit myDeposit = null; private int myNumExplanations = 0; public static RDFVocabularyExplanationDeposit getInstance() { if (myDeposit == null) { try { RDF_REF = new URI("http://www.w3.org/TR/rdf-schema/"); myDeposit = new RDFVocabularyExplanationDeposit(); } catch (URISyntaxException e) { e.printStackTrace(); } } return myDeposit; } private RDFVocabularyExplanationDeposit() throws URISyntaxException { URI [] sources = { RDF_REF }; String name; // RDF Classes name = RDFVocabularyAdapter.RDF + "XMLLiteral"; URI [] sources_XMLLit = { new URI("http://www.w3.org/TR/rdf-schema/#ch_xmlliteral") }; add( new RDFVocabularyExplanation( new URI(name), name, "<p>The class rdf:XMLLiteral is the class of XML literal values. rdf:XMLLiteral is an instance of rdfs:Datatype and a subclass of rdfs:Literal.</p>", sources_XMLLit, RDF_REF, null) ); name = RDFVocabularyAdapter.RDF + "Property"; URI [] sources_props = { new URI("http://www.w3.org/TR/rdf-schema/#ch_property") }; add( new RDFVocabularyExplanation( new URI(name), name, "<p>rdf:Property is the class of RDF properties. rdf:Property is an instance of rdfs:Class.</p>", sources_props, RDF_REF, null) ); // RDF properties name = RDFVocabularyAdapter.RDF + "type"; URI [] sources_type = { new URI("http://www.w3.org/TR/rdf-schema/#ch_type") }; add( new RDFVocabularyExplanation( new URI(name), name, "<p>rdf:type is an instance of rdf:Property that is used to state that a resource is an instance of a class.</p>" + "<p>A triple of the form:</p>" + "<p>R rdf:type C</p>" + "<p>states that C is an instance of rdfs:Class and R is an instance of C.</p>" + "<p>The rdfs:domain of rdf:type is rdfs:Resource. The rdfs:range of rdf:type is rdfs:Class.</p>", sources_type, RDF_REF, null) ); // RDF container classes name = RDFVocabularyAdapter.RDF + "Bag"; URI [] sources_bag = { new URI("http://www.w3.org/TR/rdf-schema/#ch_bag") }; add( new RDFVocabularyExplanation( new URI(name), name, "<p>The rdf:Bag class is the class of RDF 'Bag' containers. It is a subclass of rdfs:Container. Whilst formally it is no different from an rdf:Seq or an rdf:Alt, the rdf:Bag class is used conventionally to indicate to a human reader that the container is intended to be unordered.</p>", sources_bag, RDF_REF, null) ); name = RDFVocabularyAdapter.RDF + "Seq"; URI [] sources_seq = { new URI("http://www.w3.org/TR/rdf-schema/#ch_seq") }; add( new RDFVocabularyExplanation( new URI(name), name, "<p>The rdf:Seq class is the class of RDF 'Sequence' containers. It is a subclass of rdfs:Container. Whilst formally it is no different from an rdf:Bag or an rdf:Alt, the rdf:Seq class is used conventionally to indicate to a human reader that the numerical ordering of the container membership properties of the container is intended to be significant.</p>", sources_seq, RDF_REF, null) ); name = RDFVocabularyAdapter.RDF + "Alt"; URI [] sources_alt = { new URI("http://www.w3.org/TR/rdf-schema/#ch_alt") }; add( new RDFVocabularyExplanation( new URI(name), name, "<p>The rdf:Alt class is the class of RDF 'Alternative' containers. It is a subclass of rdfs:Container. Whilst formally it is no different from an rdf:Seq or an rdf:Bag, the rdf:Alt class is used conventionally to indicate to a human reader that typical processing will be to select one of the members of the container. The first member of the container, i.e. the value of the rdf:_1 property, is the default choice.</p>", sources_alt, RDF_REF, null) ); // RDF Collections name = RDFVocabularyAdapter.RDF + "List"; URI [] sources_list = { new URI("http://www.w3.org/TR/rdf-schema/#ch_list") }; add( new RDFVocabularyExplanation( new URI(name), name, "<p>rdf:List is an instance of rdfs:Class that can be used to build descriptions of lists and other list-like structures.</p>", sources_list, RDF_REF, null) ); name = RDFVocabularyAdapter.RDF + "first"; URI [] sources_first = { new URI("http://www.w3.org/TR/rdf-schema/#ch_first") }; add( new RDFVocabularyExplanation( new URI(name), name, "<p>rdf:first is an instance of rdf:Property that can be used to build descriptions of lists and other list-like structures.</p>" + "<p>A triple of the form:</p>" + "<p>L rdf:first O</p>" + "<p>states that there is a first-element relationship between L and O.</p>" + "<p>The rdfs:domain of rdf:first is rdf:List. The rdfs:range of rdf:first is rdfs:Resource.</p>", sources_first, RDF_REF, null) ); name = RDFVocabularyAdapter.RDF + "rest"; URI [] sources_rest = { new URI("http://www.w3.org/TR/rdf-schema/#ch_rest") }; add( new RDFVocabularyExplanation( new URI(name), name, "<p>rdf:rest is an instance of rdf:Property that can be used to build descriptions of lists and other list-like structures.</p>" + "<p>A triple of the form:</p>" + "<p>L rdf:rest O</p>" + "<p>states that there is a rest-of-list relationship between L and O.</p>" + "<p>The rdfs:domain of rdf:rest is rdf:List. The rdfs:range of rdf:rest is rdf:List.</p>", sources_rest, RDF_REF, null) ); name = RDFVocabularyAdapter.RDF + "nil"; URI [] sources_nil = { new URI("http://www.w3.org/TR/rdf-schema/#ch_nil") }; add( new RDFVocabularyExplanation( new URI(name), name, "<p>The resource rdf:nil is an instance of rdf:List that can be used to represent an empty list or other list-like structure.</p>" + "<p>A triple of the form:</p>" + "<p>L rdf:rest rdf:nil</p>" + "<p>states that L is an instance of rdf:List that has one item; that item can be indicated using the rdf:first property.</p>", sources_nil, RDF_REF, null) ); //RDF Reification vocabulary name = RDFVocabularyAdapter.RDF + "Statement"; URI [] sources_statement = { new URI("http://www.w3.org/TR/rdf-schema/#ch_statement") }; add( new RDFVocabularyExplanation( new URI(name), name, "<p>rdf:Statement is an instance of rdfs:Class. It is intended to represent the class of RDF statements. An RDF statement is the statement made by a token of an RDF triple. The subject of an RDF statement is the instance of rdfs:Resource identified by the subject of the triple. The predicate of an RDF statement is the instance of rdf:Property identified by the predicate of the triple. The object of an RDF statement is the instance of rdfs:Resource identified by the object of the triple. rdf:Statement is in the domain of the properties rdf:predicate, rdf:subject and rdf:object. Different individual rdf:Statement instances may have the same values for their rdf:predicate, rdf:subject and rdf:object properties.</p>", sources_statement, RDF_REF, null) ); name = RDFVocabularyAdapter.RDF + "subject"; URI [] resources_subj = { new URI("http://www.w3.org/TR/rdf-schema/#ch_subject") }; add( new RDFVocabularyExplanation( new URI(name), name, "<p>rdf:subject is an instance of rdf:Property that is used to state the subject of a statement.</p>" + "<p>A triple of the form:</p>" + "<p>S rdf:subject R</p>" + "<p>states that S is an instance of rdf:Statement and that the subject of S is R.</p>" + "<p>The rdfs:domain of rdf:subject is rdf:Statement. The rdfs:range of rdf:subject is rdfs:Resource.</p>", resources_subj, RDF_REF, null) ); name = RDFVocabularyAdapter.RDF + "predicate"; URI [] sources_pred = { new URI("http://www.w3.org/TR/rdf-schema/#ch_predicate") }; add( new RDFVocabularyExplanation( new URI(name), name, "<p>rdf:predicate is an instance of rdf:Property that is used to state the predicate of a statement.</p>" + "<p>A triple of the form:</p>" + "<p>S rdf:predicate P</p>" + "<p>states that S is an instance of rdf:Statement, that P is an instance of rdf:Property and that the predicate of S is P.</p>" + "<p>The rdfs:domain of rdf:predicate is rdf:Statement and the rdfs:range is rdfs:Resource.</p>", sources_pred, RDF_REF, null) ); name = RDFVocabularyAdapter.RDF + "object"; URI [] sources_obj = { new URI("http://www.w3.org/TR/rdf-schema/#ch_object") }; add( new RDFVocabularyExplanation( new URI(name), name, "<p>rdf:object is an instance of rdf:Property that is used to state the object of a statement.</p>" + "<p>A triple of the form:</p>" + "<p>S rdf:object O</p>" + "<p>states that S is an instance of rdf:Statement and that the object of S is O.</p>" + "<p>The rdfs:domain of rdf:object is rdf:Statement. The rdfs:range of rdf:object is rdfs:Resource.</p>", sources_obj, RDF_REF, null) ); // RDF Utility Vocabulary name = RDFVocabularyAdapter.RDF + "value"; URI [] sources_value = { new URI("http://www.w3.org/TR/rdf-schema/#ch_value") }; add( new RDFVocabularyExplanation( new URI(name), name, "<p>rdf:value is an instance of rdf:Property that may be used in describing structured values.</p>" + "<p>rdf:value has no meaning on its own. It is provided as a piece of vocabulary that may be used in idioms such as illustrated in example 16 of the RDF primer [RDF-PRIMER]. Despite the lack of formal specification of the meaning of this property, there is value in defining it to encourage the use of a common idiom in examples of this kind.</p>" + "<p>The rdfs:domain of rdf:value is rdfs:Resource. The rdfs:range of rdf:value is rdfs:Resource.</p>", sources_value, RDF_REF, null) ); } public void add(RDFVocabularyExplanation exp) { super.put( exp.getURI(), exp ); myNumExplanations++; } public VocabularyExplanation explain(URI uri) { return (RDFVocabularyExplanation)super.get(uri); } public int numExplanations() { return myNumExplanations; } }