View Javadoc

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  }