diff --git a/README.md b/README.md
index f55d1a00..c17330b4 100644
--- a/README.md
+++ b/README.md
@@ -128,12 +128,11 @@ indexes objects into an external Solr server.
| :--- | :---| :---- |
| solr.indexing.enabled | Enables/disables the SOLR indexing service. Disabled by default | false |
| solr.fcrepo.checkHasIndexingTransformation | When true, check for an indexing transform in the resource matadata. | true |
-| solr.fcrepo.defaultTransform | The solr default ldpath transform when none is provide in resource metadata. | null |
+| solr.fcrepo.defaultTransform | The solr default XSL transform when none is provide in resource metadata. | null |
| solr.input.stream | The JMS topic or queue serving as the message source | broker:topic:fedora |
| solr.reindex.stream | The JMS topic or queue serving as the reindex message source | broker:queue:solr.reindex |
| solr.commitWithin | Milliseconds within which commits should occur | 10000 |
| solr.indexing.predicate | When true, check that resource is of type http://fedora.info/definitions/v4/indexing#Indexable; otherwise do not index it. | false |
-| solr.ldpath.service.baseUrl | The LDPath service base url | http://localhost:9085/ldpath |
| solr.filter.containers | A comma-separate list of containers that should be ignored by the indexer | http://localhost:8080/fcrepo/rest/audit |
@@ -157,48 +156,6 @@ indexes objects into an external triplestore.
| triplestore.prefer.include | A list of [valid prefer values](https://fedora.info/2021/05/01/spec/#additional-prefer-values) defining predicates to be included | null |
| triplestore.prefer.omit | A list of [valid prefer values](https://fedora.info/2021/05/01/spec/#additional-prefer-values) defining predicates to be omitted. | http://www.w3.org/ns/ldp#PreferContainment |
-### LDPath Service
-
-This application implements an LDPath service on repository
-resources. This allows users to dereference and follow URI
-links to arbitrary lengths. Retrieved triples are cached locally
-for a specified period of time.
-
-More information about LDPath can be found at the [Marmotta website](http://marmotta.apache.org/ldpath/language.html).
-
-Note: The LDPath service requires an LDCache backend, such as `fcrepo-service-ldcache-file`.
-
-#### Usage
-The LDPath service responds to `GET` and `POST` requests using any accessible resources as a context.
-
-For example, a request to
-`http://localhost:9086/ldpath/?context=http://localhost/rest/path/to/fedora/object`
-will apply the appropriate ldpath program to the specified resource. Note: it is possible to
-identify non-Fedora resources in the context parameter.
-
-A `GET` request can include a `ldpath` parameter, pointing to the URL location of an LDPath program:
-
- `curl http://localhost:9086/ldpath/?context=http://localhost/rest/path/to/fedora/object&ldpath=http://example.org/ldpath`
-
-Otherwise, it will use a simple default ldpath program.
-
-A `POST` request can also be accepted by this endpoint. The body of a `POST` request should contain
-the entire `LDPath` program. The `Content-Type` of the request should be either `text/plain` or
-`application/ldpath`.
-
- `curl -XPOST -H"Content-Type: application/ldpath" -d @program.txt http://localhost:9086/ldpath/?context=http://localhost/rest/path/to/fedora/object
-
-#### Properties
-| Name | Description| Default Value |
-| :--- | :---| :---- |
-| ldpath.fcrepo.cache.timeout | The timeout in seconds for the ldpath cache | 0 |
-| ldpath.rest.prefix | The LDPath rest endpoint prefix | no | /ldpath|
-| ldpath.rest.port| The LDPath rest endpoint port | no | 9085 |
-| ldpath.rest.host| The LDPath rest endpoint host | no | localhost |
-| ldpath.cache.timeout | LDCache timeout in seconds | no | 86400 |
-| ldpath.ldcache.directory | LDCache directory | no | ldcache/ |
-| ldpath.transform.path | The LDPath transform file path | classpath:org/fcrepo/camel/ldpath/default.ldpath |
-
### Reindexing Service
This application implements a reindexing service so that
diff --git a/docker-compose/camel-toolbox-config/configuration.properties b/docker-compose/camel-toolbox-config/configuration.properties
index f2ef00ff..d1417131 100644
--- a/docker-compose/camel-toolbox-config/configuration.properties
+++ b/docker-compose/camel-toolbox-config/configuration.properties
@@ -1,10 +1,11 @@
fcrepo.baseUrl=http://fcrepo:8080/fcrepo/rest
-fcrepo.authHost=fcrepo
+fcrepo.authHost=localhost
jms.brokerUrl=tcp://fcrepo:61616
solr.indexing.enabled=true
solr.baseUrl=http://solr:8983/solr/fcrepo
+solr.fcrepo.defaultTransform=org/fcrepo/camel/indexing/solr/default_transform.xsl
triplestore.indexing.enabled=true
triplestore.baseUrl=http://fuseki:3030/fcrepo
diff --git a/fcrepo-camel-toolbox-app/pom.xml b/fcrepo-camel-toolbox-app/pom.xml
index a398c093..27f1d1ce 100644
--- a/fcrepo-camel-toolbox-app/pom.xml
+++ b/fcrepo-camel-toolbox-app/pom.xml
@@ -48,12 +48,6 @@
${project.parent.version}
-
- ${project.parent.groupId}
- fcrepo-ldpath
- ${project.parent.version}
-
-
${project.parent.groupId}
fcrepo-fixity
diff --git a/fcrepo-indexing-solr/src/main/java/org/fcrepo/camel/indexing/solr/FcrepoSolrIndexingConfig.java b/fcrepo-indexing-solr/src/main/java/org/fcrepo/camel/indexing/solr/FcrepoSolrIndexingConfig.java
index dbcfd665..d2c520d4 100644
--- a/fcrepo-indexing-solr/src/main/java/org/fcrepo/camel/indexing/solr/FcrepoSolrIndexingConfig.java
+++ b/fcrepo-indexing-solr/src/main/java/org/fcrepo/camel/indexing/solr/FcrepoSolrIndexingConfig.java
@@ -52,9 +52,6 @@ static class SolrIndexingEnabled extends ConditionOnPropertyTrue {
@Value("${solr.indexing.predicate:false}")
private boolean indexingPredicate;
- @Value("${solr.ldpath.service.baseUrl:http://localhost:9085/ldpath}")
- private String ldpathServiceBaseUrl;
-
@Value("${solr.filter.containers:http://localhost:8080/fcrepo/rest/audit}")
private String filterContainers;
@@ -85,10 +82,6 @@ public boolean isIndexingPredicate() {
return indexingPredicate;
}
- public String getLdpathServiceBaseUrl() {
- return ldpathServiceBaseUrl;
- }
-
public String getFilterContainers() {
return filterContainers;
}
diff --git a/fcrepo-indexing-solr/src/main/java/org/fcrepo/camel/indexing/solr/SolrRouter.java b/fcrepo-indexing-solr/src/main/java/org/fcrepo/camel/indexing/solr/SolrRouter.java
index 096acdf0..dd2c0cf0 100644
--- a/fcrepo-indexing-solr/src/main/java/org/fcrepo/camel/indexing/solr/SolrRouter.java
+++ b/fcrepo-indexing-solr/src/main/java/org/fcrepo/camel/indexing/solr/SolrRouter.java
@@ -16,7 +16,6 @@
import static org.apache.camel.Exchange.CONTENT_TYPE;
import static org.apache.camel.Exchange.HTTP_METHOD;
import static org.apache.camel.Exchange.HTTP_QUERY;
-import static org.apache.camel.Exchange.HTTP_URI;
import static org.apache.camel.builder.PredicateBuilder.and;
import static org.apache.camel.builder.PredicateBuilder.in;
import static org.apache.camel.builder.PredicateBuilder.not;
@@ -104,6 +103,7 @@ public void configure() throws Exception {
.when(and(simple(config.isIndexingPredicate() + " != 'true'"),
simple(config.isCheckHasIndexingTransformation() + " != 'true'")))
.setHeader(INDEXING_TRANSFORMATION).simple(config.getDefaultTransform())
+ .log(LoggingLevel.INFO, "sending to update_solr")
.to("direct:update.solr")
.otherwise()
.to(
@@ -136,41 +136,26 @@ public void configure() throws Exception {
.setHeader(HTTP_QUERY).simple("commitWithin=" + config.getCommitWithin())
.to(config.getSolrBaseUrl() + "/update?useSystemProperties=true");
- from("direct:external.ldpath").routeId("FcrepoSolrLdpathFetch")
- .removeHeaders("CamelHttp*")
- .setHeader(HTTP_URI).header(INDEXING_TRANSFORMATION)
- .setHeader(HTTP_METHOD).constant("GET")
- .to("http://localhost/ldpath");
-
- from("direct:transform.ldpath").routeId("FcrepoSolrTransform")
- .removeHeaders("CamelHttp*")
- .setHeader(HTTP_URI).simple(config.getLdpathServiceBaseUrl())
- .setHeader(HTTP_QUERY).simple("context=${headers.CamelFcrepoUri}")
- .to("http://localhost/ldpath");
/*
* Handle update operations
*/
from("direct:update.solr").routeId("FcrepoSolrUpdater")
.log(LoggingLevel.INFO, logger, "Indexing Solr Object ${header.CamelFcrepoUri}")
- .setBody(constant(null))
.setHeader(INDEXING_URI).simple("${header.CamelFcrepoUri}")
// Don't index the transformation itself
.filter().simple("${header.CamelIndexingTransformation} != ${header.CamelIndexingUri}")
.choice()
- .when(header(INDEXING_TRANSFORMATION).startsWith("http"))
- .log(LoggingLevel.INFO, logger,
- "Fetching external LDPath program from ${header.CamelIndexingTransformation}")
- .to("direct:external.ldpath")
- .setHeader(HTTP_METHOD).constant("POST")
- .to("direct:transform.ldpath")
- .to("direct:send.to.solr")
- .when(or(header(INDEXING_TRANSFORMATION).isNull(), header(INDEXING_TRANSFORMATION).isEqualTo("")))
- .setHeader(HTTP_METHOD).constant("GET")
- .to("direct:transform.ldpath")
- .to("direct:send.to.solr")
- .otherwise()
- .log(LoggingLevel.INFO, logger, "Skipping ${header.CamelFcrepoUri}");
+ .when(header(INDEXING_TRANSFORMATION).isNotNull())
+ .log(LoggingLevel.INFO, logger,
+ "Sending RDF for Transform with with XSLT from ${header.CamelIndexingTransformation}")
+ .toD("xslt:${header.CamelIndexingTransformation}")
+ .to("direct:send.to.solr")
+ .when(or(header(INDEXING_TRANSFORMATION).isNull(), header(INDEXING_TRANSFORMATION).isEqualTo("")))
+ .log(LoggingLevel.INFO, logger,"No Transform supplied")
+ .to("direct:send.to.solr")
+ .otherwise()
+ .log(LoggingLevel.INFO, logger, "Skipping ${header.CamelFcrepoUri}");
/*
* Send the transformed resource to Solr
@@ -178,6 +163,7 @@ public void configure() throws Exception {
from("direct:send.to.solr").routeId("FcrepoSolrSend")
.log(LoggingLevel.INFO, logger, "sending to solr...")
.removeHeaders("CamelHttp*")
+ .setHeader(CONTENT_TYPE).constant("text/xml")
.setHeader(HTTP_METHOD).constant("POST")
.setHeader(HTTP_QUERY).simple("commitWithin=" + config.getCommitWithin())
.to(config.getSolrBaseUrl() + "/update?useSystemProperties=true");
diff --git a/fcrepo-indexing-solr/src/main/resources/org/fcrepo/camel/indexing/solr/default_transform.xsl b/fcrepo-indexing-solr/src/main/resources/org/fcrepo/camel/indexing/solr/default_transform.xsl
new file mode 100644
index 00000000..ccffec08
--- /dev/null
+++ b/fcrepo-indexing-solr/src/main/resources/org/fcrepo/camel/indexing/solr/default_transform.xsl
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/fcrepo-indexing-solr/src/test/java/org/fcrepo/camel/indexing/solr/RouteTest.java b/fcrepo-indexing-solr/src/test/java/org/fcrepo/camel/indexing/solr/RouteTest.java
index 642250ca..799160c9 100644
--- a/fcrepo-indexing-solr/src/test/java/org/fcrepo/camel/indexing/solr/RouteTest.java
+++ b/fcrepo-indexing-solr/src/test/java/org/fcrepo/camel/indexing/solr/RouteTest.java
@@ -77,7 +77,7 @@ public static void beforeClass() {
System.setProperty("solr.reindex.stream", "seda:bar");
System.setProperty("error.maxRedeliveries", "10");
System.setProperty("fcrepo.baseUrl", baseURL);
- System.setProperty("solr.fcrepo.defaultTransform", "http://localhost/ldpath/program");
+ System.setProperty("solr.fcrepo.defaultTransform", "org/fcrepo/camel/indexing/solr/default_transform.xsl");
System.setProperty("solr.baseUrl", solrURL);
System.setProperty("solr.reindex.stream", "seda:reindex");
System.setProperty("solr.fcrepo.checkHasIndexingTransformation", "true");
@@ -214,7 +214,7 @@ public void testPrepareRouterIndexable() throws Exception {
deleteEndpoint.setAssertPeriod(ASSERT_PERIOD_MS);
updateEndpoint.expectedMessageCount(1);
updateEndpoint.expectedHeaderReceived("CamelIndexingTransformation",
- "http://localhost/ldpath/default");
+ "org/fcrepo/camel/indexing/solr/default_transform.xsl");
template.sendBodyAndHeaders(
IOUtils.toString(loadResourceAsStream("indexable.rdf"), "UTF-8"),
@@ -245,7 +245,7 @@ public void testPrepareRouterContainer() throws Exception {
updateEndpoint.setAssertPeriod(ASSERT_PERIOD_MS);
deleteEndpoint.expectedMessageCount(1);
deleteEndpoint.expectedHeaderReceived("CamelIndexingTransformation",
- "http://localhost/ldpath/program");
+ "org/fcrepo/camel/indexing/solr/default_transform.xsl");
template.sendBodyAndHeaders(
IOUtils.toString(loadResourceAsStream("container.rdf"), "UTF-8"),
@@ -271,10 +271,6 @@ public void testUpdateRouter() throws Exception {
a.mockEndpointsAndSkip("http*");
});
- AdviceWith.adviceWith(context, "FcrepoSolrTransform", a -> {
- a.mockEndpointsAndSkip("http*");
- });
-
final var solrUpdateEndPoint = MockEndpoint.resolve(context, "mock:" + solrURL + "/update");
solrUpdateEndPoint.expectedMessageCount(1);
solrUpdateEndPoint.expectedHeaderReceived(Exchange.HTTP_METHOD, "POST");
diff --git a/fcrepo-indexing-solr/src/test/resources/indexable.rdf b/fcrepo-indexing-solr/src/test/resources/indexable.rdf
index 2481ac54..4abaa76e 100644
--- a/fcrepo-indexing-solr/src/test/resources/indexable.rdf
+++ b/fcrepo-indexing-solr/src/test/resources/indexable.rdf
@@ -11,6 +11,6 @@
-
+
diff --git a/fcrepo-ldpath/my.ldpath b/fcrepo-ldpath/my.ldpath
deleted file mode 100644
index 2832eeca..00000000
--- a/fcrepo-ldpath/my.ldpath
+++ /dev/null
@@ -1,130 +0,0 @@
-@prefix fedora :
-@prefix pcdm :
-@prefix ore :
-@prefix iana :
-@prefix acl :
-@prefix dcterms :
-
-id = . :: xsd:string ;
-
-created_l = fedora:created :: xsd:dateTime ;
-createdBy_s = fedora:createdBy :: xsd:string ;
-hasParent_s = fedora:hasParent :: xsd:string ;
-hasVersions_s = fedora:hasVersions :: xsd:anyURI ;
-lastModified_l = fedora:lastModified :: xsd:dateTime ;
-lastModifiedBy_s = fedora:lastModifiedBy :: xsd:string ;
-numberOfChildren_l = fedora:numberOfChildren :: xsd:integer ;
-
-type_ss = rdf:type :: xsd:anyURI ;
-label = rdfs:label :: xsd:string ;
-comment = rdfs:comment :: xsd:string ;
-sameAs = owl:sameAs :: xsd:anyURI ;
-
-altLabel = skos:altLabel :: xsd:string ;
-broadMatch = skos:broadMatch :: xsd:anyURI ;
-broader = skos:broader :: xsd:anyURI ;
-broaderTransitive = skos:broaderTransitive :: xsd:anyURI ;
-changeNote = skos:changeNote :: xsd:string ;
-closeMatch = skos:closeMatch :: xsd:string ;
-definition = skos:definition :: xsd:string ;
-editorialNote = skos:editorialNote :: xsd:string ;
-exactMatch = skos:exactMatch :: xsd:anyURI ;
-example = skos:example :: xsd:string ;
-hiddenLabel = skos:hiddenLabel :: xsd:string ;
-historyNote = skos:historyNote :: xsd:string ;
-inScheme = skos:inScheme :: xsd:anyURI ;
-mappingRelation = skos:mappingRelation :: xsd:anyURI ;
-member = skos:member :: xsd:anyURI ;
-memberList = skos:memberList :: xsd:anyURI ;
-narrowMatch = skos:narrowMatch :: xsd:anyURI ;
-narrower = skos:narrower :: xsd:anyURI ;
-narrowerTransitive = skos:narrowerTrasitive :: xsd:anyURI ;
-notation = skos:notation :: xsd:string ;
-note = skos:note :: xsd:string ;
-prefLabel = skos:prefLabel :: xsd:string ;
-related = skos:related :: xsd:anyURI ;
-relatedMatch = skos:relatedMatch :: xsd:anyURI ;
-scopeNote = skos:scopeNote :: xsd:string ;
-semanticRelation = skos:semanticRelation :: xsd:anyURI ;
-topConceptOf = skos:topConceptOf :: xsd:anyURI ;
-
-abstract = dcterms:abstract :: xsd:string ;
-accessRights = dcterms:accessRights :: xsd:string ;
-accrualMethod = dcterms:accrualMethod :: xsd:string ;
-accrualPeriodicity = dcterms:accrualPeriodicity :: xsd:string ;
-accrualPolicy = dcterms:accrualPolicy :: xsd:string ;
-alternative = dcterms:alternative :: xsd:string ;
-audience = dcterms:audience :: xsd:string ;
-available = dcterms:available :: xsd:string ;
-bibliographicCitation = dcterms:bibliographicCitation :: xsd:string ;
-conformsTo = dcterms:conformsTo :: xsd:string ;
-contributor = dc:contributor | dcterms:contributor :: xsd:string ;
-coverage = dc:coverage | dcterms:coverage :: xsd:string ;
-creator = dc:creator | dcterms:creator :: xsd:string ;
-date = dc:date | dcterms:date :: xsd:dateTime ;
-dateAccepted = dcterms:dateAccepted :: xsd:dateTime ;
-dateCopyrighted = dcterms:dateCopyrighted :: xsd:dateTime ;
-dateSubmitted = dcterms:dateSubmitted :: xsd:dateTime ;
-description = dc:description | dcterms:description :: xsd:string ;
-educationLevel = dcterms:educationLevel :: xsd:string ;
-extent = dcterms:extent :: xsd:string ;
-format = dc:format | dcterms:format :: xsd:string ;
-hasFormat = dcterms:hasFormat :: xsd:string ;
-hasPart = dcterms:hasPart :: xsd:string ;
-hasVersion = dcterms:hasVersion :: xsd:string ;
-identifier = dc:identifier | dcterms:identifier :: xsd:string ;
-instructionalMethod = dcterms:instructionalMethod :: xsd:string ;
-isFormatOf = dcterms:isFormatOf :: xsd:string ;
-isPartOf = dcterms:isPartOf :: xsd:string ;
-isReferencedBy = dcterms:isReferencedBy :: xsd:string ;
-isReplacedBy = dcterms:isReplacedBy :: xsd:string ;
-isRequiredBy = dcterms:isRequiredBy :: xsd:string ;
-issued = dcterms:issued :: xsd:string ;
-isVersionOf = dcterms:isVersionOf :: xsd:string ;
-language = dc:language | dcterms:language :: xsd:string ;
-license = dcterms:license :: xsd:string ;
-mediator = dcterms:mediator :: xsd:string ;
-medium = dcterms:medium :: xsd:string ;
-modified = dcterms:modified :: xsd:string ;
-provenance = dcterms:provenance :: xsd:string ;
-publisher = dc:publisher | dcterms:publisher :: xsd:string ;
-references = dcterms:references :: xsd:string ;
-relation = dc:relation | dcterms:relation :: xsd:string ;
-replaces = dcterms:replaces :: xsd:string ;
-requires = dcterms:requires :: xsd:string ;
-rights = dc:rights | dcterms:rights :: xsd:string ;
-rightsHolder = dcterms:rightsHolder :: xsd:string ;
-source = dc:source | dcterms:source :: xsd:string ;
-spatial = dcterms:spatial :: xsd:string ;
-subject = dc:subject | dcterms:subject :: xsd:string ;
-tableOfContents = dcterms:tableOfContents :: xsd:string ;
-temporal = dcterms:temporal :: xsd:string ;
-title = dc:title | dcterms:title :: xsd:string ;
-valid = dcterms:valid :: xsd:string ;
-
-fileOf = pcdm:fileOf :: xsd:anyURI ;
-hasFile = pcdm:hasFile :: xsd:anyURI ;
-hasMember = pcdm:hasMember :: xsd:anyURI ;
-hasRelatedObject = pcdm:hasRelatedObject :: xsd:anyURI ;
-memberOf = pcdm:memberOf :: xsd:anyURI ;
-relatedObjectOf = pcdm:relatedObjectOf :: xsd:anyURI ;
-
-aggregates = ore:aggregates :: xsd:anyURI ;
-isAggregatedBy = ore:isAggregatedBy :: xsd:anyURI ;
-proxyFor = ore:proxyFor :: xsd:anyURI ;
-proxyIn = ore:proxyIn :: xsd:anyURI ;
-
-first = iana:first :: xsd:anyURI ;
-last = iana:last :: xsd:anyURI ;
-next = iana:next :: xsd:anyURI ;
-prev = iana:prev :: xsd:anyURI ;
-describes = iana:describes :: xsd:anyURI ;
-describedBy = iana:describedBy :: xsd:anyURI ;
-
-accessControl = acl:accessControl :: xsd:anyURI ;
-accessTo = acl:accessTo :: xsd:anyURI ;
-accessToClass = acl:accessToClass :: xsd:anyURI ;
-agent = acl:agent :: xsd:string ;
-agentClass = acl:agentClass :: xsd:anyURI ;
-mode = acl:mode :: xsd:anyURI ;
-
diff --git a/fcrepo-ldpath/pom.xml b/fcrepo-ldpath/pom.xml
deleted file mode 100644
index 68ff18e0..00000000
--- a/fcrepo-ldpath/pom.xml
+++ /dev/null
@@ -1,219 +0,0 @@
-
-
-
- 4.0.0
-
-
- fcrepo-camel-toolbox
- org.fcrepo.camel
- 6.1.0-SNAPSHOT
-
-
- fcrepo-ldpath
- jar
-
- Fedora LDPath Service
- Camel-based LDPath service
-
-
-
-
-
-
- org.apache.camel
- camel-core
-
-
- org.apache.camel
- camel-jackson
- ${camel.version}
-
-
-
- org.apache.camel
- camel-jetty
-
-
-
- org.apache.camel
- camel-jetty-common
-
-
-
- org.apache.camel
- camel-http
-
-
-
- org.apache.camel
- camel-http-common
-
-
-
- ${project.parent.groupId}
- fcrepo-camel-common
- ${project.parent.version}
-
-
-
- ant
- ant
- 1.6.5
-
-
- org.apache.camel
- camel-support
-
-
-
- org.apache.marmotta
- ldcache-api
-
-
-
- org.apache.marmotta
- ldcache-backend-file
-
-
-
- org.apache.camel
- camel-spring-javaconfig
-
-
-
- org.apache.httpcomponents
- httpclient
- ${httpclient.version}
- compile
-
-
-
- javax.xml.bind
- jaxb-api
-
-
- com.sun.xml.bind
- jaxb-core
-
-
-
- org.apache.marmotta
- ldpath-core
-
-
-
- org.apache.marmotta
- ldpath-backend-linkeddata
-
-
-
- org.apache.marmotta
- ldcache-api
-
-
-
- org.apache.marmotta
- ldclient-provider-xml
-
-
-
- org.apache.marmotta
- ldclient-provider-rdf
-
-
-
- org.apache.httpcomponents
- httpcore
- ${httpcore.version}
-
-
-
- org.semarglproject
- semargl-sesame
- 0.6.1
-
-
-
- org.openrdf.sesame
- sesame-rio-api
- 2.9.0
-
-
-
- org.fcrepo.client
- fcrepo-java-client
- ${fcrepo-java-client.version}
-
-
-
- org.apache.marmotta
- ldcache-backend-file
-
-
-
-
-
- org.slf4j
- slf4j-api
-
-
- ch.qos.logback
- logback-classic
- test
-
-
-
-
- org.apache.camel
- camel-test-spring
-
-
-
-
-
- install
-
-
-
- org.apache.maven.plugins
- maven-compiler-plugin
-
-
- org.apache.maven.plugins
- maven-resources-plugin
-
-
-
-
- org.apache.maven.plugins
- maven-checkstyle-plugin
-
-
-
- org.apache.maven.plugins
- maven-surefire-plugin
-
-
-
- fcrepo.dynamic.ldpath.port
- ${fcrepo.dynamic.ldpath.port}
-
-
-
-
-
-
-
-
- org.codehaus.mojo
- build-helper-maven-plugin
-
-
- fcrepo.dynamic.ldpath.port
-
-
-
-
-
-
-
diff --git a/fcrepo-ldpath/src/main/java/org/fcrepo/camel/ldpath/ClientFactory.java b/fcrepo-ldpath/src/main/java/org/fcrepo/camel/ldpath/ClientFactory.java
deleted file mode 100644
index 9e9d4197..00000000
--- a/fcrepo-ldpath/src/main/java/org/fcrepo/camel/ldpath/ClientFactory.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*
- * The contents of this file are subject to the license and copyright
- * detailed in the LICENSE and NOTICE files at the root of the source
- * tree.
- */
-package org.fcrepo.camel.ldpath;
-
-import static java.util.Collections.emptyList;
-import static java.util.Collections.singletonList;
-
-import java.util.List;
-
-import org.apache.http.auth.AuthScope;
-import org.apache.http.auth.Credentials;
-import org.apache.http.client.CredentialsProvider;
-import org.apache.http.impl.client.BasicCredentialsProvider;
-import org.apache.http.impl.client.HttpClients;
-import org.apache.marmotta.ldclient.api.endpoint.Endpoint;
-import org.apache.marmotta.ldclient.api.provider.DataProvider;
-import org.apache.marmotta.ldclient.endpoint.rdf.LinkedDataEndpoint;
-import org.apache.marmotta.ldclient.model.ClientConfiguration;
-import org.apache.marmotta.ldclient.provider.rdf.CacheProvider;
-import org.apache.marmotta.ldclient.provider.rdf.LinkedDataProvider;
-import org.apache.marmotta.ldclient.provider.rdf.RegexUriProvider;
-import org.apache.marmotta.ldclient.provider.rdf.SPARQLProvider;
-
-/**
- * A convenience factory for creating a ClientConfiguration object
- * @author acoburn
- * @since Aug 5, 2016
- */
-public class ClientFactory {
-
-
- /**
- * Configure a linked data client suitable for use with a Fedora Repository.
- * @param endpoint Endpoint to enable on the client
- * @return a configuration for use with an LDClient
- */
- public static ClientConfiguration createClient(final Endpoint endpoint) {
- return createClient(singletonList(endpoint), emptyList());
- }
-
- /**
- * Configure a linked data client suitable for use with a Fedora Repository.
- * @param provider Provider to enable on the client
- * @return a configuration for use with an LDClient
- */
- public static ClientConfiguration createClient(final DataProvider provider) {
- return createClient(null, null, emptyList(), singletonList(provider));
- }
-
-
- /**
- * Configure a linked data client suitable for use with a Fedora Repository.
- * @param endpoint Endpoint to enable on the client
- * @param provider Provider to enable on the client
- * @return a configuration for use with an LDClient
- */
- public static ClientConfiguration createClient(final Endpoint endpoint, final DataProvider provider) {
- return createClient(singletonList(endpoint), singletonList(provider));
- }
-
- /**
- * Configure a linked data client suitable for use with a Fedora Repository.
- * @param endpoints additional endpoints to enable on the client
- * @param providers additional providers to enable on the client
- * @return a configuration for use with an LDClient
- */
- public static ClientConfiguration createClient(final List endpoints, final List providers) {
- return createClient(null, null, endpoints, providers);
- }
-
- /**
- * Configure a linked data client suitable for use with a Fedora Repository.
- * @param authScope the authentication scope
- * @param credentials the credentials
- * @return a configuration for use with an LDClient
- */
- public static ClientConfiguration createClient(final AuthScope authScope, final Credentials credentials) {
- return createClient(authScope, credentials, emptyList(), emptyList());
- }
-
- /**
- * Create a linked data client suitable for use with a Fedora Repository.
- * @param authScope the authentication scope
- * @param credentials the credentials
- * @param endpoints additional endpoints to enable on the client
- * @param providers additional providers to enable on the client
- * @return a configuration for use with an LDClient
- */
- public static ClientConfiguration createClient(final AuthScope authScope, final Credentials credentials,
- final List endpoints, final List providers) {
-
- final ClientConfiguration client = new ClientConfiguration();
-
- if (credentials != null && authScope != null) {
- final CredentialsProvider credsProvider = new BasicCredentialsProvider();
- credsProvider.setCredentials(authScope, credentials);
- client.setHttpClient(HttpClients.custom()
- .setDefaultCredentialsProvider(credsProvider)
- .useSystemProperties().build());
- }
-
- // manually add default Providers and Endpoints
- client.addProvider(new LinkedDataProvider());
- client.addProvider(new CacheProvider());
- client.addProvider(new RegexUriProvider());
- client.addProvider(new SPARQLProvider());
- client.addEndpoint(new LinkedDataEndpoint());
-
- // add any injected endpoints/providers
- endpoints.forEach(client::addEndpoint);
- providers.forEach(client::addProvider);
-
- return client;
- }
-
- private ClientFactory() {
- // prevent instantiation
- }
-
-}
diff --git a/fcrepo-ldpath/src/main/java/org/fcrepo/camel/ldpath/FcrepoLdPathConfig.java b/fcrepo-ldpath/src/main/java/org/fcrepo/camel/ldpath/FcrepoLdPathConfig.java
deleted file mode 100644
index 68b07da6..00000000
--- a/fcrepo-ldpath/src/main/java/org/fcrepo/camel/ldpath/FcrepoLdPathConfig.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
- * The contents of this file are subject to the license and copyright
- * detailed in the LICENSE and NOTICE files at the root of the source
- * tree.
- */
-package org.fcrepo.camel.ldpath;
-
-import org.apache.http.HttpHost;
-import org.apache.http.auth.AuthScope;
-import org.apache.http.auth.Credentials;
-import org.apache.http.auth.UsernamePasswordCredentials;
-import org.apache.marmotta.ldcache.api.LDCachingBackend;
-import org.apache.marmotta.ldcache.backend.file.LDCachingFileBackend;
-import org.apache.marmotta.ldcache.model.CacheConfiguration;
-import org.apache.marmotta.ldcache.services.LDCache;
-import org.apache.marmotta.ldclient.api.endpoint.Endpoint;
-import org.apache.marmotta.ldclient.api.provider.DataProvider;
-import org.apache.marmotta.ldpath.api.functions.SelectorFunction;
-import org.apache.marmotta.ldpath.backend.linkeddata.LDCacheBackend;
-import org.fcrepo.camel.common.config.BasePropsConfig;
-import org.fcrepo.client.FcrepoHttpClientBuilder;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-
-import java.nio.file.Path;
-import java.util.List;
-import java.util.Set;
-
-import static java.util.Collections.EMPTY_SET;
-
-/**
- * A configuration class for the LDPath service
- *
- * @author dbernstein
- */
-@Configuration
-public class FcrepoLdPathConfig extends BasePropsConfig {
-
- @Value("${ldpath.fcrepo.cache.timeout:0}")
- private long fcrepoCacheTimeout;
-
- @Value("${ldpath.rest.prefix:/ldpath}")
- private String restPrefix;
-
- @Value("${ldpath.rest.host:localhost}")
- private String restHost;
-
- @Value("${ldpath.rest.port:9085}")
- private int restPort;
-
- @Value("${ldpath.cache.timeout:86400}")
- private int cacheTimeout;
-
- @Value("${ldpath.ldcache.directory:ldcache/}")
- private Path ldCacheDirectory;
-
- @Value("${ldpath.transform.path:classpath:org/fcrepo/camel/ldpath/default.ldpath}")
- private String ldpathTransformPath;
-
- public String getRestHost() {
- return restHost;
- }
-
- public int getRestPort() {
- return restPort;
- }
-
- public String getRestPrefix() {
- return restPrefix;
- }
-
- public String getLdpathTransformPath() {
- return ldpathTransformPath;
- }
-
- @Bean("ldpath")
- public LDPathWrapper ldpath() throws Exception {
- final var fcrepoBaseUrl = getFcrepoBaseUrl();
- final var fcrepoAuthHost = getFcrepoAuthHost();
- final var fcrepoUsername = getFcrepoUsername();
- final var fcrepoPassword = getFcrepoPassword();
-
- final AuthScope authScope;
- if (fcrepoAuthHost == null || fcrepoAuthHost.isBlank()) {
- authScope = new AuthScope(AuthScope.ANY);
- } else {
- authScope = new AuthScope(new HttpHost(fcrepoAuthHost));
- }
- final Credentials credentials = new UsernamePasswordCredentials(fcrepoUsername, fcrepoPassword);
- final List endpoints = List.of(new FedoraEndpoint(fcrepoBaseUrl, fcrepoCacheTimeout));
- final var fcrepoHttpClientBuilder = new FcrepoHttpClientBuilder(fcrepoUsername, fcrepoPassword, fcrepoAuthHost);
- final List providers = List.of(new FedoraProvider(fcrepoHttpClientBuilder));
- final var client = ClientFactory.createClient(authScope, credentials, endpoints, providers);
- final var config = new CacheConfiguration(client);
- config.setDefaultExpiry(cacheTimeout);
- final LDCachingBackend ldCachingBackend = new LDCachingFileBackend(ldCacheDirectory.toFile());
- ldCachingBackend.initialize();
- final LDCache ldCache = new LDCache(config, ldCachingBackend);
- final var backend = new LDCacheBackend(ldCache);
- return new LDPathWrapper(backend, createSelectorFunctions());
- }
-
- protected Set createSelectorFunctions() {
- return EMPTY_SET;
- }
-
- @Bean
- public LDPathRouter ldPathRouter() {
- return new LDPathRouter();
- }
-
-}
diff --git a/fcrepo-ldpath/src/main/java/org/fcrepo/camel/ldpath/FedoraEndpoint.java b/fcrepo-ldpath/src/main/java/org/fcrepo/camel/ldpath/FedoraEndpoint.java
deleted file mode 100644
index e893e1dd..00000000
--- a/fcrepo-ldpath/src/main/java/org/fcrepo/camel/ldpath/FedoraEndpoint.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * The contents of this file are subject to the license and copyright
- * detailed in the LICENSE and NOTICE files at the root of the source
- * tree.
- */
-package org.fcrepo.camel.ldpath;
-
-import org.apache.marmotta.commons.http.ContentType;
-import org.apache.marmotta.ldclient.api.endpoint.Endpoint;
-
-/**
- * @author acoburn
- * @since Aug 5, 2016
- */
-public class FedoraEndpoint extends Endpoint {
-
- /**
- * Create a Fedora endpoint to be used with the Marmotta LDClient
- * Note: the baseUrl defined here is used by the LDClient to determine
- * what rules to apply when dereferencing URIs that start with the
- * given namespace.
- *
- * @param namespace the namespace for the Fedora endpoint (e.g. http://localhost:8080/fcrepo/rest/)
- */
- public FedoraEndpoint(final String namespace) {
- this(namespace, 0L);
- }
-
- /**
- * Create a Fedora endpoint to be used with the Marmotta LDClient
- * Note: the baseUrl defined here is used by the LDClient to determine
- * what rules to apply when dereferencing URIs that start with the
- * given namespace.
- *
- * @param namespace the namespace for the Fedora endpoint (e.g. http://localhost:8080/fcrepo/rest/)
- * @param timeout the length of time (in seconds) to cache the data
- */
- public FedoraEndpoint(final String namespace, final Long timeout) {
- super("Fedora Repository", FedoraProvider.PROVIDER_NAME, namespace + ".*", null, timeout);
- setPriority(PRIORITY_HIGH);
- addContentType(new ContentType("application", "rdf+xml", 0.8));
- addContentType(new ContentType("text", "turtle", 1.0));
- addContentType(new ContentType("text", "n3", 0.8));
- addContentType(new ContentType("application", "ld+json", 0.5));
- }
-}
diff --git a/fcrepo-ldpath/src/main/java/org/fcrepo/camel/ldpath/FedoraProvider.java b/fcrepo-ldpath/src/main/java/org/fcrepo/camel/ldpath/FedoraProvider.java
deleted file mode 100644
index bdef1e3c..00000000
--- a/fcrepo-ldpath/src/main/java/org/fcrepo/camel/ldpath/FedoraProvider.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
- * The contents of this file are subject to the license and copyright
- * detailed in the LICENSE and NOTICE files at the root of the source
- * tree.
- */
-package org.fcrepo.camel.ldpath;
-
-import static org.slf4j.LoggerFactory.getLogger;
-
-import org.apache.marmotta.ldclient.api.endpoint.Endpoint;
-import org.apache.marmotta.ldclient.provider.rdf.LinkedDataProvider;
-import org.fcrepo.client.FcrepoHttpClientBuilder;
-import org.fcrepo.client.FcrepoLink;
-
-import java.io.IOException;
-import java.io.UncheckedIOException;
-import java.util.Collections;
-import java.util.List;
-import java.util.Objects;
-import java.util.Optional;
-
-import org.apache.http.client.HttpClient;
-import org.apache.http.client.methods.HttpHead;
-import org.apache.http.Header;
-import org.apache.http.HttpResponse;
-import org.slf4j.Logger;
-
-
-/**
- * An extension Linked Data provider to support Binary nodes in Fedora.
- *
- * @author Mohamed Mohideen Abdul Rasheed
- */
-public class FedoraProvider extends LinkedDataProvider {
-
- private static final Logger LOGGER = getLogger(FedoraProvider.class);
-
- public static final String PROVIDER_NAME = "Fedora";
-
- private final HttpClient httpClient;
-
- private final String NON_RDF_SOURCE_URI = "http://www.w3.org/ns/ldp#NonRDFSource";
-
- /**
- * FedoraProvider
- * @param builder FcrepoHttpClientBuilder for building HttpClient
- */
- public FedoraProvider(final FcrepoHttpClientBuilder builder) {
- Objects.requireNonNull(builder);
- httpClient = builder.build();
- }
-
- /*
- * Return the name of this data provider. To be used e.g. in the configuration and in log messages.
- */
- @Override
- public String getName() {
- return PROVIDER_NAME;
- }
-
- /*
- * Return the describedBy URL for NonRdfSource resources. Return the resourseUri otherwise.
- */
- @Override
- public List buildRequestUrl(final String resourceUri, final Endpoint endpoint) {
- LOGGER.debug("Processing: " + resourceUri);
- Objects.requireNonNull(resourceUri);
- try {
- final Optional nonRdfSourceDescUri =
- getNonRDFSourceDescribedByUri(resourceUri);
- if ( nonRdfSourceDescUri.isPresent() ) {
- return Collections.singletonList(nonRdfSourceDescUri.get());
- }
- } catch (final IOException ex) {
- throw new UncheckedIOException(ex);
- }
- return Collections.singletonList(resourceUri);
- }
-
- /*
- * Get the describedBy Uri if the resource has a NON_RDF_SOURCE_URI link header.
- */
- private Optional getNonRDFSourceDescribedByUri(final String resourceUri) throws IOException {
- Optional nonRdfSourceDescUri = Optional.empty();
- final Header[] links = getLinkHeaders(resourceUri);
- if ( links != null ) {
- String descriptionUri = null;
- boolean isNonRDFSource = false;
- for ( final Header h : links ) {
- final FcrepoLink link = new FcrepoLink(h.getValue());
- if ( link.getRel().equals("describedby") ) {
- descriptionUri = link.getUri().toString();
- } else if ( link.getUri().toString().contains(NON_RDF_SOURCE_URI)) {
- isNonRDFSource = true;
- }
- }
- LOGGER.debug("isNonRDFSource: " + isNonRDFSource);
- if (isNonRDFSource && descriptionUri != null) {
- nonRdfSourceDescUri = Optional.of(descriptionUri);
- }
- }
- return nonRdfSourceDescUri;
- }
-
- /*
- * Get the link headers for the resource at the given Uri.
- */
- private Header[] getLinkHeaders(final String resourceUri) throws IOException {
- final HttpHead request = new HttpHead(resourceUri);
- final HttpResponse response = httpClient.execute(request);
- LOGGER.debug("Got: " + response.getStatusLine().getStatusCode() + " for HEAD " + resourceUri);
- return response.getHeaders("Link");
- }
-
-}
diff --git a/fcrepo-ldpath/src/main/java/org/fcrepo/camel/ldpath/LDPathRouter.java b/fcrepo-ldpath/src/main/java/org/fcrepo/camel/ldpath/LDPathRouter.java
deleted file mode 100644
index 9debd5a6..00000000
--- a/fcrepo-ldpath/src/main/java/org/fcrepo/camel/ldpath/LDPathRouter.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * The contents of this file are subject to the license and copyright
- * detailed in the LICENSE and NOTICE files at the root of the source
- * tree.
- */
-package org.fcrepo.camel.ldpath;
-
-import static java.lang.String.format;
-import static org.apache.camel.builder.PredicateBuilder.and;
-import static org.apache.camel.builder.PredicateBuilder.not;
-import static org.apache.camel.model.dataformat.JsonLibrary.Jackson;
-import static org.apache.camel.Exchange.CONTENT_TYPE;
-import static org.apache.camel.Exchange.HTTP_METHOD;
-import static org.apache.camel.Exchange.HTTP_RESPONSE_CODE;
-import static org.apache.camel.Exchange.HTTP_URI;
-import static org.slf4j.LoggerFactory.getLogger;
-
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.support.builder.ExpressionBuilder;
-import org.slf4j.Logger;
-import org.springframework.beans.factory.annotation.Autowired;
-
-/**
- * A content router for an LDPath service.
- *
- * @author Aaron Coburn
- * @since Aug 5, 2016
- */
-
-public class LDPathRouter extends RouteBuilder {
-
- private static final Logger LOGGER = getLogger(LDPathRouter.class);
-
- @Autowired
- private LDPathWrapper ldpathWrapper;
-
- @Autowired
- private FcrepoLdPathConfig config;
- /**
- * Configure the message route workflow.
- */
- public void configure() throws Exception {
-
- /**
- * Expose a RESTful endpoint for LDPath processing
- */
- from(format("jetty:http://%s:%d%s?" +
- "httpMethodRestrict=GET,POST,OPTIONS" +
- "&sendServerVersion=false", config.getRestHost(), config.getRestPort(),config.getRestPrefix()))
- .routeId("FcrepoLDPathRest")
- .routeDescription("Expose the ldpath endpoint over HTTP")
- .choice()
- .when(header(HTTP_METHOD).isEqualTo("OPTIONS"))
- .setHeader(CONTENT_TYPE).constant("text/turtle")
- .setHeader("Allow").constant("GET,POST,OPTIONS")
- .to("language:simple:resource:classpath:org/fcrepo/camel/ldpath/options.ttl")
- // make sure the required context parameter is present
- .when(not(and(header("context").isNotNull(), header("context").regex("^https?://.+"))))
- .setHeader(HTTP_RESPONSE_CODE).constant(400)
- .setHeader(CONTENT_TYPE).constant("text/plain")
- .transform(constant("Missing context parameter"))
- .when(header(HTTP_METHOD).isEqualTo("GET"))
- .to("direct:get")
- .when(header(HTTP_METHOD).isEqualTo("POST"))
- .to("direct:ldpathPrepare");
-
-
- from("direct:get")
- .routeId("FcrepoLDPathGet")
- .choice()
- .when(and(header("ldpath").isNotNull(), header("ldpath").regex("^https?://.*")))
- .removeHeaders("CamelHttp*")
- .setHeader(HTTP_URI).header("ldpath")
- .to("http://localhost?useSystemProperties=true")
- .to("direct:ldpathPrepare")
- .otherwise()
- .to("language:simple:resource:" + config.getLdpathTransformPath())
- .to("direct:ldpathPrepare");
-
- from("direct:ldpathPrepare").routeId("FcrepoLDPathPrepare")
- .to("direct:ldpath")
- .to("direct:format");
-
- from("direct:format").routeId("FcrepoLDPathFormat")
- .marshal().json(Jackson)
- .removeHeaders("*")
- .setHeader(CONTENT_TYPE).constant("application/json");
-
- from("direct:ldpath")
- .setBody(ExpressionBuilder.beanExpression(ldpathWrapper,
- "programQuery(${headers.context}, ${body})"));
- }
-}
diff --git a/fcrepo-ldpath/src/main/java/org/fcrepo/camel/ldpath/LDPathWrapper.java b/fcrepo-ldpath/src/main/java/org/fcrepo/camel/ldpath/LDPathWrapper.java
deleted file mode 100644
index 21fb348d..00000000
--- a/fcrepo-ldpath/src/main/java/org/fcrepo/camel/ldpath/LDPathWrapper.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * The contents of this file are subject to the license and copyright
- * detailed in the LICENSE and NOTICE files at the root of the source
- * tree.
- */
-package org.fcrepo.camel.ldpath;
-
-import static java.util.Collections.singletonList;
-
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.util.Collection;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import com.github.jsonldjava.sesame.SesameJSONLDParserFactory;
-import org.apache.marmotta.ldpath.LDPath;
-import org.apache.marmotta.ldpath.api.functions.SelectorFunction;
-import org.apache.marmotta.ldpath.backend.linkeddata.LDCacheBackend;
-import org.apache.marmotta.ldpath.exception.LDPathParseException;
-import org.openrdf.model.Value;
-import org.openrdf.model.impl.URIImpl;
-import org.openrdf.query.resultio.BooleanQueryResultParserRegistry;
-import org.openrdf.query.resultio.TupleQueryResultParserRegistry;
-import org.openrdf.query.resultio.sparqlxml.SPARQLBooleanXMLParserFactory;
-import org.openrdf.query.resultio.sparqlxml.SPARQLResultsXMLParserFactory;
-import org.openrdf.rio.RDFParserRegistry;
-import org.openrdf.rio.n3.N3ParserFactory;
-import org.openrdf.rio.ntriples.NTriplesParserFactory;
-import org.openrdf.rio.rdfjson.RDFJSONParserFactory;
-import org.openrdf.rio.rdfxml.RDFXMLParserFactory;
-import org.openrdf.rio.trig.TriGParserFactory;
-import org.openrdf.rio.turtle.TurtleParserFactory;
-import org.semarglproject.sesame.rdf.rdfa.SesameRDFaParserFactory;
-
-/**
- * A convenience factory for creating an LDPath object with an LDCacheBackend.
- * @author acoburn
- * @since Aug 5, 2016
- */
-public class LDPathWrapper {
-
- private final LDPath ldpath;
-
- /**
- * Create an LDPathWrapper and register a set of selector functions.
- *
- * @param backend the linkeddata backend
- * @param functions selector functions
- */
- @SuppressWarnings({ "unchecked", "rawtypes" })
- public LDPathWrapper(final LDCacheBackend backend, final Set functions) {
- this(backend);
- for (SelectorFunction function : functions) {
- ldpath.registerFunction(function);
- }
- }
-
- /**
- * Create an LDPathWrapper Object
- * @param backend the linkeddata backend
- */
- public LDPathWrapper(final LDCacheBackend backend) {
-
- // Register the Sesame RDF Parsers manually
- RDFParserRegistry.getInstance().add(new RDFXMLParserFactory());
- RDFParserRegistry.getInstance().add(new NTriplesParserFactory());
- RDFParserRegistry.getInstance().add(new TurtleParserFactory());
- RDFParserRegistry.getInstance().add(new N3ParserFactory());
- RDFParserRegistry.getInstance().add(new SesameJSONLDParserFactory());
- RDFParserRegistry.getInstance().add(new RDFJSONParserFactory());
- RDFParserRegistry.getInstance().add(new SesameRDFaParserFactory());
- RDFParserRegistry.getInstance().add(new TriGParserFactory());
- BooleanQueryResultParserRegistry.getInstance().add(new SPARQLBooleanXMLParserFactory());
- TupleQueryResultParserRegistry.getInstance().add(new SPARQLResultsXMLParserFactory());
-
- ldpath = new LDPath(backend);
- }
-
- /**
- * Execute an LDPath query
- * @param uri the URI to query
- * @param program the LDPath program
- * @return a result object wrapped in a List
- * @throws LDPathParseException if the LDPath program was malformed
- */
- public List
+
+ org.apache.camel
+ camel-xslt
+ ${camel.version}
+
org.apache.camel
@@ -273,42 +277,6 @@
${httpclient.version}
-
- org.apache.marmotta
- ldpath-core
- ${marmotta.version}
-
-
-
- org.apache.marmotta
- ldpath-backend-linkeddata
- ${marmotta.version}
-
-
-
- org.apache.marmotta
- ldcache-backend-file
- ${marmotta.version}
- compile
-
-
-
- org.apache.marmotta
- ldcache-api
- ${marmotta.version}
-
-
-
- org.apache.marmotta
- ldclient-provider-xml
- ${marmotta.version}
-
-
-
- org.apache.marmotta
- ldclient-provider-rdf
- ${marmotta.version}
-
org.apache.jena