package tbx2rdf.types;
import com.hp.hpl.jena.graph.NodeFactory;
import com.hp.hpl.jena.rdf.model.Model;
import com.hp.hpl.jena.rdf.model.Resource;
import com.hp.hpl.jena.vocabulary.RDF;
import com.hp.hpl.jena.vocabulary.XSD;
import java.util.ArrayList;
import java.util.List;
import tbx2rdf.DatatypePropertyMapping;
import tbx2rdf.ObjectPropertyMapping;
import tbx2rdf.vocab.PROVO;
import tbx2rdf.vocab.TBX;
/**
*
* @author John McCrae
*/
public class TransacGrp extends NoteLinkInfo {
public final Transaction transaction;
public final List<TransacNote> transacNotes = new ArrayList<TransacNote>();
public String date;
public TransacGrp(Transaction transaction) {
super("en", null);
this.transaction = transaction;
}
private boolean isEmpty() {
return transacNotes.isEmpty() && AdminInfos.isEmpty() && References.isEmpty()
&& Transactions.isEmpty() && Xreferences.isEmpty();
}
@Override
public void toRDF(Model model, Resource resource) {
final Resource descripRes = getRes(model);
resource.addProperty(TBX.transaction, descripRes);
descripRes.addProperty(RDF.type, TBX.Transaction);
descripRes.addProperty(RDF.type, PROVO.Activity);
if (date != null) {
descripRes.addProperty(PROVO.endedAtTime, date, NodeFactory.getType(XSD.dateTime.getURI()));
}
for (TransacNote note : transacNotes) {
note.toRDF(model, descripRes);
}
transaction.toRDF(model, descripRes);
super.toRDF(model, descripRes);
}
}