// Path: src/main/java/org/nanopub/Nanopub.java
// public interface Nanopub {
// 
// 	// URIs in the nanopub namespace:
// 	public static final IRI NANOPUB_TYPE_URI = SimpleValueFactory.getInstance().createIRI("http://www.nanopub.org/nschema#Nanopublication");
// 	public static final IRI HAS_ASSERTION_URI = SimpleValueFactory.getInstance().createIRI("http://www.nanopub.org/nschema#hasAssertion");
// 	public static final IRI HAS_PROVENANCE_URI = SimpleValueFactory.getInstance().createIRI("http://www.nanopub.org/nschema#hasProvenance");
// 	public static final IRI HAS_PUBINFO_URI = SimpleValueFactory.getInstance().createIRI("http://www.nanopub.org/nschema#hasPublicationInfo");
// 
// 	// URIs that link nanopublications:
// 	public static final IRI SUPERSEDES = SimpleValueFactory.getInstance().createIRI("http://purl.org/nanopub/x/supersedes");
// 
// 	public IRI getUri();
// 
// 	public IRI getHeadUri();
// 
// 	public Set<Statement> getHead();
// 
// 	public IRI getAssertionUri();
// 
// 	public Set<Statement> getAssertion();
// 
// 	public IRI getProvenanceUri();
// 
// 	public Set<Statement> getProvenance();
// 
// 	public IRI getPubinfoUri();
// 
// 	public Set<Statement> getPubinfo();
// 
// 	public Set<IRI> getGraphUris();
// 
// 	// TODO: Now that we have SimpleCreatorPattern and SimpleTimestampPattern,
// 	// we might not need the following three methods anymore...
// 
// 	public Calendar getCreationTime();
// 
// 	public Set<IRI> getAuthors();
// 
// 	public Set<IRI> getCreators();
// 
// 	public int getTripleCount();
// 
// 	public long getByteCount();
// 
// }
// 
// Path: src/main/java/org/nanopub/op/Topic.java
// public interface TopicHandler {
// 
// 	public String getTopic(Nanopub np);
// 
// }


import java.util.HashMap;
import java.util.Map;
import org.nanopub.Nanopub;
import org.nanopub.op.Topic.TopicHandler;
import org.eclipse.rdf4j.model.Resource;
import org.eclipse.rdf4j.model.Statement;
package org.nanopub.op.topic;



public class DefaultTopics implements TopicHandler {

	private Map<String,Boolean> ignore = new HashMap<>();

	public DefaultTopics(String ignoreProperties) {
		if (ignoreProperties != null) {
			for (String s : ignoreProperties.trim().split("\\|")) {
				if (!s.isEmpty()) ignore.put(s, true);
			}
		}
	}

	@Override
// Path: src/main/java/org/nanopub/Nanopub.java
// public interface Nanopub {
// 
// 	// URIs in the nanopub namespace:
// 	public static final IRI NANOPUB_TYPE_URI = SimpleValueFactory.getInstance().createIRI("http://www.nanopub.org/nschema#Nanopublication");
// 	public static final IRI HAS_ASSERTION_URI = SimpleValueFactory.getInstance().createIRI("http://www.nanopub.org/nschema#hasAssertion");
// 	public static final IRI HAS_PROVENANCE_URI = SimpleValueFactory.getInstance().createIRI("http://www.nanopub.org/nschema#hasProvenance");
// 	public static final IRI HAS_PUBINFO_URI = SimpleValueFactory.getInstance().createIRI("http://www.nanopub.org/nschema#hasPublicationInfo");
// 
// 	// URIs that link nanopublications:
// 	public static final IRI SUPERSEDES = SimpleValueFactory.getInstance().createIRI("http://purl.org/nanopub/x/supersedes");
// 
// 	public IRI getUri();
// 
// 	public IRI getHeadUri();
// 
// 	public Set<Statement> getHead();
// 
// 	public IRI getAssertionUri();
// 
// 	public Set<Statement> getAssertion();
// 
// 	public IRI getProvenanceUri();
// 
// 	public Set<Statement> getProvenance();
// 
// 	public IRI getPubinfoUri();
// 
// 	public Set<Statement> getPubinfo();
// 
// 	public Set<IRI> getGraphUris();
// 
// 	// TODO: Now that we have SimpleCreatorPattern and SimpleTimestampPattern,
// 	// we might not need the following three methods anymore...
// 
// 	public Calendar getCreationTime();
// 
// 	public Set<IRI> getAuthors();
// 
// 	public Set<IRI> getCreators();
// 
// 	public int getTripleCount();
// 
// 	public long getByteCount();
// 
// }
// 
// Path: src/main/java/org/nanopub/op/Topic.java
// public interface TopicHandler {
// 
// 	public String getTopic(Nanopub np);
// 
// }


// Path: src/main/java/org/nanopub/op/topic/DefaultTopics.java
import java.util.HashMap;
import java.util.Map;
import org.nanopub.Nanopub;
import org.nanopub.op.Topic.TopicHandler;
import org.eclipse.rdf4j.model.Resource;
import org.eclipse.rdf4j.model.Statement;

package org.nanopub.op.topic;



public class DefaultTopics implements TopicHandler {

	private Map<String,Boolean> ignore = new HashMap<>();

	public DefaultTopics(String ignoreProperties) {
		if (ignoreProperties != null) {
			for (String s : ignoreProperties.trim().split("\\|")) {
				if (!s.isEmpty()) ignore.put(s, true);
			}
		}
	}

	@Override
	public String getTopic(Nanopub np) {