/** * Generate ski ontology * * @param args * @throws Exception */ public static void main(String[] args) throws Exception { JastorContext ctx = new JastorContext(); ctx.addOntologyToGenerate( ReadWriteUtils.createSmartFileReader("src/test/resources/ski.owl"), "http://org.openanzo.rdf.jastor/testonts/Ski", "org.openanzo.rdf.jastor.test.ski"); ctx.setUseStrictTypeChecking(true); JastorGenerator gen = new JastorGenerator(new File("src/test/java").getCanonicalFile(), ctx); gen.run(); }
@Override protected void setUp() throws Exception { super.setUp(); ctx = new JastorContext(); ctx.addOntologyToGenerate( ReadWriteUtils.createSmartFileReader("src/test/resources/ski.owl"), "http://jastor.openanzo.org/testonts/Ski", "org.openanzo.rdf.jastor.test.ski"); INamedGraph gm = ctx.getOntGraph(); Class twintip = OWL11Factory.getClass("http://jastor.openanzo.org/testonts/classes#Ski", gm); classComment = OntologyComment.getOntologyComment(gm, twintip.resource()); _Property manufacturer = OWL11Factory.getDatatypeProperty( "http://jastor.openanzo.org/testonts/predicates#manufacturer", gm); propComment = OntologyComment.getOntologyComment(gm, manufacturer.resource()); Ontology pkg = ctx.listOntologiesToGenerate().get(0); pkgComment = pkg.getComment(); }
/* * Initialize default system information with data from RepositoryInitializationFile if no system graph information was * provided */ private void initializeProvidedRoles(NodeCentricOperationContext context, URI serverURI) throws AnzoException { SegmentedStatementCollector sc = new SegmentedStatementCollector(); try { if (log.isWarnEnabled()) { log.warn( LogUtils.RDB_MARKER, "Initializing database from files: {}", Arrays.toString(rdfInitFiles.toArray())); } for (String file : rdfInitFiles) { ReadWriteUtils.parseStatements( SmartEncodingInputStream.createSmartReader(getLocationAsStream(file)), RDFFormat.forFileName(file), "", sc); } } catch (AnzoException mse) { throw new AnzoRuntimeException(mse); } resetGraph(sc.getStatements(), context, serverURI); }
public void restoreData(String fileName) throws AnzoException { final NodeCentricOperationContext connectionContext = datasource.getWriteContext( new BaseOperationContext( "RESTORE", BaseOperationContext.generateOperationId(), new AnzoPrincipal("sysadmin", null, null, true, false))); if (getLockProvider() != null) { getLockProvider().writeLock().lock(); } try { datasource.resetStarting(); datasource.reset(); if (eventAdmin != null) eventAdmin.sendEvent( new Event(OSGI.RESET_TOPIC, (Dictionary<Object, Object>) new Properties())); Pair<Long, URI> serverURI = null; datasource.resetDatasource(); boolean[] result = lockDB(connectionContext); if (result[1]) { try { serverURI = resetDatabaseTables(connectionContext, hardReset); try { Reader fileReader = ReadWriteUtils.createSmartFileReader(fileName); XMLBackupReader reader = new XMLBackupReader(fileReader); try { reader.read( new IBackupHandler() { Long graphId; Long metaId; Long uuidId; public void start() throws AnzoException { datasource.begin(connectionContext.getConnection(), true, true); } public void handleStatement( boolean metadata, boolean revisioned, Statement statement, Long start, Long end) throws AnzoException { Long s = connectionContext .getNodeLayout() .store(statement.getSubject(), connectionContext.getConnection(), 1); Long p = connectionContext .getNodeLayout() .store( statement.getPredicate(), connectionContext.getConnection(), 1); Long o = connectionContext .getNodeLayout() .store(statement.getObject(), connectionContext.getConnection(), 1); String stmtId = MessageFormat.format( ID_STRING, (metadata) ? metaId.toString() : graphId.toString(), s.toString(), p.toString(), o.toString()); if (revisioned) { Backup.restoreStatement( connectionContext.getStatementProvider(), connectionContext.getConnection(), stmtId, metadata ? 1 : 0, uuidId, metadata ? metaId : graphId, s, p, o, start, end); } else { Backup.restoreStatementNR( connectionContext.getStatementProvider(), connectionContext.getConnection(), stmtId, metadata ? 1 : 0, metadata ? metaId : graphId, s, p, o); } } public boolean handleNamedGraph( boolean revisioned, URI namedGraphUri, URI metadataURI, URI uuid, Collection<BackupRevision> revisions) throws AnzoException { try { connectionContext.getConnection().commit(); } catch (SQLException sqle) { throw new org.openanzo.jdbc.utils.RdbException( org.openanzo.exceptions.ExceptionConstants.RDB .FAILED_COMMIT_RDB_TRANSACTION, sqle); } uuidId = connectionContext .getNodeLayout() .store(uuid, connectionContext.getConnection(), 1); graphId = connectionContext .getNodeLayout() .store(namedGraphUri, connectionContext.getConnection(), 1); metaId = connectionContext .getNodeLayout() .store(metadataURI, connectionContext.getConnection(), 1); for (BackupRevision backup : revisions) { Long lastMod = connectionContext .getNodeLayout() .store(backup.lastModifiedBy, connectionContext.getConnection(), 1); if (revisioned) { Backup.restoreNamedGraph( connectionContext.getStatementProvider(), connectionContext.getConnection(), backup.start, backup.end, graphId, metaId, uuidId, backup.revision, lastMod); } else { Backup.restoreNamedGraphNR( connectionContext.getStatementProvider(), connectionContext.getConnection(), backup.start, graphId, metaId, uuidId, backup.revision, lastMod); } } return true; } public void end() throws AnzoException { datasource.commit(connectionContext.getConnection(), true, true); connectionContext .getNodeLayout() .commitReferencedIds(connectionContext.getConnection(), 1); } }); } catch (AnzoException ae) { datasource.abort(connectionContext.getConnection(), true, true); } finally { if (fileReader != null) { fileReader.close(); } } } catch (Exception e) { log.error(LogUtils.RDB_MARKER, "Error resetting datasource", e); } datasource.getIndexHandler().rebuildIndex(true); } catch (AnzoException ae) { if (result[0]) { BaseSQL.dropTable( connectionContext.getStatementProvider(), connectionContext.getConnection(), connectionContext.getConfiguration().getUsesUppercase() ? NodeCentricDatasource.serverUpper : NodeCentricDatasource.serverLower); } throw ae; } unLockDB(connectionContext, true, serverURI.first); datasource.postReset(); datasource.resetFinished(); } else { if (result[0]) { BaseSQL.dropTable( connectionContext.getStatementProvider(), connectionContext.getConnection(), connectionContext.getConfiguration().getUsesUppercase() ? NodeCentricDatasource.serverUpper : NodeCentricDatasource.serverLower); } throw new AnzoException(ExceptionConstants.RDB.FAILED_INITIALZE_DB); } } finally { if (getLockProvider() != null) { getLockProvider().writeLock().unlock(); } datasource.returnWriteContext(connectionContext); } }