Author: rwesten
Date: Wed Aug 26 12:18:57 2015
New Revision: 1697898
URL: http://svn.apache.org/r1697898
Log:
STANBOL-1439: (re)-implementation of JSON-LD support. Now based on the
java-jsonld library. This removed the old outdated implementation by using this
library. Also includes changes to the integration tests as a lot of string
checks have no longer worked with the new JSON-LD serialization.
Added:
stanbol/branches/release-0.12/commons/jsonld/src/main/java/org/apache/stanbol/commons/jsonld/clerezza/
stanbol/branches/release-0.12/commons/jsonld/src/main/java/org/apache/stanbol/commons/jsonld/clerezza/ClerezzaRDFParser.java
stanbol/branches/release-0.12/commons/jsonld/src/main/java/org/apache/stanbol/commons/jsonld/clerezza/JsonLdParsingProvider.java
stanbol/branches/release-0.12/commons/jsonld/src/main/java/org/apache/stanbol/commons/jsonld/clerezza/JsonLdSerializingProvider.java
stanbol/branches/release-0.12/commons/jsonld/src/main/resources/
stanbol/branches/release-0.12/commons/jsonld/src/main/resources/META-INF/
stanbol/branches/release-0.12/commons/jsonld/src/main/resources/META-INF/services/
stanbol/branches/release-0.12/commons/jsonld/src/main/resources/META-INF/services/org.apache.clerezza.rdf.core.serializedform.ParsingProvider
stanbol/branches/release-0.12/commons/jsonld/src/main/resources/META-INF/services/org.apache.clerezza.rdf.core.serializedform.SerializingProvider
Removed:
stanbol/branches/release-0.12/commons/jsonld/src/main/java/org/apache/stanbol/commons/jsonld/JsonComparator.java
stanbol/branches/release-0.12/commons/jsonld/src/main/java/org/apache/stanbol/commons/jsonld/JsonLd.java
stanbol/branches/release-0.12/commons/jsonld/src/main/java/org/apache/stanbol/commons/jsonld/JsonLdCommon.java
stanbol/branches/release-0.12/commons/jsonld/src/main/java/org/apache/stanbol/commons/jsonld/JsonLdIRI.java
stanbol/branches/release-0.12/commons/jsonld/src/main/java/org/apache/stanbol/commons/jsonld/JsonLdParser.java
stanbol/branches/release-0.12/commons/jsonld/src/main/java/org/apache/stanbol/commons/jsonld/JsonLdParserCommon.java
stanbol/branches/release-0.12/commons/jsonld/src/main/java/org/apache/stanbol/commons/jsonld/JsonLdProfile.java
stanbol/branches/release-0.12/commons/jsonld/src/main/java/org/apache/stanbol/commons/jsonld/JsonLdProfileParser.java
stanbol/branches/release-0.12/commons/jsonld/src/main/java/org/apache/stanbol/commons/jsonld/JsonLdProperty.java
stanbol/branches/release-0.12/commons/jsonld/src/main/java/org/apache/stanbol/commons/jsonld/JsonLdPropertyValue.java
stanbol/branches/release-0.12/commons/jsonld/src/main/java/org/apache/stanbol/commons/jsonld/JsonLdResource.java
stanbol/branches/release-0.12/commons/jsonld/src/main/java/org/apache/stanbol/commons/jsonld/JsonSerializer.java
stanbol/branches/release-0.12/commons/jsonld/src/main/java/org/apache/stanbol/commons/jsonld/ShorteningException.java
stanbol/branches/release-0.12/commons/jsonld/src/test/java/eu/
stanbol/branches/release-0.12/commons/jsonld/src/test/java/org/
stanbol/branches/release-0.12/commons/web/base/src/main/java/org/apache/stanbol/commons/web/base/writers/JsonLdSerializerProvider.java
stanbol/branches/release-0.12/commons/web/base/src/test/java/org/apache/stanbol/commons/web/base/writers/
Modified:
stanbol/branches/release-0.12/commons/jsonld/pom.xml
stanbol/branches/release-0.12/commons/pom.xml
stanbol/branches/release-0.12/commons/web/base/pom.xml
stanbol/branches/release-0.12/enhancer/jersey/src/main/resources/templates/imports/enhancerweb.ftl
stanbol/branches/release-0.12/integration-tests/pom.xml
stanbol/branches/release-0.12/integration-tests/src/test/java/org/apache/stanbol/commons/httpqueryheaders/it/HttpQueryHeaderPostTest.java
stanbol/branches/release-0.12/integration-tests/src/test/java/org/apache/stanbol/enhancer/it/DefaultChainTest.java
stanbol/branches/release-0.12/integration-tests/src/test/java/org/apache/stanbol/enhancer/it/MultipartRequestTest.java
stanbol/branches/release-0.12/integration-tests/src/test/java/org/apache/stanbol/entityhub/it/ldpath/DbpediaLDPathTest.java
Modified: stanbol/branches/release-0.12/commons/jsonld/pom.xml
URL:
http://svn.apache.org/viewvc/stanbol/branches/release-0.12/commons/jsonld/pom.xml?rev=1697898&r1=1697897&r2=1697898&view=diff
==============================================================================
--- stanbol/branches/release-0.12/commons/jsonld/pom.xml (original)
+++ stanbol/branches/release-0.12/commons/jsonld/pom.xml Wed Aug 26 12:18:57
2015
@@ -55,25 +55,38 @@
<extensions>true</extensions>
<configuration>
<instructions>
+ <Export-Package></Export-Package>
<Import-Package>
- org.apache.stanbol.commons.jsonld.*,
*
</Import-Package>
- <Export-Package>
- org.apache.stanbol.commons.jsonld.*;version=${project.version}
- </Export-Package>
+ <Private-Package>
+
org.apache.stanbol.commons.jsonld.clerezza;version=${project.version}
+ </Private-Package>
</instructions>
</configuration>
</plugin>
+ <plugin>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>maven-scr-plugin</artifactId>
+ </plugin>
+
</plugins>
</build>
<dependencies>
<dependency>
- <groupId>org.codehaus.jettison</groupId>
- <artifactId>jettison</artifactId>
+ <groupId>com.github.jsonld-java</groupId>
+ <artifactId>jsonld-java-clerezza</artifactId>
+ <version>0.6.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.clerezza</groupId>
+ <artifactId>rdf.core</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>org.apache.felix.scr.annotations</artifactId>
</dependency>
-
<!-- Logging -->
<dependency>
<groupId>org.slf4j</groupId>
Added:
stanbol/branches/release-0.12/commons/jsonld/src/main/java/org/apache/stanbol/commons/jsonld/clerezza/ClerezzaRDFParser.java
URL:
http://svn.apache.org/viewvc/stanbol/branches/release-0.12/commons/jsonld/src/main/java/org/apache/stanbol/commons/jsonld/clerezza/ClerezzaRDFParser.java?rev=1697898&view=auto
==============================================================================
---
stanbol/branches/release-0.12/commons/jsonld/src/main/java/org/apache/stanbol/commons/jsonld/clerezza/ClerezzaRDFParser.java
(added)
+++
stanbol/branches/release-0.12/commons/jsonld/src/main/java/org/apache/stanbol/commons/jsonld/clerezza/ClerezzaRDFParser.java
Wed Aug 26 12:18:57 2015
@@ -0,0 +1,108 @@
+package org.apache.stanbol.commons.jsonld.clerezza;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.apache.clerezza.rdf.core.BNode;
+import org.apache.clerezza.rdf.core.Language;
+import org.apache.clerezza.rdf.core.Literal;
+import org.apache.clerezza.rdf.core.NonLiteral;
+import org.apache.clerezza.rdf.core.PlainLiteral;
+import org.apache.clerezza.rdf.core.Resource;
+import org.apache.clerezza.rdf.core.Triple;
+import org.apache.clerezza.rdf.core.TripleCollection;
+import org.apache.clerezza.rdf.core.TypedLiteral;
+import org.apache.clerezza.rdf.core.UriRef;
+
+import com.github.jsonldjava.core.JsonLdError;
+import com.github.jsonldjava.core.JsonLdProcessor;
+import com.github.jsonldjava.core.RDFDataset;
+import com.github.jsonldjava.core.RDFParser;
+
+/**
+ * Converts a Clerezza {@link TripleCollection} to the {@link RDFDataset} used
+ * by the {@link JsonLdProcessor}
+ *
+ * @author Rupert Westenthaler
+ *
+ */
+public class ClerezzaRDFParser implements RDFParser {
+
+ private static String RDF_LANG_STRING =
"http://www.w3.org/1999/02/22-rdf-syntax-ns#langString";
+
+ private long count = 0;
+
+ @Override
+ public RDFDataset parse(Object input) throws JsonLdError {
+ count = 0;
+ Map<BNode,String> bNodeMap = new HashMap<BNode,String>(1024);
+ final RDFDataset result = new RDFDataset();
+ if(input instanceof TripleCollection){
+ for(Triple t : ((TripleCollection)input)){
+ handleStatement(result,t, bNodeMap);
+ }
+ }
+ bNodeMap.clear(); //help gc
+ return result;
+ }
+
+ private void handleStatement(RDFDataset result, Triple t,
Map<BNode,String> bNodeMap) {
+ final String subject = getResourceValue(t.getSubject(), bNodeMap);
+ final String predicate = getResourceValue(t.getPredicate(), bNodeMap);
+ final Resource object = t.getObject();
+
+ if (object instanceof Literal) {
+
+ final String value = ((Literal)object).getLexicalForm();
+ final String language;
+ final String datatype;
+ if(object instanceof TypedLiteral){
+ language = null;
+ datatype =
getResourceValue(((TypedLiteral)object).getDataType(), bNodeMap);
+ } else if(object instanceof PlainLiteral){
+ //we use RDF 1.1 literals so we do set the RDF_LANG_STRING
datatype
+ datatype = RDF_LANG_STRING;
+ Language l = ((PlainLiteral)object).getLanguage();
+ if(l == null){
+ language = null;
+ } else {
+ language = l.toString();
+ }
+ } else {
+ throw new IllegalStateException("Unknown Literal class " +
object.getClass().getName());
+ }
+ result.addTriple(subject, predicate, value, datatype, language);
+ count++;
+ } else {
+ result.addTriple(subject, predicate, getResourceValue((NonLiteral)
object, bNodeMap));
+ count++;
+ }
+
+ }
+
+ /**
+ * The count of processed triples (not thread save)
+ * @return the count of triples processed by the last {@link
#parse(Object)} call
+ */
+ public long getCount() {
+ return count;
+ }
+
+ private String getResourceValue(NonLiteral nl, Map<BNode,String> bNodeMap)
{
+ if (nl == null) {
+ return null;
+ } else if (nl instanceof UriRef) {
+ return ((UriRef)nl).getUnicodeString();
+ } else if (nl instanceof BNode) {
+ String bNodeId = bNodeMap.get(nl);
+ if(bNodeId == null){
+ bNodeId = Integer.toString(bNodeMap.size());
+ bNodeMap.put((BNode)nl, bNodeId);
+ }
+ return new StringBuilder("_:").append(bNodeId).toString();
+ } else {
+ throw new IllegalStateException("Unknwon NonLiteral type
"+nl.getClass().getName()+"!");
+ }
+ }
+}
+
Added:
stanbol/branches/release-0.12/commons/jsonld/src/main/java/org/apache/stanbol/commons/jsonld/clerezza/JsonLdParsingProvider.java
URL:
http://svn.apache.org/viewvc/stanbol/branches/release-0.12/commons/jsonld/src/main/java/org/apache/stanbol/commons/jsonld/clerezza/JsonLdParsingProvider.java?rev=1697898&view=auto
==============================================================================
---
stanbol/branches/release-0.12/commons/jsonld/src/main/java/org/apache/stanbol/commons/jsonld/clerezza/JsonLdParsingProvider.java
(added)
+++
stanbol/branches/release-0.12/commons/jsonld/src/main/java/org/apache/stanbol/commons/jsonld/clerezza/JsonLdParsingProvider.java
Wed Aug 26 12:18:57 2015
@@ -0,0 +1,80 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to you under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.stanbol.commons.jsonld.clerezza;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+import org.apache.clerezza.rdf.core.MGraph;
+import org.apache.clerezza.rdf.core.UriRef;
+import org.apache.clerezza.rdf.core.serializedform.ParsingProvider;
+import org.apache.clerezza.rdf.core.serializedform.SupportedFormat;
+import org.apache.felix.scr.annotations.Component;
+import org.apache.felix.scr.annotations.ConfigurationPolicy;
+import org.apache.felix.scr.annotations.Service;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import com.github.jsonldjava.clerezza.ClerezzaTripleCallback;
+import com.github.jsonldjava.core.JsonLdError;
+import com.github.jsonldjava.core.JsonLdProcessor;
+import com.github.jsonldjava.utils.JsonUtils;
+
+/**
+ * A {@link org.apache.clerezza.rdf.core.serializedform.ParsingProvider} for
+ * JSON-LD (application/ld+json) based on the java-jsonld library
+ *
+ * @author Rupert Westenthaler
+ *
+ */
+@Component(immediate=true,policy=ConfigurationPolicy.OPTIONAL)
+@Service
+@SupportedFormat("application/ld+json")
+public class JsonLdParsingProvider implements ParsingProvider {
+
+ private final Logger logger = LoggerFactory.getLogger(getClass());
+
+ @Override
+ public void parse(MGraph target, InputStream serializedGraph, String
formatIdentifier, UriRef baseUri) {
+ //The callback will add parsed triples to the target MGraph
+ ClerezzaTripleCallback ctc = new ClerezzaTripleCallback();
+ ctc.setMGraph(target);
+ Object input;
+ int startSize = 0;
+ if(logger.isDebugEnabled()){
+ startSize = target.size();
+ }
+ long start = System.currentTimeMillis();
+ try {
+ input = JsonUtils.fromInputStream(serializedGraph,"UTF-8");
+ } catch (IOException e) {
+ logger.error("Unable to read from the parsed input stream",e);
+ throw new RuntimeException(e.getMessage(), e);
+ }
+ try {
+ JsonLdProcessor.toRDF(input,ctc);
+ } catch (JsonLdError e) {
+ logger.error("Unable to parse JSON-LD from the parsed input
stream",e);
+ throw new RuntimeException(e.getMessage(), e);
+ }
+ if(logger.isDebugEnabled()){
+ logger.debug(" - parsed {} triples in {}ms", target.size() -
startSize,
+ System.currentTimeMillis()-start);
+ }
+ }
+
+}
Added:
stanbol/branches/release-0.12/commons/jsonld/src/main/java/org/apache/stanbol/commons/jsonld/clerezza/JsonLdSerializingProvider.java
URL:
http://svn.apache.org/viewvc/stanbol/branches/release-0.12/commons/jsonld/src/main/java/org/apache/stanbol/commons/jsonld/clerezza/JsonLdSerializingProvider.java?rev=1697898&view=auto
==============================================================================
---
stanbol/branches/release-0.12/commons/jsonld/src/main/java/org/apache/stanbol/commons/jsonld/clerezza/JsonLdSerializingProvider.java
(added)
+++
stanbol/branches/release-0.12/commons/jsonld/src/main/java/org/apache/stanbol/commons/jsonld/clerezza/JsonLdSerializingProvider.java
Wed Aug 26 12:18:57 2015
@@ -0,0 +1,200 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to you under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.stanbol.commons.jsonld.clerezza;
+
+import java.io.IOException;
+import java.io.OutputStream;
+import java.io.OutputStreamWriter;
+import java.io.Writer;
+import java.nio.charset.Charset;
+import java.util.Collections;
+import java.util.Dictionary;
+import java.util.HashMap;
+import java.util.LinkedHashMap;
+import java.util.Map;
+
+import org.apache.clerezza.rdf.core.TripleCollection;
+import org.apache.clerezza.rdf.core.serializedform.SerializingProvider;
+import org.apache.clerezza.rdf.core.serializedform.SupportedFormat;
+import org.apache.felix.scr.annotations.Activate;
+import org.apache.felix.scr.annotations.Component;
+import org.apache.felix.scr.annotations.ConfigurationPolicy;
+import org.apache.felix.scr.annotations.Deactivate;
+import org.apache.felix.scr.annotations.Property;
+import org.apache.felix.scr.annotations.PropertyOption;
+import org.apache.felix.scr.annotations.Service;
+import org.osgi.service.component.ComponentContext;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import com.github.jsonldjava.core.JsonLdError;
+import com.github.jsonldjava.core.JsonLdOptions;
+import com.github.jsonldjava.core.JsonLdProcessor;
+import com.github.jsonldjava.utils.JsonUtils;
+
+/**
+ * A {@link org.apache.clerezza.rdf.core.serializedform.SerializingProvider}
for
+ * JSON-LD (application/ld+json) based on the java-jsonld library
+ *
+ * @author Rupert Westenthaler
+ */
+@Component(immediate = true,policy=ConfigurationPolicy.OPTIONAL)
+@Service
+@SupportedFormat(value={"application/ld+json","application/json"})
+public class JsonLdSerializingProvider implements SerializingProvider {
+
+ private final Logger logger = LoggerFactory.getLogger(getClass());
+
+ private static final Charset UTF8 = Charset.forName("UTF-8");
+
+ private static final String MODE_EXPAND = "expand";
+ private static final String MODE_FLATTEN = "flatten";
+ private static final String MODE_COMPACT = "compact";
+
+ @Property(value="",options={
+ @PropertyOption(value="%mode.option.none",name=""), //none (keep
the default)
+ @PropertyOption(value="%mode.option.flatten",name="flatten"),
+ @PropertyOption(value="%mode.option.compact",name="compact"),
+ @PropertyOption(value="%mode.option.expand",name=MODE_EXPAND)})
+ private static final String PROP_MODE = "mode";
+
+ @Property(boolValue=false)
+ private static final String PROP_USE_RDF_TYPE = "useRdfTye";
+
+ @Property(boolValue=false)
+ private static final String PROP_USE_NATIVE_TYPES = "useNativeTypes";
+
+ @Property(boolValue=true)
+ private static final String PROP_PRETTY_PRINT = "prettyPrint";
+
+ //TODO: make configurable or read the whole prefix.cc list from a file and
+ // search for really used namespaces while parsing the triples in the
+ // ClerezzaRDFParser
+ private static Map<String,String> DEFAULT_NAMESPACES;
+ static {
+ //core ontologies, top from prefixcc and some stanbol specific
+ Map<String,String> ns = new LinkedHashMap<String,String>();
+ //core schemas
+ ns.put("xsd", "http://www.w3.org/2001/XMLSchema#");
+ ns.put("owl", "http://www.w3.org/2002/07/owl#");
+ ns.put("rdf", "http://www.w3.org/1999/02/22-rdf-syntax-ns#");
+ ns.put("rdfs", "http://www.w3.org/2000/01/rdf-schema#");
+ //well known ontologies
+ ns.put("skos", "http://www.w3.org/2004/02/skos/core#");
+ ns.put("geo", "http://www.w3.org/2003/01/geo/wgs84_pos#");
+ ns.put("dc", "http://purl.org/dc/elements/1.1/");
+ ns.put("foaf", "http://xmlns.com/foaf/0.1/");
+ ns.put("ma","http://www.w3.org/ns/ma-ont#");
+ //big datasets
+ ns.put("dbo", "http://dbpedia.org/ontology/");
+ ns.put("dbp", "http://dbpedia.org/property/");
+ ns.put("yago", "http://yago-knowledge.org/resource/");
+ ns.put("fb", "http://rdf.freebase.com/ns/");
+ ns.put("geonames", "http://www.geonames.org/ontology#");
+ //stanbol specific
+ ns.put("fise", "http://fise.iks-project.eu/ontology/");
+
ns.put("enhancer","http://stanbol.apache.org/ontology/enhancer/enhancer#");
+ ns.put("entityhub",
"http://stanbol.apache.org/ontology/entityhub/entityhub#");
+
+ DEFAULT_NAMESPACES = Collections.unmodifiableMap(ns);
+ }
+
+
+ private JsonLdOptions opts = null;
+ private String mode;
+
+ private boolean prettyPrint;
+
+ @Override
+ public void serialize(OutputStream serializedGraph, TripleCollection tc,
String formatIdentifier) {
+ ClerezzaRDFParser serializer = new ClerezzaRDFParser();
+ try {
+ long start = System.currentTimeMillis();
+ Object output = JsonLdProcessor.fromRDF(tc, serializer);
+
+ if(MODE_EXPAND.equalsIgnoreCase(mode)){
+ logger.debug(" - mode: {}", MODE_EXPAND);
+ output = JsonLdProcessor.expand(output,opts);
+ }
+ if(MODE_FLATTEN.equalsIgnoreCase(mode)){
+ logger.debug(" - mode: {}", MODE_FLATTEN);
+ // TODO: Allow inframe config
+ final Object inframe = null;
+ output = JsonLdProcessor.flatten(output, inframe, opts);
+ }
+ if(MODE_COMPACT.equalsIgnoreCase(mode)){
+ logger.debug(" - mode: {}", MODE_COMPACT);
+ //TODO: collect namespaces used in the triples in the
ClerezzaRDFParser
+ final Map<String, Object> localCtx = new HashMap<String,
Object>();
+ localCtx.put("@context", DEFAULT_NAMESPACES);
+ output = JsonLdProcessor.compact(output, localCtx, opts);
+ }
+ Writer writer = new OutputStreamWriter(serializedGraph, UTF8);
+ logger.debug(" - prettyPrint: {}", prettyPrint);
+ if (prettyPrint) {
+ JsonUtils.writePrettyPrint(writer, output);
+ } else {
+ JsonUtils.write(writer, output);
+ }
+ if(logger.isDebugEnabled()){
+ logger.debug(" - serialized {} triples in {}ms",
serializer.getCount(),
+ System.currentTimeMillis()-start);
+ }
+ } catch (JsonLdError e) {
+ throw new RuntimeException(e.getMessage(), e);
+ } catch (IOException e) {
+ throw new RuntimeException(e.getMessage(), e);
+ }
+ }
+
+ @Activate
+ protected void activate(ComponentContext ctx) {
+ opts = new JsonLdOptions();
+ @SuppressWarnings("unchecked")
+ Dictionary<String,Object> config = ctx.getProperties();
+ //boolean properties
+ opts.setUseRdfType(getState(config.get(PROP_USE_RDF_TYPE), false));
+ opts.setUseNativeTypes(getState(config.get(PROP_USE_NATIVE_TYPES),
false));
+ prettyPrint = getState(config.get(PROP_PRETTY_PRINT),true);
+ //parse the string mode
+ Object value = config.get(PROP_MODE);
+ mode = value == null ? null : value.toString();
+ }
+
+
+ @Deactivate
+ protected void deactivate(ComponentContext ctx) {
+ opts = null;
+ mode = null;
+ prettyPrint = false;
+ }
+
+ /**
+ * @param value
+ */
+ private boolean getState(Object value, boolean defaultState) {
+ if(value instanceof Boolean){
+ return ((Boolean)value).booleanValue();
+ } else if(value != null){
+ return Boolean.parseBoolean(value.toString());
+ } else {
+ return defaultState;
+ }
+ }
+
+
+}
Added:
stanbol/branches/release-0.12/commons/jsonld/src/main/resources/META-INF/services/org.apache.clerezza.rdf.core.serializedform.ParsingProvider
URL:
http://svn.apache.org/viewvc/stanbol/branches/release-0.12/commons/jsonld/src/main/resources/META-INF/services/org.apache.clerezza.rdf.core.serializedform.ParsingProvider?rev=1697898&view=auto
==============================================================================
---
stanbol/branches/release-0.12/commons/jsonld/src/main/resources/META-INF/services/org.apache.clerezza.rdf.core.serializedform.ParsingProvider
(added)
+++
stanbol/branches/release-0.12/commons/jsonld/src/main/resources/META-INF/services/org.apache.clerezza.rdf.core.serializedform.ParsingProvider
Wed Aug 26 12:18:57 2015
@@ -0,0 +1 @@
+org.apache.stanbol.commons.jsonld.clerezza.JsonLdParsingProvider
Added:
stanbol/branches/release-0.12/commons/jsonld/src/main/resources/META-INF/services/org.apache.clerezza.rdf.core.serializedform.SerializingProvider
URL:
http://svn.apache.org/viewvc/stanbol/branches/release-0.12/commons/jsonld/src/main/resources/META-INF/services/org.apache.clerezza.rdf.core.serializedform.SerializingProvider?rev=1697898&view=auto
==============================================================================
---
stanbol/branches/release-0.12/commons/jsonld/src/main/resources/META-INF/services/org.apache.clerezza.rdf.core.serializedform.SerializingProvider
(added)
+++
stanbol/branches/release-0.12/commons/jsonld/src/main/resources/META-INF/services/org.apache.clerezza.rdf.core.serializedform.SerializingProvider
Wed Aug 26 12:18:57 2015
@@ -0,0 +1 @@
+org.apache.stanbol.commons.jsonld.clerezza.JsonLdSerializingProvider
Modified: stanbol/branches/release-0.12/commons/pom.xml
URL:
http://svn.apache.org/viewvc/stanbol/branches/release-0.12/commons/pom.xml?rev=1697898&r1=1697897&r2=1697898&view=diff
==============================================================================
--- stanbol/branches/release-0.12/commons/pom.xml (original)
+++ stanbol/branches/release-0.12/commons/pom.xml Wed Aug 26 12:18:57 2015
@@ -112,7 +112,10 @@
<!-- Apache Clerezza utils and extensions-->
<module>indexedgraph</module>
- <module>jsonld</module> <!-- JSON-LD implementation for Stanbol (outdated)
-->
+ <!-- JSON-LD serializer/parser provider for Clerezza
+ (should move to
https://github.com/jsonld-java/jsonld-java/tree/master/integration/clerezza)
+ -->
+ <module>jsonld</module>
<module>ldpath/clerezza</module>
<module>launchpad</module>
Modified: stanbol/branches/release-0.12/commons/web/base/pom.xml
URL:
http://svn.apache.org/viewvc/stanbol/branches/release-0.12/commons/web/base/pom.xml?rev=1697898&r1=1697897&r2=1697898&view=diff
==============================================================================
--- stanbol/branches/release-0.12/commons/web/base/pom.xml (original)
+++ stanbol/branches/release-0.12/commons/web/base/pom.xml Wed Aug 26 12:18:57
2015
@@ -87,11 +87,6 @@
</build>
<dependencies>
- <dependency>
- <groupId>org.apache.stanbol</groupId>
- <artifactId>org.apache.stanbol.commons.jsonld</artifactId>
- <version>0.11.0</version>
- </dependency>
<!-- Clerezza dependencies -->
<dependency>
Modified:
stanbol/branches/release-0.12/enhancer/jersey/src/main/resources/templates/imports/enhancerweb.ftl
URL:
http://svn.apache.org/viewvc/stanbol/branches/release-0.12/enhancer/jersey/src/main/resources/templates/imports/enhancerweb.ftl?rev=1697898&r1=1697897&r2=1697898&view=diff
==============================================================================
---
stanbol/branches/release-0.12/enhancer/jersey/src/main/resources/templates/imports/enhancerweb.ftl
(original)
+++
stanbol/branches/release-0.12/enhancer/jersey/src/main/resources/templates/imports/enhancerweb.ftl
Wed Aug 26 12:18:57 2015
@@ -92,7 +92,7 @@ $(".enginelisting p").click(function ()
<p><textarea rows="15" name="content"></textarea></p>
<p class="submitButtons">Output format:
<select name="format">
- <option value="application/json">JSON-LD</option>
+ <option value="application/ld+json">JSON-LD</option>
<option value="application/rdf+xml">RDF/XML</option>
<option value="application/rdf+json">RDF/JSON</option>
<option value="text/turtle">Turtle</option>
Modified: stanbol/branches/release-0.12/integration-tests/pom.xml
URL:
http://svn.apache.org/viewvc/stanbol/branches/release-0.12/integration-tests/pom.xml?rev=1697898&r1=1697897&r2=1697898&view=diff
==============================================================================
--- stanbol/branches/release-0.12/integration-tests/pom.xml (original)
+++ stanbol/branches/release-0.12/integration-tests/pom.xml Wed Aug 26 12:18:57
2015
@@ -116,10 +116,10 @@
<server.ready.path.1>/:stanbol.css</server.ready.path.1>
<server.ready.path.2>/enhancer:Stateless REST
analysis:Accept:text/html</server.ready.path.2>
<server.ready.path.3>/entityhub:The RESTful API of the
Entityhub</server.ready.path.3>
- <!-- comment the following paths to use the integration test with
the stable launcher -->
+ <!-- comment the following paths to use the integration test with
the stable launcher
<server.ready.path.4>/contenthub:Recently uploaded Content
Items</server.ready.path.4>
<server.ready.path.5>/ontonet:Apache Stanbol
OntoNet:Accept:text/html</server.ready.path.5>
- <server.ready.path.6>/reasoners:The Stanbol Reasoners
provides</server.ready.path.6>
+ <server.ready.path.6>/reasoners:The Stanbol Reasoners
provides</server.ready.path.6> -->
</systemPropertyVariables>
<excludes>
<!-- Config is to big and Regex check on result causes
OutOfMemoryExceptions -->
Modified:
stanbol/branches/release-0.12/integration-tests/src/test/java/org/apache/stanbol/commons/httpqueryheaders/it/HttpQueryHeaderPostTest.java
URL:
http://svn.apache.org/viewvc/stanbol/branches/release-0.12/integration-tests/src/test/java/org/apache/stanbol/commons/httpqueryheaders/it/HttpQueryHeaderPostTest.java?rev=1697898&r1=1697897&r2=1697898&view=diff
==============================================================================
---
stanbol/branches/release-0.12/integration-tests/src/test/java/org/apache/stanbol/commons/httpqueryheaders/it/HttpQueryHeaderPostTest.java
(original)
+++
stanbol/branches/release-0.12/integration-tests/src/test/java/org/apache/stanbol/commons/httpqueryheaders/it/HttpQueryHeaderPostTest.java
Wed Aug 26 12:18:57 2015
@@ -69,8 +69,11 @@ public class HttpQueryHeaderPostTest ext
.assertStatus(200)
//check for JSON-LD (the default content type
.assertContentType("application/ld+json")
- .assertContentRegexp("entity-reference\":
\"http://dbpedia.org/resource/London\"",
- "creator\":
\"org.apache.stanbol.enhancer.engines.langdetect.LanguageDetectionEnhancementEngine\"",
- "creator\":
\"org.apache.stanbol.enhancer.engines.entitytagging.impl.NamedEntityTaggingEngine\"");
+ .assertContentContains(
+ "\"http://fise.iks-project.eu/ontology/entity-reference\" : [ {",
+ "\"@id\" : \"http://dbpedia.org/resource/London\"",
+ "\"http://purl.org/dc/terms/creator\" : [ {",
+ "\"@value\" :
\"org.apache.stanbol.enhancer.engines.langdetect.LanguageDetectionEnhancementEngine\"",
+ "\"@value\" :
\"org.apache.stanbol.enhancer.engines.entitytagging.impl.NamedEntityTaggingEngine\"");
}
}
Modified:
stanbol/branches/release-0.12/integration-tests/src/test/java/org/apache/stanbol/enhancer/it/DefaultChainTest.java
URL:
http://svn.apache.org/viewvc/stanbol/branches/release-0.12/integration-tests/src/test/java/org/apache/stanbol/enhancer/it/DefaultChainTest.java?rev=1697898&r1=1697897&r2=1697898&view=diff
==============================================================================
---
stanbol/branches/release-0.12/integration-tests/src/test/java/org/apache/stanbol/enhancer/it/DefaultChainTest.java
(original)
+++
stanbol/branches/release-0.12/integration-tests/src/test/java/org/apache/stanbol/enhancer/it/DefaultChainTest.java
Wed Aug 26 12:18:57 2015
@@ -36,9 +36,9 @@ public class DefaultChainTest extends En
* Expected content-type, Expected regexp
*/
public final static String [] ACCEPT_FORMAT_TEST_DATA = new String[] {
- "application/json",
- "application/json", //now JSON LD uses application/json
- "\"creator\":
\"org.apache.stanbol.enhancer.engines.langdetect.LanguageDetectionEnhancementEngine\",",
+ "application/ld+json",
+ "application/ld+json", //now JSON LD uses application/ld+json
+ "\"@value\" :
\"org.apache.stanbol.enhancer.engines.langdetect.LanguageDetectionEnhancementEngine\"",
"application/rdf+xml",
"application/rdf+xml",
Modified:
stanbol/branches/release-0.12/integration-tests/src/test/java/org/apache/stanbol/enhancer/it/MultipartRequestTest.java
URL:
http://svn.apache.org/viewvc/stanbol/branches/release-0.12/integration-tests/src/test/java/org/apache/stanbol/enhancer/it/MultipartRequestTest.java?rev=1697898&r1=1697897&r2=1697898&view=diff
==============================================================================
---
stanbol/branches/release-0.12/integration-tests/src/test/java/org/apache/stanbol/enhancer/it/MultipartRequestTest.java
(original)
+++
stanbol/branches/release-0.12/integration-tests/src/test/java/org/apache/stanbol/enhancer/it/MultipartRequestTest.java
Wed Aug 26 12:18:57 2015
@@ -113,9 +113,10 @@ public class MultipartRequestTest extend
//This is basically testing backward compatibility
String[] jsonLDMetadataTests = new String[]{
- "\"@id\": \"http://dbpedia.org/resource/Paris\",",
- "\"@id\": \"http://dbpedia.org/resource/Bob_Marley\",",
- "\"dc:creator\":
\"org.apache.stanbol.enhancer.engines.entitytagging.impl.NamedEntityTaggingEngine\","
+ "\"@id\" : \"http://dbpedia.org/resource/Paris\",",
+ "\"@id\" : \"http://dbpedia.org/resource/Bob_Marley\",",
+ "\"http://purl.org/dc/terms/creator\" : [ {",
+ "\"@value\" :
\"org.apache.stanbol.enhancer.engines.entitytagging.impl.NamedEntityTaggingEngine\""
};
String[] params = new String []{
"outputContent","text/plain"
@@ -127,7 +128,7 @@ public class MultipartRequestTest extend
.withContent(HTML_CONTENT)
)
.assertStatus(200) //metadata as JSONLD
- .assertContentRegexp(jsonLDMetadataTests);
+ .assertContentContains(jsonLDMetadataTests);
params = new String []{
"outputContent","application/octet-stream"}; //omitMetadata=false
@@ -138,7 +139,7 @@ public class MultipartRequestTest extend
.withContent(HTML_CONTENT)
)
.assertStatus(200) //metadata as JSONLD
- .assertContentRegexp(jsonLDMetadataTests);
+ .assertContentContains(jsonLDMetadataTests);
params = new String []{
"outputContent","application/octet-stream"}; //omitMetadata=false
@@ -149,7 +150,7 @@ public class MultipartRequestTest extend
.withContent(HTML_CONTENT)
)
.assertStatus(200) //metadata as JSONLD
- .assertContentRegexp(jsonLDMetadataTests);
+ .assertContentContains(jsonLDMetadataTests);
}
@Test
Modified:
stanbol/branches/release-0.12/integration-tests/src/test/java/org/apache/stanbol/entityhub/it/ldpath/DbpediaLDPathTest.java
URL:
http://svn.apache.org/viewvc/stanbol/branches/release-0.12/integration-tests/src/test/java/org/apache/stanbol/entityhub/it/ldpath/DbpediaLDPathTest.java?rev=1697898&r1=1697897&r2=1697898&view=diff
==============================================================================
---
stanbol/branches/release-0.12/integration-tests/src/test/java/org/apache/stanbol/entityhub/it/ldpath/DbpediaLDPathTest.java
(original)
+++
stanbol/branches/release-0.12/integration-tests/src/test/java/org/apache/stanbol/entityhub/it/ldpath/DbpediaLDPathTest.java
Wed Aug 26 12:18:57 2015
@@ -135,10 +135,10 @@ public class DbpediaLDPathTest extends E
)
.assertStatus(200)
.assertContentContains(
- "\"@id\": \"http://dbpedia.org/resource/London\"",
- "\"@value\": \"London\"",
- "\"@id\": \"http://dbpedia.org/resource/Paris\"",
- "\"@value\": \"Paris\"");
+ "\"@id\" : \"http://dbpedia.org/resource/London\"",
+ "\"@value\" : \"London\"",
+ "\"@id\" : \"http://dbpedia.org/resource/Paris\"",
+ "\"@value\" : \"Paris\"");
}
@Test
public void testUnknownContext() throws IOException {
@@ -149,7 +149,7 @@ public class DbpediaLDPathTest extends E
"ldpath","name = rdfs:label[@en] :: xsd:string;")
)
.assertStatus(200)
- .assertContentContains("{","}");
+ .assertContentContains("[","]");
}
@Test
public void testLDPath() throws IOException {
@@ -169,16 +169,18 @@ public class DbpediaLDPathTest extends E
.assertStatus(200)
.assertContentType("application/json")
.assertContentContains(
- "\"@id\": \"http://dbpedia.org/resource/Paris\"",
- "\"comment\": {",
+ "\"@id\" : \"http://dbpedia.org/resource/Paris\"",
+ "\"comment\" : [ {",
"Paris is the capital and largest city of France.",
- "\"homepage\": \"http://www.paris.fr/\"",
- "\"labels\": [",
- "\"@value\": \"Parigi\"",
- "\"@value\": \"å·´é»\"",
- "\"location\": \"[48.8567,2.3508]\"",
- "\"name\": {",
- "\"@value\": \"Paris\""
+ "\"homepage\" : [ {",
+ "\"@id\" : \"http://www.paris.fr/\"",
+ "\"labels\" : [ {",
+ "\"@value\" : \"Parigi\"",
+ "\"@value\" : \"å·´é»\"",
+ "\"location\" : [ {",
+ "\"@value\" : \"[48.8567,2.3508]\"",
+ "\"name\" : [ {",
+ "\"@value\" : \"Paris\""
);
}
/*