package org.aksw.jena_sparql_api.mapper.model; import java.util.ArrayList; import java.util.Collections; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Map.Entry; import java.util.NavigableMap; import java.util.TreeMap; import org.aksw.jena_sparql_api.concepts.PropertyRelation; import org.aksw.jena_sparql_api.mapper.impl.type.RdfClass; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.google.common.base.Function; import org.apache.jena.graph.Node; import org.apache.jena.sparql.core.DatasetGraph; import org.apache.jena.sparql.core.Quad; import org.apache.jena.sparql.expr.Expr; import org.apache.jena.sparql.util.ExprUtils; import org.apache.jena.vocabulary.RDF; /** * A property that is serialized in RDF as a Seq * * class { * @Iri("geom:geometry") * @RdfSeq("") // by default, lists imply an RdfSeq, with a sub-iri generated as #{subject + '-' + property.name} * @DefaultIri("") // Rule for creating the collection resource * List<Object> items; * } * * * @author raven * */ public class RdfPropertySeq { private static final Logger logger = LoggerFactory.getLogger(RdfPropertySeq.class); //protected EntityManagerRdf; //protected protected Quad quad; // g, s, p; - object position should be Node.ANY - is ignored protected Function<Object, Node> objectToNode; protected RdfClass targetRdfClass; public static final PropertyRelation seqRelation = PropertyRelation.create("?s ?p ?o . Filter(regex(?p, 'http://www.w3.org/1999/02/22-rdf-syntax-ns#_[0-9]+'))", "s", "p", "o"); public static final Expr seqExpr = ExprUtils.parse("regex(?p, 'http://www.w3.org/1999/02/22-rdf-syntax-ns#_[0-9]+')"); public void toRdf(DatasetGraph target, List<Object> items) { } public List<Object> toJava(DatasetGraph datasetGraph) { return null; } }