I am building a model in Jena and am able to add resources, statements, and 
properties to it.  I also want to add information to this model on its own 
provenance (the provenance of the model).  An example of this is Example 2 at 
http://www.w3.org/TR/prov-o/#narrative-example-expanded-1.   I've pulled out 
the part I'm interested in below:
@prefix xsd:  <http://www.w3.org/2001/XMLSchema#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix sioc: <http://rdfs.org/sioc/ns#> .
@prefix prov: <http://www.w3.org/ns/prov#> .
@prefix my:   <http://www.example.org/vocab#> .
@prefix :     <http://www.example.org#> .
@base         <http://www.example.com/derek-bundle.ttl> .

<> 
   a prov:Bundle, prov:Entity;
   prov:wasAttributedTo :postEditor;
   prov:generatedAtTime "2011-07-16T02:52:02Z"^^xsd:dateTime;
.

:derek
   a prov:Person, prov:Agent; ## prov:Agent is inferred from prov:Person
   foaf:givenName       "Derek";
   foaf:mbox            <mailto:[email protected]>;
   prov:actedOnBehalfOf :national_newspaper_inc;
.The resource described by "<>" describes the document itself.  It is a 
prov:Bundle and a prov:Entity with other attributes.  I am trying to do 
something similar for my models in Jena and have not been successful.  You can 
create resources, statements, and properties from a model and then link them 
and add them to the model but there does not seem to be a way of adding 
statements and properties to a model to describe the model itself.  Am I 
missing something or is there a way of doing this? Some sample code I have 
tried to achieve this is below, this outputs an anonymous resource.  How do I 
add statements to a model describing the model itself?
        Namespace provns =  new Namespace("prov","http://www.w3.org/ns/prov#";); 
               Model model = 
ModelFactory.createOntologyModel(OntModelSpec.OWL_MEM);        Property 
provEntity = model.createProperty(provns.getUri() + "Entity");        Property 
provBundle = model.createProperty(provns.getUri() + "Bundle");        Statement 
stmt =                
model.createStatement(model.createResource(),provEntity,provBundle);        
model.add(stmt);        System.out.println("model=");        
RDFDataMgr.write(System.out,model,Lang.TURTLE);
Output:model=@prefix owl:   <http://www.w3.org/2002/07/owl#> .@prefix rdf:   
<http://www.w3.org/1999/02/22-rdf-syntax-ns#> .@prefix xsd:   
<http://www.w3.org/2001/XMLSchema#> .@prefix rdfs:  
<http://www.w3.org/2000/01/rdf-schema#> .
[ <http://www.w3.org/ns/prov#Entity>          
<http://www.w3.org/ns/prov#Bundle> ] .
Neil
                                          

Reply via email to