You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@clerezza.apache.org by re...@apache.org on 2010/07/20 09:19:25 UTC
svn commit: r965740 - in
/incubator/clerezza/issues/CLEREZZA-218/org.apache.clerezza.rdf.enrichment/org.apache.clerezza.rdf.enrichment.core:
./ src/main/java/org/apache/clerezza/rdf/enrichment/
src/test/java/org/apache/clerezza/rdf/enrichment/
Author: reto
Date: Tue Jul 20 07:19:25 2010
New Revision: 965740
URL: http://svn.apache.org/viewvc?rev=965740&view=rev
Log:
CLEREZZA-218: added test and fixed for CityWeatherEnricher
Modified:
incubator/clerezza/issues/CLEREZZA-218/org.apache.clerezza.rdf.enrichment/org.apache.clerezza.rdf.enrichment.core/pom.xml
incubator/clerezza/issues/CLEREZZA-218/org.apache.clerezza.rdf.enrichment/org.apache.clerezza.rdf.enrichment.core/src/main/java/org/apache/clerezza/rdf/enrichment/EnrichmentTriples.java
incubator/clerezza/issues/CLEREZZA-218/org.apache.clerezza.rdf.enrichment/org.apache.clerezza.rdf.enrichment.core/src/test/java/org/apache/clerezza/rdf/enrichment/CityWeatherEnricher.java
incubator/clerezza/issues/CLEREZZA-218/org.apache.clerezza.rdf.enrichment/org.apache.clerezza.rdf.enrichment.core/src/test/java/org/apache/clerezza/rdf/enrichment/EnrichmentTriplesTest.java
Modified: incubator/clerezza/issues/CLEREZZA-218/org.apache.clerezza.rdf.enrichment/org.apache.clerezza.rdf.enrichment.core/pom.xml
URL: http://svn.apache.org/viewvc/incubator/clerezza/issues/CLEREZZA-218/org.apache.clerezza.rdf.enrichment/org.apache.clerezza.rdf.enrichment.core/pom.xml?rev=965740&r1=965739&r2=965740&view=diff
==============================================================================
--- incubator/clerezza/issues/CLEREZZA-218/org.apache.clerezza.rdf.enrichment/org.apache.clerezza.rdf.enrichment.core/pom.xml (original)
+++ incubator/clerezza/issues/CLEREZZA-218/org.apache.clerezza.rdf.enrichment/org.apache.clerezza.rdf.enrichment.core/pom.xml Tue Jul 20 07:19:25 2010
@@ -39,6 +39,11 @@
<groupId>org.apache.clerezza</groupId>
<artifactId>org.apache.clerezza.rdf.ontologies</artifactId>
</dependency>
+ <dependency>
+ <groupId>org.apache.clerezza</groupId>
+ <artifactId>org.apache.clerezza.rdf.utils</artifactId>
+ <scope>test</scope>
+ </dependency>
</dependencies>
</project>
Modified: incubator/clerezza/issues/CLEREZZA-218/org.apache.clerezza.rdf.enrichment/org.apache.clerezza.rdf.enrichment.core/src/main/java/org/apache/clerezza/rdf/enrichment/EnrichmentTriples.java
URL: http://svn.apache.org/viewvc/incubator/clerezza/issues/CLEREZZA-218/org.apache.clerezza.rdf.enrichment/org.apache.clerezza.rdf.enrichment.core/src/main/java/org/apache/clerezza/rdf/enrichment/EnrichmentTriples.java?rev=965740&r1=965739&r2=965740&view=diff
==============================================================================
--- incubator/clerezza/issues/CLEREZZA-218/org.apache.clerezza.rdf.enrichment/org.apache.clerezza.rdf.enrichment.core/src/main/java/org/apache/clerezza/rdf/enrichment/EnrichmentTriples.java (original)
+++ incubator/clerezza/issues/CLEREZZA-218/org.apache.clerezza.rdf.enrichment/org.apache.clerezza.rdf.enrichment.core/src/main/java/org/apache/clerezza/rdf/enrichment/EnrichmentTriples.java Tue Jul 20 07:19:25 2010
@@ -54,9 +54,9 @@ public class EnrichmentTriples extends A
new ArrayList<Iterator<Triple>>(enrichers.size());
for (Enricher enricher : enrichers) {
- if (enricher.getSubjectFilter().accept(subject, base) &&
- enricher.getPropertyFilter().accept(predicate, base) &&
- enricher.getObjectFilter().accept(object, base)) {
+ if (((subject == null) || enricher.getSubjectFilter().accept(subject, base)) &&
+ ((predicate == null) || enricher.getPropertyFilter().accept(predicate, base)) &&
+ ((object == null) || enricher.getObjectFilter().accept(object, base))) {
iteratorCollection.add(enricher.filter(subject, predicate, object, base));
}
Modified: incubator/clerezza/issues/CLEREZZA-218/org.apache.clerezza.rdf.enrichment/org.apache.clerezza.rdf.enrichment.core/src/test/java/org/apache/clerezza/rdf/enrichment/CityWeatherEnricher.java
URL: http://svn.apache.org/viewvc/incubator/clerezza/issues/CLEREZZA-218/org.apache.clerezza.rdf.enrichment/org.apache.clerezza.rdf.enrichment.core/src/test/java/org/apache/clerezza/rdf/enrichment/CityWeatherEnricher.java?rev=965740&r1=965739&r2=965740&view=diff
==============================================================================
--- incubator/clerezza/issues/CLEREZZA-218/org.apache.clerezza.rdf.enrichment/org.apache.clerezza.rdf.enrichment.core/src/test/java/org/apache/clerezza/rdf/enrichment/CityWeatherEnricher.java (original)
+++ incubator/clerezza/issues/CLEREZZA-218/org.apache.clerezza.rdf.enrichment/org.apache.clerezza.rdf.enrichment.core/src/test/java/org/apache/clerezza/rdf/enrichment/CityWeatherEnricher.java Tue Jul 20 07:19:25 2010
@@ -19,6 +19,8 @@
package org.apache.clerezza.rdf.enrichment;
import java.lang.ref.WeakReference;
+import java.util.ArrayList;
+import java.util.Collection;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
@@ -37,17 +39,17 @@ import org.apache.clerezza.utils.Iterato
/**
* add a a weather property pointing to the weather expressed a a bnode with
- * current temperature and humidity (fake values based on time and city name)
+ * current temperature and humidity (fake values)
*
* @author reto
*/
public class CityWeatherEnricher extends Enricher {
//ontology part
- UriRef classCity = new UriRef("http://example.org/ontology#City");
- UriRef weatherProperty = new UriRef("http://example.org/ontology#weather");
- UriRef temperatureProperty = new UriRef("http://example.org/ontology#temperature");
- UriRef humidityProperty = new UriRef("http://example.org/ontology#humidity");
+ static UriRef classCity = new UriRef("http://example.org/ontology#City");
+ static UriRef weatherProperty = new UriRef("http://example.org/ontology#weather");
+ static UriRef temperatureProperty = new UriRef("http://example.org/ontology#temperature");
+ static UriRef humidityProperty = new UriRef("http://example.org/ontology#humidity");
final private static UriRef xsdDouble =
new UriRef("http://www.w3.org/2001/XMLSchema#double");
private final ResourceFilter classCityFilter = getFilterForSubjectsWith(RDF.type, classCity);
@@ -120,10 +122,24 @@ public class CityWeatherEnricher extends
resultSet.add(new TripleImpl(subject, predicate, weatherNode));
}
} else {
- //TODO get the real wather of that city
+ NonLiteral city = null;
+ Collection<NonLiteral> obsoleteCities = new ArrayList<NonLiteral>();
+ for (Map.Entry<NonLiteral, WeakReference<BNode>> entry : cityWeatherMap.entrySet()) {
+ BNode node = entry.getValue().get();
+ if (node == null) {
+ obsoleteCities.add(entry.getKey());
+ }
+ if (node.equals(subject)) {
+ city = entry.getKey();
+ break;
+ }
+ }
+ for (NonLiteral nonLiteral : obsoleteCities) {
+ cityWeatherMap.remove(nonLiteral);
+ }
if (predicate.equals(temperatureProperty) || (predicate == null)) {
resultSet.add(new TripleImpl(subject,
- temperatureProperty, LiteralFactory.getInstance().createTypedLiteral(21.4)));
+ temperatureProperty, LiteralFactory.getInstance().createTypedLiteral((double)city.toString().length())));
}
if (predicate.equals(humidityProperty) || (predicate == null)) {
resultSet.add(new TripleImpl(subject,
Modified: incubator/clerezza/issues/CLEREZZA-218/org.apache.clerezza.rdf.enrichment/org.apache.clerezza.rdf.enrichment.core/src/test/java/org/apache/clerezza/rdf/enrichment/EnrichmentTriplesTest.java
URL: http://svn.apache.org/viewvc/incubator/clerezza/issues/CLEREZZA-218/org.apache.clerezza.rdf.enrichment/org.apache.clerezza.rdf.enrichment.core/src/test/java/org/apache/clerezza/rdf/enrichment/EnrichmentTriplesTest.java?rev=965740&r1=965739&r2=965740&view=diff
==============================================================================
--- incubator/clerezza/issues/CLEREZZA-218/org.apache.clerezza.rdf.enrichment/org.apache.clerezza.rdf.enrichment.core/src/test/java/org/apache/clerezza/rdf/enrichment/EnrichmentTriplesTest.java (original)
+++ incubator/clerezza/issues/CLEREZZA-218/org.apache.clerezza.rdf.enrichment/org.apache.clerezza.rdf.enrichment.core/src/test/java/org/apache/clerezza/rdf/enrichment/EnrichmentTriplesTest.java Tue Jul 20 07:19:25 2010
@@ -27,6 +27,8 @@ import org.apache.clerezza.rdf.core.Trip
import org.apache.clerezza.rdf.core.UriRef;
import org.apache.clerezza.rdf.core.impl.SimpleMGraph;
import org.apache.clerezza.rdf.core.impl.TripleImpl;
+import org.apache.clerezza.rdf.ontologies.*;
+import org.apache.clerezza.rdf.utils.GraphNode;
import org.junit.Assert;
import org.junit.Test;
@@ -58,6 +60,26 @@ public class EnrichmentTriplesTest {
Assert.assertFalse(enrichmentTriples.filter(uncle, SiblingEnricher.siblingProperty, sister).hasNext());
}
+ @Test
+ public void cityWeather() {
+ MGraph base = new SimpleMGraph();
+ Enricher cityEnricher = new CityWeatherEnricher();
+ TripleCollection enrichmentTriples = new EnrichmentTriples(base,
+ Collections.singleton(cityEnricher));
+ NonLiteral london = new UriRef("http://example.org/london");
+ NonLiteral me = new UriRef("http://example.org/me");
+ base.add(new TripleImpl(me, RDF.type, FOAF.Agent));
+ base.add(new TripleImpl(london, RDF.type, CityWeatherEnricher.classCity));
+ Assert.assertTrue(enrichmentTriples.filter(london, CityWeatherEnricher.weatherProperty, null).hasNext());
+ GraphNode node = new GraphNode(london, enrichmentTriples);
+ Assert.assertEquals("0.51",
+ node.getObjectNodes(CityWeatherEnricher.weatherProperty).next()
+ .getLiterals(CityWeatherEnricher.humidityProperty).next().getLexicalForm());
+ Assert.assertEquals(Double.toString(london.toString().length()),
+ node.getObjectNodes(CityWeatherEnricher.weatherProperty).next()
+ .getLiterals(CityWeatherEnricher.temperatureProperty).next().getLexicalForm());
+ }
+
}