Forward to mailing list for everyone to follow :-)
Am 07.01.2014 19:43 schrieb "Sebastian Schaffert" <[email protected]>:

> The change is necessary because some Sesame functionality depends on the
> default context being null. In this case it was a contextual SPARQL update
> which went wrong because of the default not being null.
>
> The triple store supported the null context already for quite some time
> because otherwise the Sesame test suite would not work. The current change
> only affects the platform, which in my tests worked just fine (only thing
> is the default context no longer appears in the context manager).
>
> To keep backwards compatibility the default context is now configurable -
> when contexts.default is empty null is used, the default is the old URI
> value.
>
> In the long run we should either use the Sesame way or Sesame needs some
> extensions to support configurable defaults. Other backends than KiWi don't
> support this anyways.
>
> Greetings
>
> Sebastian
> Am 07.01.2014 18:09 schrieb "Sergio Fernández" <
> [email protected]>:
>
>> should we discuss this change?
>>
>> On Jan 7, 2014 5:23 PM, [email protected] wrote:
>> >
>> > Updated Branches:
>> >   refs/heads/develop 38620a9e4 -> 030a0a1df
>> >
>> >
>> > switched to "null" as default context (as Sesame does)
>> >
>> >
>> > Project: http://git-wip-us.apache.org/repos/asf/marmotta/repo
>> > Commit: http://git-wip-us.apache.org/repos/asf/marmotta/commit/030a0a1d
>> > Tree: http://git-wip-us.apache.org/repos/asf/marmotta/tree/030a0a1d
>> > Diff: http://git-wip-us.apache.org/repos/asf/marmotta/diff/030a0a1d
>> >
>> > Branch: refs/heads/develop
>> > Commit: 030a0a1df27fa22423c4dad643430269154e9ec2
>> > Parents: 38620a9
>> > Author: Sebastian Schaffert <[email protected]>
>> > Authored: Tue Jan 7 17:23:34 2014 +0100
>> > Committer: Sebastian Schaffert <[email protected]>
>> > Committed: Tue Jan 7 17:23:34 2014 +0100
>> >
>> > ----------------------------------------------------------------------
>> > .../kiwi/sparql/test/KiWiSparqlJoinTest.java    | 12 ++++++++
>> > .../config/ConfigurationServiceImpl.java        | 10 ++-----
>> > .../triplestore/ContextServiceImpl.java         | 30
>> +++++++++++---------
>> > 3 files changed, 31 insertions(+), 21 deletions(-)
>> > ----------------------------------------------------------------------
>> >
>> >
>> >
>> http://git-wip-us.apache.org/repos/asf/marmotta/blob/030a0a1d/libraries/kiwi/kiwi-sparql/src/test/java/org/apache/marmotta/kiwi/sparql/test/KiWiSparqlJoinTest.java
>> > ----------------------------------------------------------------------
>> > diff --git
>> a/libraries/kiwi/kiwi-sparql/src/test/java/org/apache/marmotta/kiwi/sparql/test/KiWiSparqlJoinTest.java
>> b/libraries/kiwi/kiwi-sparql/src/test/java/org/apache/marmotta/kiwi/sparql/test/KiWiSparqlJoinTest.java
>> > index 63f452e..b5a2028 100644
>> > ---
>> a/libraries/kiwi/kiwi-sparql/src/test/java/org/apache/marmotta/kiwi/sparql/test/KiWiSparqlJoinTest.java
>> > +++
>> b/libraries/kiwi/kiwi-sparql/src/test/java/org/apache/marmotta/kiwi/sparql/test/KiWiSparqlJoinTest.java
>> > @@ -37,7 +37,9 @@ import org.junit.runner.Description;
>> > import org.junit.runner.RunWith;
>> > import org.openrdf.model.Statement;
>> > import org.openrdf.model.URI;
>> > +import org.openrdf.model.impl.URIImpl;
>> > import org.openrdf.query.*;
>> > +import org.openrdf.query.impl.DatasetImpl;
>> > import org.openrdf.repository.Repository;
>> > import org.openrdf.repository.RepositoryConnection;
>> > import org.openrdf.repository.RepositoryException;
>> > @@ -381,6 +383,16 @@ public class KiWiSparqlJoinTest {
>> >              con1.begin();
>> >
>> >              Update query1 = con1.prepareUpdate(QueryLanguage.SPARQL,
>> queryString);
>> > +            // workaround for a Sesame bug: we explicitly set the
>> context for the query in the dataset
>> > +
>> > +            URI context = new URIImpl("http://localhost/mycontext";);
>> > +            DatasetImpl ds = new DatasetImpl();
>> > +            //ds.addDefaultGraph(context);
>> > +            //ds.addNamedGraph(context);
>> > +            //ds.addDefaultRemoveGraph(context);
>> > +            ds.setDefaultInsertGraph(context);
>> > +            query1.setDataset(ds);
>> > +
>> >              query1.execute();
>> >
>> >              con1.commit();
>> >
>> >
>> http://git-wip-us.apache.org/repos/asf/marmotta/blob/030a0a1d/platform/marmotta-core/src/main/java/org/apache/marmotta/platform/core/services/config/ConfigurationServiceImpl.java
>> > ----------------------------------------------------------------------
>> > diff --git
>> a/platform/marmotta-core/src/main/java/org/apache/marmotta/platform/core/services/config/ConfigurationServiceImpl.java
>> b/platform/marmotta-core/src/main/java/org/apache/marmotta/platform/core/services/config/ConfigurationServiceImpl.java
>> > index 752fe74..df13c5e 100644
>> > ---
>> a/platform/marmotta-core/src/main/java/org/apache/marmotta/platform/core/services/config/ConfigurationServiceImpl.java
>> > +++
>> b/platform/marmotta-core/src/main/java/org/apache/marmotta/platform/core/services/config/ConfigurationServiceImpl.java
>> > @@ -19,12 +19,7 @@ package
>> org.apache.marmotta.platform.core.services.config;
>> >
>> > import com.google.common.base.Preconditions;
>> > import com.google.common.collect.Lists;
>> > -import org.apache.commons.configuration.AbstractConfiguration;
>> > -import org.apache.commons.configuration.CompositeConfiguration;
>> > -import org.apache.commons.configuration.Configuration;
>> > -import org.apache.commons.configuration.ConfigurationException;
>> > -import org.apache.commons.configuration.MapConfiguration;
>> > -import org.apache.commons.configuration.PropertiesConfiguration;
>> > +import org.apache.commons.configuration.*;
>> > import org.apache.commons.lang3.ObjectUtils;
>> > import org.apache.commons.lang3.StringUtils;
>> > import
>> org.apache.marmotta.platform.core.api.config.ConfigurationService;
>> > @@ -1260,7 +1255,8 @@ public class ConfigurationServiceImpl implements
>> ConfigurationService {
>> >       */
>> >      @Override
>> >      public String getDefaultContext() {
>> > -        return getBaseUri() + CONTEXT_PATH + "/" + CONTEXT_DEFAULT;
>> > +        //return getBaseUri() + CONTEXT_PATH + "/" + CONTEXT_DEFAULT;
>> > +        return null;
>> >      }
>> >
>> >      /**
>> >
>> >
>> http://git-wip-us.apache.org/repos/asf/marmotta/blob/030a0a1d/platform/marmotta-core/src/main/java/org/apache/marmotta/platform/core/services/triplestore/ContextServiceImpl.java
>> > ----------------------------------------------------------------------
>> > diff --git
>> a/platform/marmotta-core/src/main/java/org/apache/marmotta/platform/core/services/triplestore/ContextServiceImpl.java
>> b/platform/marmotta-core/src/main/java/org/apache/marmotta/platform/core/services/triplestore/ContextServiceImpl.java
>> > index 63c958e..b49c556 100644
>> > ---
>> a/platform/marmotta-core/src/main/java/org/apache/marmotta/platform/core/services/triplestore/ContextServiceImpl.java
>> > +++
>> b/platform/marmotta-core/src/main/java/org/apache/marmotta/platform/core/services/triplestore/ContextServiceImpl.java
>> > @@ -17,20 +17,6 @@
>> >   */
>> > package org.apache.marmotta.platform.core.services.triplestore;
>> >
>> > -import static
>> org.apache.marmotta.commons.sesame.repository.ExceptionUtils.handleRepositoryException;
>> > -
>> > -import java.io.InputStream;
>> > -import java.net.URISyntaxException;
>> > -import java.util.ArrayList;
>> > -import java.util.List;
>> > -import java.util.Set;
>> > -
>> > -import javax.enterprise.context.ApplicationScoped;
>> > -import javax.enterprise.context.RequestScoped;
>> > -import javax.enterprise.inject.Produces;
>> > -import javax.inject.Inject;
>> > -import javax.inject.Named;
>> > -
>> > import org.apache.commons.lang3.StringUtils;
>> > import org.apache.marmotta.commons.http.UriUtil;
>> > import org.apache.marmotta.commons.sesame.repository.ResourceUtils;
>> > @@ -54,6 +40,19 @@ import org.openrdf.repository.RepositoryException;
>> > import org.openrdf.repository.RepositoryResult;
>> > import org.slf4j.Logger;
>> >
>> > +import javax.enterprise.context.ApplicationScoped;
>> > +import javax.enterprise.context.RequestScoped;
>> > +import javax.enterprise.inject.Produces;
>> > +import javax.inject.Inject;
>> > +import javax.inject.Named;
>> > +import java.io.InputStream;
>> > +import java.net.URISyntaxException;
>> > +import java.util.ArrayList;
>> > +import java.util.List;
>> > +import java.util.Set;
>> > +
>> > +import static
>> org.apache.marmotta.commons.sesame.repository.ExceptionUtils.handleRepositoryException;
>> > +
>> > /**
>> >   * The context (named graphs in Apache Marmotta, formerly "knowledge
>> space" in KiWi) service offers convenience
>> >   * functions for working with Apache Marmotta Contexts. Low level
>> manipulation of contexts is offered by
>> > @@ -177,6 +176,9 @@ public class ContextServiceImpl implements
>> ContextService {
>> >
>> >      @Override
>> >      public URI createContext(String uri, String label) throws
>> URISyntaxException {
>> > +        if(uri == null) {
>> > +            return null;
>> > +        }
>> >      if (!UriUtil.validate(uri)) {
>> >      uri = configurationService.getBaseContext() + uri;
>> >      if (!UriUtil.validate(uri)) {
>> >
>>
>

Reply via email to