1 package org.openprovenance.elmo; 2 import java.util.Set; 3 import org.openprovenance.rdf.Account; 4 import org.openprovenance.rdf.Node; 5 6 import javax.xml.namespace.QName; 7 import org.openrdf.elmo.ElmoManager; 8 import org.openprovenance.model.Annotable; 9 import org.openrdf.model.Statement; 10 import org.openrdf.elmo.sesame.SesameManager; 11 12 import org.openprovenance.model.CommonURIs; 13 14 public class RdfProfile extends org.openprovenance.model.Profile implements CompactAnnotation, CommonURIs { 15 16 ElmoManager manager; 17 String prefix; 18 QName qname; 19 20 static int count=0; 21 22 public RdfProfile(ElmoManager manager, String prefix) { 23 this.manager=manager; 24 this.prefix=prefix; 25 } 26 27 public void toRdf(Annotable entity) throws org.openrdf.repository.RepositoryException { 28 org.openprovenance.rdf.Annotable subject=(org.openprovenance.rdf.Annotable)((HasFacade)entity).findMyFacade(); 29 subject.getProfiles().add(getValue()); 30 } 31 32 33 public void toRdf_DELETE(Annotable entity) throws org.openrdf.repository.RepositoryException { 34 QName subject=((HasFacade)entity).getQName(); 35 Statement stmnt=new org.openrdf.model.impl.StatementImpl(new org.openrdf.model.impl.URIImpl(subject.getNamespaceURI()+subject.getLocalPart()), 36 new org.openrdf.model.impl.URIImpl(NEW_PROFILE_PROPERTY), 37 new org.openrdf.model.impl.LiteralImpl(getValue())); 38 39 ((SesameManager)manager).getConnection().add(stmnt); 40 41 } 42 43 44 }