Class SimpleRDF
- All Implemented Interfaces:
RDF
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescription(package private) static interface
Marker interface to say that this RDFTerm is part of the Simple implementation. -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final UUID
Unique salt per instance, forcreateBlankNode(String)
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionCreate a new blank node.createBlankNode
(String name) Create a blank node based on the given name.Create a new dataset.Create a new graph.Create an IRI from a (possibly escaped) String.createLiteral
(String literal) Create a simple literal.createLiteral
(String literal, String language) Create a language-tagged literal.createLiteral
(String literal, IRI dataType) Create a literal with the specified data type.createQuad
(BlankNodeOrIRI graphName, BlankNodeOrIRI subject, IRI predicate, RDFTerm object) Create a quad.createTriple
(BlankNodeOrIRI subject, IRI predicate, RDFTerm object) Create a triple.
-
Field Details
-
SALT
Unique salt per instance, forcreateBlankNode(String)
-
-
Constructor Details
-
SimpleRDF
public SimpleRDF()
-
-
Method Details
-
createBlankNode
Description copied from interface:RDF
Create a new blank node.The returned blank node MUST NOT be equal to any existing
BlankNode
instances according toBlankNode.equals(Object)
.- Specified by:
createBlankNode
in interfaceRDF
- Returns:
- A new, unique
BlankNode
-
createBlankNode
Description copied from interface:RDF
Create a blank node based on the given name.All
BlankNode
s created with the givenname
on a particular instance ofRDF
MUST be equivalent according toBlankNode.equals(Object)
,The returned BlankNode MUST NOT be equal to
BlankNode
instances returned for any othername
or those returned fromRDF.createBlankNode()
.The returned BlankNode SHOULD NOT be equivalent to any BlankNodes created on a different
RDF
instance, e.g. different instances ofRDF
should produce different blank nodes for the samename
unless they purposely are intending to create equivalentBlankNode
instances (e.g. a reinstatedSerializable
factory).- Specified by:
createBlankNode
in interfaceRDF
- Parameters:
name
- A non-empty, non-null, String that is unique to this blank node in the context of thisRDF
.- Returns:
- A BlankNode for the given name
-
createGraph
Description copied from interface:RDF
Create a new graph. It is undefined if the graph will be persisted by any underlying storage mechanism.- Specified by:
createGraph
in interfaceRDF
- Returns:
- A new Graph
-
createDataset
Description copied from interface:RDF
Create a new dataset. It is undefined if the dataset will be persisted by any underlying storage mechanism.- Specified by:
createDataset
in interfaceRDF
- Returns:
- A new Dataset
- Throws:
UnsupportedOperationException
-
createIRI
Description copied from interface:RDF
Create an IRI from a (possibly escaped) String. The provided iri string MUST be valid according to the W3C RDF-1.1 IRI definition. -
createLiteral
Description copied from interface:RDF
Create a simple literal. The provided lexical form should not be escaped in any sense, e.g. should not include "quotes" unless those are part of the literal value. The returned Literal MUST have aLiteral.getLexicalForm()
that is equal to the provided lexical form, MUST NOT have aLiteral.getLanguageTag()
present, and SHOULD return aLiteral.getDatatype()
that is equal to the IRIhttp://www.w3.org/2001/XMLSchema#string
.- Specified by:
createLiteral
in interfaceRDF
- Parameters:
literal
- The literal value in plain text- Returns:
- The created Literal
-
createLiteral
Description copied from interface:RDF
Create a literal with the specified data type. The provided lexical form should not be escaped in any sense, e.g. should not include "quotes" unless those are part of the literal value. It is RECOMMENDED that the provided dataType is one of the RDF-compatible XSD types. The provided lexical form SHOULD be in the lexical space of the provided dataType. The returned Literal SHOULD have aLiteral.getLexicalForm()
that is equal to the provided lexicalForm, MUST NOT have aLiteral.getLanguageTag()
present, and MUST return aLiteral.getDatatype()
that is equivalent to the provided dataType IRI.- Specified by:
createLiteral
in interfaceRDF
- Parameters:
literal
- The literal valuedataType
- The data type IRI for the literal value, e.g.http://www.w3.org/2001/XMLSchema#integer
- Returns:
- The created Literal
-
createLiteral
Description copied from interface:RDF
Create a language-tagged literal. The provided lexical form should not be escaped in any sense, e.g. should not include "quotes" unless those are part of the literal value. The provided language tag MUST be valid according to BCP47, e.g.en
. The provided language tag MAY be converted to lower case. The returned Literal SHOULD have aLiteral.getLexicalForm()
which is equal to the provided lexicalForm, MUST return aLiteral.getDatatype()
that is equal to the IRIhttp://www.w3.org/1999/02/22-rdf-syntax-ns#langString
, and MUST have aLiteral.getLanguageTag()
present which SHOULD be equal to the provided language tag (compared asString.toLowerCase(Locale)
usingLocale.ENGLISH
).- Specified by:
createLiteral
in interfaceRDF
- Parameters:
literal
- The literal valuelanguage
- The non-empty language tag as defined by BCP47- Returns:
- The created Literal
-
createTriple
Description copied from interface:RDF
Create a triple. The returned Triple SHOULD have aTriple.getSubject()
that is equal to the provided subject, aTriple.getPredicate()
that is equal to the provided predicate, and aTriple.getObject()
that is equal to the provided object.- Specified by:
createTriple
in interfaceRDF
- Parameters:
subject
- The IRI or BlankNode that is the subject of the triplepredicate
- The IRI that is the predicate of the tripleobject
- The IRI, BlankNode or Literal that is the object of the triple- Returns:
- The created Triple
-
createQuad
public Quad createQuad(BlankNodeOrIRI graphName, BlankNodeOrIRI subject, IRI predicate, RDFTerm object) throws IllegalArgumentException Description copied from interface:RDF
Create a quad.The returned Quad SHOULD have a
Quad.getGraphName()
that is equal to the provided graphName, aQuad.getSubject()
that is equal to the provided subject, aQuad.getPredicate()
that is equal to the provided predicate, and aQuad.getObject()
that is equal to the provided object.- Specified by:
createQuad
in interfaceRDF
- Parameters:
graphName
- The IRI or BlankNode that this quad belongs to, ornull
for the public graphsubject
- The IRI or BlankNode that is the subject of the quadpredicate
- The IRI that is the predicate of the quadobject
- The IRI, BlankNode or Literal that is the object of the quad- Returns:
- The created Quad
- Throws:
IllegalArgumentException
- If any of the provided arguments are not acceptable, e.g. because a Literal has a lexicalForm that is too large for an underlying storage.
-