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/27 08:54:57 UTC
svn commit: r979557 - 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/
test/java/org/apache/clerezza/rdf/enrichment/
Author: reto
Date: Tue Jul 27 06:54:56 2010
New Revision: 979557
URL: http://svn.apache.org/viewvc?rev=979557&view=rev
Log:
CLEREZZA-218: added comments and tidying up
Removed:
incubator/clerezza/issues/CLEREZZA-218/org.apache.clerezza.rdf.enrichment/org.apache.clerezza.rdf.enrichment.core/src/main/java/org/apache/clerezza/rdf/enrichment/ResourceMatcher.java
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/Enricher.java
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
incubator/clerezza/issues/CLEREZZA-218/org.apache.clerezza.rdf.enrichment/org.apache.clerezza.rdf.enrichment.core/src/test/java/org/apache/clerezza/rdf/enrichment/SiblingEnricher.java
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/Enricher.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/Enricher.java?rev=979557&r1=979556&r2=979557&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/Enricher.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/Enricher.java Tue Jul 27 06:54:56 2010
@@ -26,7 +26,6 @@ import java.util.Iterator;
import java.util.List;
import java.util.Set;
import org.apache.clerezza.rdf.core.BNode;
-import org.apache.clerezza.rdf.core.Literal;
import org.apache.clerezza.rdf.core.NonLiteral;
import org.apache.clerezza.rdf.core.Resource;
import org.apache.clerezza.rdf.core.Triple;
@@ -58,10 +57,23 @@ import org.apache.clerezza.rdf.core.UriR
public abstract class Enricher {
+ /**
+ * Filters resources of a TripleCollcetion
+ */
public static abstract class ResourceFilter {
+ /**
+ *
+ * @param resource the resource to be evaluated
+ * @param tc the TripleCollcetion within which the resource is evaluated
+ * @return true if resource in tc passes the filter, false otherwise
+ */
public abstract boolean accept(Resource resource, TripleCollection tc);
+ /**
+ * @param tc the TripleCollcetion
+ * @return all the acceptable resources within tc
+ */
public Set<Resource> getAcceptable(TripleCollection tc) {
Set<Resource> result = new HashSet<Resource>();
for (Triple triple : tc) {
@@ -82,7 +94,69 @@ public abstract class Enricher {
}
}
+ /**
+ * returns the additional triples to a specified base graph. This method is
+ * only invoked with resources matching the respective Filter.
+ *
+ * @param subject
+ * @param predicate
+ * @param object
+ * @param base
+ * @return
+ */
+ public abstract Iterator<Triple> filter(NonLiteral subject, UriRef predicate,
+ Resource object, TripleCollection base);
+
+ /**
+ * returns the number of enrichment triples for <code>base</code>
+ *
+ * @param base the triplecollection for which enrichment triples are generated
+ * @return the number of triples
+ */
+ public abstract int providedTriplesCount(TripleCollection base);
+
+
+ //IDEA add way for impl to specify fields that must not be null in filter
+ //queries (in which case null is replaced with all matching resources)
+ //and a way to specify that the impl ignores a specfied value in which case
+ //a filter is applied manually on that value.
+ //ISSUE: the query <tt>null, null, "13,4"</tt> might cause computation of a huge lots
+ //of values
+ /**
+ * The filter method of this enricher shall only be invoked with subjects
+ * matching the Filter returned by this method
+ *
+ * @return
+ */
+ public ResourceFilter getSubjectFilter() {
+ return acceptAll;
+ }
+
+ /**
+ * The filter method of this enricher shall only be invoked with predicates
+ * matching the Filter returned by this method
+ *
+ * @return
+ */
+ public ResourceFilter getPredicateFilter() {
+ return acceptAll;
+ }
+
+ /**
+ * The filter method of this enricher shall only be invoked with objects
+ * matching the Filter returned by this method
+ *
+ * @return
+ */
+ public ResourceFilter getObjectFilter() {
+ return acceptAll;
+ }
+
+ //utility methods for implementations
+ /**
+ * A filter accepting all resources
+ */
public ResourceFilter acceptAll = new ResourceFilter() {
@Override
@@ -91,6 +165,12 @@ public abstract class Enricher {
}
};
+ /**
+ *
+ * @param predicate
+ * @return a filter accepting all resources that are the subject of a
+ * statement with the specified predicate
+ */
protected static ResourceFilter getFilterForSubjectsWithProperty(final UriRef predicate) {
return new ResourceFilter() {
@@ -104,6 +184,11 @@ public abstract class Enricher {
}
};
}
+
+ /**
+ * @return a filter accepting all resources that are the subject of a
+ * statement with the specified predicate and object
+ */
protected static ResourceFilter getFilterForSubjectsWith(final UriRef predicate,
final Resource object) {
return new ResourceFilter() {
@@ -118,7 +203,8 @@ public abstract class Enricher {
}
};
}
- /** creates a resource filters that matches only the specified resource
+
+ /** creates a resource filters that matches only the specified resource
*
* @param resources
* @return
@@ -134,6 +220,11 @@ public abstract class Enricher {
};
}
+ /**
+ *
+ * @param dataType
+ * @return a filter accepting only typed literals of dataType
+ */
protected static ResourceFilter getDataTypeFilter(final UriRef dataType) {
return new ResourceFilter() {
@@ -148,48 +239,18 @@ public abstract class Enricher {
};
}
- /**
- * returns the additionl triples to a specified base graph. This method is
- * only invoked with resources matching the respective Filter.
- *
- * @param subject
- * @param predicate
- * @param object
- * @param base
- * @return
- */
- public abstract Iterator<Triple> filter(NonLiteral subject, UriRef predicate,
- Resource object, TripleCollection base);
-
- public abstract int providedTriplesCount(TripleCollection base);
- //IDEA add way for impl to specify fields that must not be null in filter
- //queries (in which case null is replaced with all matching resources)
- //and a way to specify that the impl ignores a specfied value in which case
- //a filter is applied manually on that value.
- //ISSUE: the query <tt>null, null, "13,4"</tt> might cause computation of a huge lots
- //of values
- public ResourceFilter getSubjectFilter() {
- return acceptAll;
- }
-
- public ResourceFilter getPropertyFilter() {
- return acceptAll;
- }
-
- public ResourceFilter getObjectFilter() {
- return acceptAll;
- }
-
- //utility methods for implementations
private class LocalBNode extends BNode {
-
boolean isFrom(Enricher enricher) {
return (enricher == Enricher.this);
}
}
+ /**
+ *
+ * @return a Bnode that will be accepted by localBNodeFilter
+ */
protected BNode createLocalBNode() {
return new LocalBNode();
}
@@ -202,17 +263,20 @@ public abstract class Enricher {
}
};
+ /**
+ *
+ * @return localBNodeFilter a filter matching exclusively BNodes created by
+ * the createLocalBNode method of the same instance
+ */
protected ResourceFilter getLocalBNodeFilter() {
return localBNodeFilter;
}
-
-
-
-
/** utility method to filter an iterator
*
+ * @return an iterator with the triples baseIter matching the specified
+ * subject, predicate and object where this are not null
*/
protected Iterator<Triple> filterIterator(NonLiteral subject, UriRef predicate,
Resource object, final Iterator<Triple> baseIter) {
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=979557&r1=979556&r2=979557&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 27 06:54:56 2010
@@ -29,7 +29,6 @@ import org.apache.clerezza.rdf.core.Trip
import org.apache.clerezza.rdf.core.TripleCollection;
import org.apache.clerezza.rdf.core.UriRef;
import org.apache.clerezza.rdf.core.impl.AbstractMGraph;
-import org.apache.clerezza.rdf.core.impl.AbstractTripleCollection;
import org.apache.clerezza.utils.IteratorMerger;
/**
@@ -56,7 +55,7 @@ public class EnrichmentTriples extends A
for (Enricher enricher : enrichers) {
if (((subject == null) || enricher.getSubjectFilter().accept(subject, base)) &&
- ((predicate == null) || enricher.getPropertyFilter().accept(predicate, base)) &&
+ ((predicate == null) || enricher.getPredicateFilter().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=979557&r1=979556&r2=979557&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 27 06:54:56 2010
@@ -66,7 +66,7 @@ public class CityWeatherEnricher extends
}
@Override
- public ResourceFilter getPropertyFilter() {
+ public ResourceFilter getPredicateFilter() {
return getExtensionalFilter(weatherProperty, temperatureProperty, humidityProperty);
}
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=979557&r1=979556&r2=979557&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 27 06:54:56 2010
@@ -22,7 +22,6 @@ package org.apache.clerezza.rdf.enrichme
import java.util.Collections;
import org.apache.clerezza.rdf.core.MGraph;
import org.apache.clerezza.rdf.core.NonLiteral;
-import org.apache.clerezza.rdf.core.Resource;
import org.apache.clerezza.rdf.core.TripleCollection;
import org.apache.clerezza.rdf.core.UriRef;
import org.apache.clerezza.rdf.core.impl.SimpleMGraph;
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/SiblingEnricher.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/SiblingEnricher.java?rev=979557&r1=979556&r2=979557&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/SiblingEnricher.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/SiblingEnricher.java Tue Jul 27 06:54:56 2010
@@ -57,7 +57,7 @@ public class SiblingEnricher extends Enr
* the only thing we can say is if two things are siblings
*/
@Override
- public ResourceFilter getPropertyFilter() {
+ public ResourceFilter getPredicateFilter() {
return getExtensionalFilter(siblingProperty);
}
/*