1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.commons.rdf.jena;
19
20 import static org.junit.Assert.assertEquals;
21 import static org.junit.Assert.assertFalse;
22 import static org.junit.Assert.assertTrue;
23
24 import org.apache.commons.rdf.api.IRI;
25 import org.apache.commons.rdf.simple.SimpleRDF;
26 import org.apache.jena.graph.Node;
27 import org.apache.jena.graph.NodeFactory;
28 import org.apache.jena.sparql.core.Quad;
29 import org.junit.Test;
30
31
32
33
34
35 public class DefaultGraphInQuadTest {
36
37 JenaRDF rdf = new JenaRDF();
38 SimpleRDF simpleRDF = new SimpleRDF();
39 IRI example = rdf.createIRI("http://example.com/");
40 Node exampleJena = NodeFactory.createURI("http://example.com/");
41
42 @Test
43 public void createFromNull() throws Exception {
44 final JenaQuad q = rdf.createQuad(null, example, example, example);
45 assertFalse(q.getGraphName().isPresent());
46 assertTrue(q.asJenaQuad().isDefaultGraph());
47 assertEquals(Quad.defaultGraphIRI, q.asJenaQuad().getGraph());
48 }
49
50 @Test
51 public void createFromDefaultGraphIRI() throws Exception {
52 final JenaIRI defaultGraph = (JenaIRI) rdf.asRDFTerm(Quad.defaultGraphIRI);
53 final JenaQuad q = rdf.createQuad(defaultGraph, example, example, example);
54
55
56 assertTrue(q.asJenaQuad().isDefaultGraph());
57 assertEquals(Quad.defaultGraphIRI, q.asJenaQuad().getGraph());
58 assertFalse(q.getGraphName().isPresent());
59
60
61 }
62
63 @Test
64 public void createFromForeignDefaultGraph() throws Exception {
65
66 final IRI foreignDefaultGraph = simpleRDF.createIRI(Quad.defaultGraphIRI.getURI());
67 final JenaQuad q = rdf.createQuad(foreignDefaultGraph, example, example, example);
68
69
70 assertTrue(q.asJenaQuad().isDefaultGraph());
71 assertTrue(q.getGraphName().isPresent());
72 assertEquals(Quad.defaultGraphIRI, q.asJenaQuad().getGraph());
73 assertEquals(foreignDefaultGraph, q.getGraphName().get());
74
75
76 }
77
78
79 @Test
80 public void createFromDefaultGraphNodeGeneratedIRINode() throws Exception {
81
82 final IRI foreignDefaultGraph = rdf.createIRI(Quad.defaultGraphNodeGenerated.getURI());
83 final JenaQuad q = rdf.createQuad(foreignDefaultGraph, example, example, example);
84
85
86 assertTrue(q.asJenaQuad().isDefaultGraph());
87 assertFalse(q.getGraphName().isPresent());
88
89
90 }
91
92 @Test
93 public void createFromDefaultGraphNodeGeneratedIRIString() throws Exception {
94
95 final IRI foreignDefaultGraph = simpleRDF.createIRI(Quad.defaultGraphNodeGenerated.getURI());
96 final JenaQuad q = rdf.createQuad(foreignDefaultGraph, example, example, example);
97
98 assertTrue(q.asJenaQuad().isDefaultGraph());
99 assertTrue(q.getGraphName().isPresent());
100
101 assertEquals(Quad.defaultGraphNodeGenerated, q.asJenaQuad().getGraph());
102 assertEquals(foreignDefaultGraph, q.getGraphName().get());
103 }
104
105
106 @Test
107 public void defaultGraphIRI() throws Exception {
108 final Quad jenaQuad = Quad.create(Quad.defaultGraphIRI, exampleJena, exampleJena, exampleJena);
109 final JenaQuad q = rdf.asQuad(jenaQuad);
110 assertFalse(q.getGraphName().isPresent());
111 assertTrue(q.asJenaQuad().isDefaultGraph());
112 }
113
114 @Test
115 public void defaultGraphNodeGenerated() throws Exception {
116
117 final Quad jenaQuad = Quad.create(Quad.defaultGraphNodeGenerated, exampleJena, exampleJena, exampleJena);
118 final JenaQuad q = rdf.asQuad(jenaQuad);
119 assertFalse(q.getGraphName().isPresent());
120 assertTrue(q.asJenaQuad().isDefaultGraph());
121
122 assertEquals(Quad.defaultGraphNodeGenerated, q.asJenaQuad().getGraph());
123 }
124
125 @Test
126 public void unionGraph() throws Exception {
127
128
129 final Quad jenaQuad = Quad.create(Quad.unionGraph, exampleJena, exampleJena, exampleJena);
130 final JenaQuad q = rdf.asQuad(jenaQuad);
131
132
133 assertFalse(q.asJenaQuad().isDefaultGraph());
134 assertTrue(q.getGraphName().isPresent());
135 }
136 }