Skip to content

Commit 5653929

Browse files
committed
wip
1 parent 149fabd commit 5653929

File tree

8 files changed

+92
-35
lines changed

8 files changed

+92
-35
lines changed

core/rio/api/src/test/java/org/eclipse/rdf4j/rio/RDFWriterTest.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
import java.io.OutputStreamWriter;
3333
import java.io.Reader;
3434
import java.io.Writer;
35+
import java.nio.charset.StandardCharsets;
3536
import java.util.ArrayList;
3637
import java.util.Arrays;
3738
import java.util.Collection;
@@ -445,6 +446,8 @@ private void testRoundTripInternal(boolean preserveBNodeIds)
445446
rdfWriter.handleStatement(st30);
446447
rdfWriter.endRDF();
447448

449+
System.out.println(out.toString(StandardCharsets.UTF_8));
450+
448451
ByteArrayInputStream in = new ByteArrayInputStream(out.toByteArray());
449452
RDFParser rdfParser = rdfParserFactory.getParser();
450453
setupParserConfig(rdfParser.getParserConfig());

core/rio/jsonld/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
<dependency>
3636
<groupId>no.hasmac</groupId>
3737
<artifactId>hasmac-json-ld</artifactId>
38-
<version>0.3.0-SNAPSHOT</version>
38+
<version>0.4.0</version>
3939
</dependency>
4040
<dependency>
4141
<groupId>jakarta.json</groupId>

core/rio/jsonld/src/main/java/org/eclipse/rdf4j/rio/jsonld/JSONLDParser.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -179,10 +179,6 @@ public void handleQuad(Statement statement) {
179179
}
180180
}
181181

