Skip to content

Commit

Permalink
#484 remove triplifier dependencies from the engine module
Browse files Browse the repository at this point in the history
  • Loading branch information
luigi-asprino committed Sep 16, 2024
1 parent 858672e commit 3233751
Show file tree
Hide file tree
Showing 8 changed files with 250 additions and 150 deletions.
84 changes: 84 additions & 0 deletions sparql-anything-cli/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,90 @@
<version>${project.version}</version>
</dependency>

<dependency>
<groupId>io.github.sparql-anything</groupId>
<artifactId>sparql-anything-binary</artifactId>
<version>${project.version}</version>
</dependency>

<dependency>
<groupId>io.github.sparql-anything</groupId>
<artifactId>sparql-anything-spreadsheet</artifactId>
<version>${project.version}</version>
</dependency>

<dependency>
<groupId>io.github.sparql-anything</groupId>
<artifactId>sparql-anything-rdf</artifactId>
<version>${project.version}</version>
</dependency>

<dependency>
<groupId>io.github.sparql-anything</groupId>
<artifactId>sparql-anything-csv</artifactId>
<version>${project.version}</version>
</dependency>

<dependency>
<groupId>io.github.sparql-anything</groupId>
<artifactId>sparql-anything-xml</artifactId>
<version>${project.version}</version>
</dependency>

<dependency>
<groupId>io.github.sparql-anything</groupId>
<artifactId>sparql-anything-docs</artifactId>
<version>${project.version}</version>
</dependency>

<dependency>
<groupId>io.github.sparql-anything</groupId>
<artifactId>sparql-anything-html</artifactId>
<version>${project.version}</version>
</dependency>

<dependency>
<groupId>io.github.sparql-anything</groupId>
<artifactId>sparql-anything-text</artifactId>
<version>${project.version}</version>
</dependency>

<dependency>
<groupId>io.github.sparql-anything</groupId>
<artifactId>sparql-anything-json</artifactId>
<version>${project.version}</version>
</dependency>

<dependency>
<groupId>io.github.sparql-anything</groupId>
<artifactId>sparql-anything-yaml</artifactId>
<version>${project.version}</version>
</dependency>

<dependency>
<groupId>io.github.sparql-anything</groupId>
<artifactId>sparql-anything-markdown</artifactId>
<version>${project.version}</version>
</dependency>

<dependency>
<groupId>io.github.sparql-anything</groupId>
<artifactId>sparql-anything-bibliography</artifactId>
<version>${project.version}</version>
</dependency>

<dependency>
<groupId>io.github.sparql-anything</groupId>
<artifactId>sparql-anything-archive</artifactId>
<version>${project.version}</version>
</dependency>

<dependency>
<groupId>io.github.sparql-anything</groupId>
<artifactId>sparql-anything-slides</artifactId>
<version>${project.version}</version>
</dependency>

<dependency>
<groupId>io.github.basilapi</groupId>
<artifactId>sparql</artifactId>
Expand Down
84 changes: 7 additions & 77 deletions sparql-anything-engine/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -47,70 +47,18 @@
<version>${project.version}</version>
</dependency>

<dependency>
<groupId>io.github.sparql-anything</groupId>
<artifactId>sparql-anything-csv</artifactId>
<version>${project.version}</version>
</dependency>

<dependency>
<groupId>io.github.sparql-anything</groupId>
<artifactId>sparql-anything-xml</artifactId>
<version>${project.version}</version>
</dependency>

<dependency>
<groupId>io.github.sparql-anything</groupId>
<artifactId>sparql-anything-docs</artifactId>
<version>${project.version}</version>
</dependency>

<dependency>
<groupId>io.github.sparql-anything</groupId>
<artifactId>sparql-anything-html</artifactId>
<version>${project.version}</version>
</dependency>

<dependency>
<groupId>io.github.sparql-anything</groupId>
<artifactId>sparql-anything-text</artifactId>
<version>${project.version}</version>
</dependency>

<dependency>
<groupId>io.github.sparql-anything</groupId>
<artifactId>sparql-anything-json</artifactId>
<version>${project.version}</version>
</dependency>

<dependency>
<groupId>io.github.sparql-anything</groupId>
<artifactId>sparql-anything-yaml</artifactId>
<version>${project.version}</version>
</dependency>

<dependency>
<groupId>io.github.sparql-anything</groupId>
<artifactId>sparql-anything-markdown</artifactId>
<version>${project.version}</version>
</dependency>

<dependency>
<groupId>io.github.sparql-anything</groupId>
<artifactId>sparql-anything-bibliography</artifactId>
<version>${project.version}</version>
</dependency>

<dependency>
<groupId>io.github.sparql-anything</groupId>
<artifactId>sparql-anything-archive</artifactId>
<version>${project.version}</version>
<scope>compile</scope>
</dependency>

