1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.commons.rdf.simple;
19
20 import java.util.UUID;
21
22 import org.apache.commons.rdf.api.BlankNode;
23 import org.apache.commons.rdf.api.BlankNodeOrIRI;
24 import org.apache.commons.rdf.api.Dataset;
25 import org.apache.commons.rdf.api.Graph;
26 import org.apache.commons.rdf.api.IRI;
27 import org.apache.commons.rdf.api.Literal;
28 import org.apache.commons.rdf.api.Quad;
29 import org.apache.commons.rdf.api.RDFTerm;
30 import org.apache.commons.rdf.api.RDF;
31 import org.apache.commons.rdf.api.Triple;
32
33
34
35
36
37
38
39
40
41 public class SimpleRDF implements RDF {
42
43
44
45
46
47
48
49
50 static interface SimpleRDFTerm extends RDFTerm {
51 }
52
53
54
55
56 private final UUID SALT = UUID.randomUUID();
57
58 @Override
59 public BlankNode createBlankNode() {
60 return new BlankNodeImpl();
61 }
62
63 @Override
64 public BlankNode createBlankNode(final String name) {
65 return new BlankNodeImpl(SALT, name);
66 }
67
68 @Override
69 public Graph createGraph() {
70
71
72 return new GraphImpl(this);
73 }
74
75 @Override
76 public Dataset createDataset() throws UnsupportedOperationException {
77 return new DatasetImpl(this);
78 }
79
80 @Override
81 public IRI createIRI(final String iri) {
82 final IRI result = new IRIImpl(iri);
83
84 return Types.get(result).orElse(result);
85 }
86
87 @Override
88 public Literal createLiteral(final String literal) {
89 return new LiteralImpl(literal);
90 }
91
92 @Override
93 public Literal createLiteral(final String literal, final IRI dataType) {
94 return new LiteralImpl(literal, dataType);
95 }
96
97 @Override
98 public Literal createLiteral(final String literal, final String language) {
99 return new LiteralImpl(literal, language);
100 }
101
102 @Override
103 public Triple createTriple(final BlankNodeOrIRI subject, final IRI predicate, final RDFTerm object) {
104 return new TripleImpl(subject, predicate, object);
105 }
106
107 @Override
108 public Quad createQuad(final BlankNodeOrIRI graphName, final BlankNodeOrIRI subject, final IRI predicate, final RDFTerm object)
109 throws IllegalArgumentException {
110 return new QuadImpl(graphName, subject, predicate, object);
111 }
112 }