182-
@Override
183-
public void handleNamespace(String prefix, String uri) {
184-
185-
}
186182
}, new RdfValueFactory<Statement, Statement, IRI, Resource, Resource, Literal, Value>() {
187183
@Override
188184
public Statement createTriple(Resource subject, IRI predicate, Value object) {

core/rio/jsonld/src/main/java/org/eclipse/rdf4j/rio/jsonld/JSONLDSettings.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
import org.eclipse.rdf4j.rio.helpers.ClassRioSetting;
1616
import org.eclipse.rdf4j.rio.helpers.RioSettingImpl;
1717

18-
import no.hasmac.jsonld.document.Document;
1918
import no.hasmac.jsonld.document.JsonDocument;
2019

2120
/**

core/rio/jsonld/src/main/java/org/eclipse/rdf4j/rio/ndjsonld/NDJSONLDParser.java

Lines changed: 42 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,9 @@
1717
import java.io.InputStreamReader;
1818
import java.io.Reader;
1919
import java.nio.charset.StandardCharsets;
20-
import java.util.LinkedList;
20+
import java.util.ArrayList;
2121
import java.util.List;
22+
import java.util.Optional;
2223

2324
import org.apache.commons.io.input.BOMInputStream;
2425
import org.eclipse.rdf4j.model.Value;
@@ -28,9 +29,14 @@
2829
import org.eclipse.rdf4j.rio.RDFParseException;
2930
import org.eclipse.rdf4j.rio.jsonld.JSONLDParser;
3031

31-
import com.fasterxml.jackson.core.JsonFactory;
32-
import com.fasterxml.jackson.core.JsonParser;
33-
import com.github.jsonldjava.utils.JsonUtils;
32+
import jakarta.json.Json;
33+
import jakarta.json.JsonArray;
34+
import jakarta.json.JsonArrayBuilder;
35+
import jakarta.json.JsonStructure;
36+
import jakarta.json.JsonValue;
37+
import no.hasmac.jsonld.JsonLdError;
38+
import no.hasmac.jsonld.document.Document;
39+
import no.hasmac.jsonld.document.JsonDocument;
3440

3541
/**
3642
* Introduce a parser capable of parsing Newline Delimited JSON-LD, where each line is a serialized JSON-LD record. The
@@ -62,27 +68,38 @@ public NDJSONLDParser(final ValueFactory valueFactory) {
6268
public RDFFormat getRDFFormat() {
6369
return RDFFormat.NDJSONLD;
6470
}
65-
//
66-
// @Override
67-
// protected Object getJSONObject(InputStream in, Reader reader, JsonFactory factory) throws IOException {
68-
// List<Object> arrayOfJSONLD = new LinkedList<>();
69-
// try (BufferedReader bufferedReader = new BufferedReader(reader)) {
70-
// String line;
71-
// while ((line = bufferedReader.readLine()) != null) {
72-
// if (!line.isEmpty()) {
73-
// JsonParser nextParser = factory
74-
// .createParser(new ByteArrayInputStream(line.getBytes(StandardCharsets.UTF_8)));
75-
// Object singleJSONLD = JsonUtils.fromJsonParser(nextParser);
76-
// if (singleJSONLD instanceof List) {
77-
// arrayOfJSONLD.addAll((List) singleJSONLD);
78-
// } else {
79-
// arrayOfJSONLD.add(singleJSONLD);
80-
// }
81-
// }
82-
// }
83-
// return arrayOfJSONLD;
84-
// }
85-
// }
71+
72+
@Override
73+
protected Document getDocument(InputStream in, Reader reader) throws JsonLdError, IOException {
74+
if (in != null && reader == null) {
75+
reader = new InputStreamReader(in, StandardCharsets.UTF_8);
76+
}
77+
78+
List<JsonValue> arrayOfJSONLD = new ArrayList<>();
79+
try (BufferedReader bufferedReader = new BufferedReader(reader)) {
80+
String line;
81+
while ((line = bufferedReader.readLine()) != null) {
82+
if (!line.isEmpty()) {
83+
JsonDocument jsonDocument = JsonDocument
84+
.of(new ByteArrayInputStream(line.getBytes(StandardCharsets.UTF_8)));
85+
Optional<JsonStructure> jsonContent = jsonDocument.getJsonContent();
86+
if (jsonContent.isPresent()) {
87+
JsonStructure jsonStructure = jsonContent.get();
88+
if (jsonStructure.getValueType() == JsonStructure.ValueType.ARRAY) {
89+
arrayOfJSONLD.addAll(jsonStructure.asJsonArray());
90+
}
91+
arrayOfJSONLD.add(jsonContent.get());
92+
}
93+
}
94+
}
95+
96+
JsonArrayBuilder arrayBuilder = Json.createArrayBuilder(arrayOfJSONLD);
97+
JsonArray jsonArray = arrayBuilder.build();
98+
99+
return JsonDocument.of(jsonArray);
100+
}
101+
102+
}
86103

87104
@Override
88105
public void parse(InputStream in, String baseURI) throws RDFParseException, RDFHandlerException, IOException {

core/rio/jsonld/src/test/java/org/eclipse/rdf4j/rio/jsonld/JSONLDParserCustomTest.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,7 @@
1212

1313
import static org.assertj.core.api.AssertionsForClassTypes.assertThatThrownBy;
1414
import static org.junit.jupiter.api.Assertions.assertEquals;
15-
import static org.junit.jupiter.api.Assertions.assertNotEquals;
16-
import static org.junit.jupiter.api.Assertions.assertNotNull;
1715
import static org.junit.jupiter.api.Assertions.assertTrue;
18-
import static org.junit.jupiter.api.Assertions.fail;
1916

2017
import java.io.StringReader;
2118
import java.net.URI;

core/rio/jsonld/src/test/java/org/eclipse/rdf4j/rio/jsonld/JSONLDWriterTest.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515

1616
import java.io.ByteArrayInputStream;
1717
import java.io.ByteArrayOutputStream;
18-
import java.io.IOException;
1918
import java.io.StringWriter;
2019

2120
import org.eclipse.rdf4j.model.IRI;

core/rio/jsonld/src/test/java/org/eclipse/rdf4j/rio/ndjsonld/NDJSONLDParserHandlerTest.java

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,4 +27,50 @@ protected RDFParser getParser() {
2727
protected RDFWriter createWriter(OutputStream output) {
2828
return new NDJSONLDWriter(output);
2929
}
30+
31+
@Override
32+
public final void testUnknownLanguageWithMessageWithFailCase1() throws Exception {
33+
// Not support by JSON-LD
34+
}
35+
36+
@Override
37+
public void testUnknownLanguageNoMessageNoFailCase1() throws Exception {
38+
// Not support by JSON-LD
39+
}
40+
41+
@Override
42+
public void testUnknownLanguageNoMessageNoFailCase2() throws Exception {
43+
// Not support by JSON-LD
44+
}
45+
46+
@Override
47+
public void testUnknownLanguageNoMessageNoFailCase3() throws Exception {
48+
// Not support by JSON-LD
49+
}
50+
51+
@Override
52+
public void testUnknownLanguageNoMessageNoFailCase4() throws Exception {
53+
// Not support by JSON-LD
54+
}
55+
56+
@Override
57+
public void testUnknownLanguageNoMessageNoFailCase5() throws Exception {
58+
// Not support by JSON-LD
59+
}
60+
61+
@Override
62+
public void testUnknownLanguageWithMessageNoFailCase1() throws Exception {
63+
// Not support by JSON-LD
64+
}
65+
66+
@Override
67+
public void testUnknownLanguageWithMessageNoFailCase2() throws Exception {
68+
// Not support by JSON-LD
69+
}
70+
71+
@Override
72+
public void testUnknownLanguageWithMessageNoFailCase3() throws Exception {
73+
// Not support by JSON-LD
74+
}
75+
3076
}

0 commit comments

Comments
 (0)