<dependency>
<groupId>io.github.sparql-anything</groupId>
<artifactId>sparql-anything-slides</artifactId>
<artifactId>sparql-anything-testutils</artifactId>
<version>${project.version}</version>
<scope>test</scope>
</dependency>

<!-- https://mvnrepository.com/artifact/commons-cli/commons-cli -->
Expand All @@ -125,28 +73,8 @@
</dependency>

<dependency>
<groupId>io.github.sparql-anything</groupId>
<artifactId>sparql-anything-binary</artifactId>
<version>${project.version}</version>
</dependency>

<dependency>
<groupId>io.github.sparql-anything</groupId>
<artifactId>sparql-anything-spreadsheet</artifactId>
<version>${project.version}</version>
</dependency>

<dependency>
<groupId>io.github.sparql-anything</groupId>
<artifactId>sparql-anything-rdf</artifactId>
<version>${project.version}</version>
</dependency>

<dependency>
<groupId>io.github.sparql-anything</groupId>
<artifactId>sparql-anything-testutils</artifactId>
<version>${project.version}</version>
<scope>test</scope>
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
</dependency>

<dependency>
Expand All @@ -161,6 +89,8 @@
<artifactId>java-string-similarity</artifactId>
</dependency>



</dependencies>

</project>
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@
import io.github.sparqlanything.engine.functions.*;
import io.github.sparqlanything.engine.functions.reflection.ReflectionFunctionFactory;
import io.github.sparqlanything.model.Triplifier;
import io.github.sparqlanything.rdf.RDFTriplifier;
import org.apache.commons.codec.digest.DigestUtils;
import org.apache.commons.text.WordUtils;
import org.apache.commons.text.similarity.*;
Expand Down Expand Up @@ -69,7 +68,7 @@ public final class FacadeX {
Registry.registerTriplifier("io.github.sparqlanything.json.JSONTriplifier", new String[]{"json"}, new String[]{"application/json", "application/problem+json"});
Registry.registerTriplifier("io.github.sparqlanything.yaml.YAMLTriplifier", new String[]{"yaml"}, new String[]{"application/yaml", "text/yaml", "x-text/yaml"});
Registry.registerTriplifier("io.github.sparqlanything.spreadsheet.SpreadsheetTriplifier", new String[]{"xls", "xlsx"}, new String[]{"application/vnd.ms-excel", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"});
Registry.registerTriplifier(RDFTriplifier.class.getCanonicalName(), new String[]{"rdf", "ttl", "nt", "jsonld", "owl", "trig", "nq", "trix", "trdf"}, new String[]{"application/rdf+thrift", "application/trix+xml", "application/n-quads", "text/trig", "application/owl+xml", "text/turtle", "application/rdf+xml", "application/n-triples", "application/ld+json"});
Registry.registerTriplifier("io.github.sparqlanything.rdf.RDFTriplifier", new String[]{"rdf", "ttl", "nt", "jsonld", "owl", "trig", "nq", "trix", "trdf"}, new String[]{"application/rdf+thrift", "application/trix+xml", "application/n-quads", "text/trig", "application/owl+xml", "text/turtle", "application/rdf+xml", "application/n-triples", "application/ld+json"});
Registry.registerTriplifier("io.github.sparqlanything.binary.BinaryTriplifier", new String[]{"png", "jpeg", "jpg", "bmp", "tiff", "tif", "ico"}, new String[]{"image/png", "image/jpeg", "image/bmp", "image/tiff", "image/vnd.microsoft.icon"});
Registry.registerTriplifier("io.github.sparqlanything.slides.PptxTriplifier", new String[]{"pptx"}, new String[]{"application/vnd.openxmlformats-officedocument.presentationml.presentation"});

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,15 +16,10 @@

package io.github.sparqlanything.engine.functions;

import org.apache.jena.datatypes.RDFDatatype;
import org.apache.jena.datatypes.xsd.XSDDatatype;
import org.apache.jena.datatypes.xsd.impl.XMLLiteralType;
import org.apache.jena.graph.NodeFactory;
import org.apache.jena.sparql.expr.ExprEvalException;
import org.apache.jena.sparql.expr.NodeValue;
import org.apache.jena.sparql.function.FunctionBase1;
import org.apache.jena.sparql.util.FmtUtils;
import io.github.sparqlanything.html.org.semarglproject.vocab.XSD;

public class Cardinal extends FunctionBase1 implements FXFunction {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,96 +17,51 @@
package io.github.sparqlanything.engine.test;

import io.github.sparqlanything.engine.FacadeX;
import io.github.sparqlanything.engine.TriplifierRegister;
import org.apache.jena.query.*;
import org.apache.jena.sparql.engine.main.QC;
import org.junit.Assert;
import org.junit.Test;

public class TestSilent {


public ResultSet execute(String queryString) {

QC.setFactory(ARQ.getContext(), FacadeX.ExecutorFactory);
Dataset kb = DatasetFactory.createGeneral();
Query q = QueryFactory.create(queryString);
ResultSet result = QueryExecutionFactory.create(q, kb).execSelect();
return result;
}

@Test
public void testSilent() {
boolean failed = false;
String q = "PREFIX fx: <http://sparql.xyz/facade-x/ns/>\n" +
"select * where {" +
"service silent <x-sparql-anything:> {" +
"fx:properties fx:location \"http://www.example.org2562456294865\";" +
" fx:media-type \"application/json\"." +
" ?s ?p ?o" +
"}" +
"}";
try {
execute(q);
} catch (Exception e) {
failed = true;
}
Assert.assertFalse(failed);
return QueryExecutionFactory.create(q, kb).execSelect();
}

@Test
public void testNoSilent() {
boolean failed = true;
String q = "PREFIX fx: <http://sparql.xyz/facade-x/ns/>\n" +
"select * where {" +
"service <x-sparql-anything:> {" +
"fx:properties fx:location \"http://www.example.org2562456294865\";" +
" fx:media-type \"application/json\"." +
" ?s ?p ?o" +
"}" +
"}";
try {
execute(q);
} catch (Exception e) {
failed = false;
}
Assert.assertFalse(failed);
}

@Test
public void test404NoSilent() {
public void test404Silent() {
boolean raisesException = false;
String q = "PREFIX fx: <http://sparql.xyz/facade-x/ns/>\n" +
"select * where {" +
"service <x-sparql-anything:> {" +
"fx:properties fx:location \"https://sparql.xyz/qewrqetqert\";" +
" fx:media-type \"application/json\"." +
" ?s ?p ?o" +
"}" +
"}";

String q = "SELECT DISTINCT ?g ?s ?p ?o WHERE { SERVICE SILENT <x-sparql-anything:media-type=test-mime2,location=https://sparql.xyz/qewrqetqert> {GRAPH ?g {?s ?p ?o}}}";

try {
TriplifierRegister.getInstance().registerTriplifier("io.github.sparqlanything.engine.test.TestTriplifier2", new String[]{"test2"}, new String[]{"test-mime2"});
execute(q);
} catch (Exception e) {
//e.printStackTrace();
raisesException = true;
}
Assert.assertTrue(raisesException);
Assert.assertFalse(raisesException);
}

@Test
public void test404Silent() {
public void test404NOSilent() {
boolean raisesException = false;
String q = "PREFIX fx: <http://sparql.xyz/facade-x/ns/>\n" +
"select * where {" +
"service silent <x-sparql-anything:> {" +
"fx:properties fx:location \"https://sparql.xyz/qewrqetqert\";" +
" fx:media-type \"application/json\"." +
" ?s ?p ?o" +
"}" +
"}";

String q = "SELECT DISTINCT ?g ?s ?p ?o WHERE { SERVICE <x-sparql-anything:media-type=test-mime2,location=https://sparql.xyz/qewrqetqert> {GRAPH ?g {?s ?p ?o}}}";

try {
TriplifierRegister.getInstance().registerTriplifier("io.github.sparqlanything.engine.test.TestTriplifier2", new String[]{"test2"}, new String[]{"test-mime2"});
execute(q);
} catch (Exception e) {
raisesException = true;
}
Assert.assertFalse(raisesException);
Assert.assertTrue(raisesException);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,16 @@

import io.github.sparqlanything.model.FacadeXGraphBuilder;
import io.github.sparqlanything.model.Triplifier;
import io.github.sparqlanything.model.TriplifierHTTPException;
import org.apache.commons.io.IOUtils;
import com.google.common.collect.Sets;
import org.apache.jena.graph.Graph;
import org.apache.jena.graph.NodeFactory;
import org.apache.jena.sparql.graph.GraphFactory;

import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;
import java.nio.charset.Charset;
import java.util.Properties;
Expand All @@ -37,16 +40,13 @@ public TestTriplifier2() {
}

@Override
public void triplify(Properties properties, FacadeXGraphBuilder builder) throws IOException {

Graph g = GraphFactory.createGraphMem();

public void triplify(Properties properties, FacadeXGraphBuilder builder) throws IOException, TriplifierHTTPException {
URL url = Triplifier.getLocation(properties);

if (url == null)
return;

String content = IOUtils.toString(url, Charset.defaultCharset());
String content = IOUtils.toString(Triplifier.getInputStream(properties), Charset.defaultCharset());

builder.add(NodeFactory.createURI(TriplifierRegistryTest.PREFIX + "g"), NodeFactory.createURI(TriplifierRegistryTest.PREFIX + "s"), NodeFactory.createURI(TriplifierRegistryTest.PREFIX + "p"),
NodeFactory.createLiteralString(content));
Expand Down
Loading

0 comments on commit 3233751

Please sign in to comment.