Ejemplo n.º 1
0
  /*
   * Process the contents of the graph into the database
   */
  private void resetGraph(
      MultiMap<URI, Statement> statements, NodeCentricOperationContext context, URI serverURI)
      throws AnzoException {
    Collection<Statement> graphTemplates = new ArrayList<Statement>();
    // If a graph doesn't have a corresponding metadata graph in the statements, then add a default
    // metadata graph for it.
    graphTemplates.add(new Statement(GRAPHS.DEFAULT_GRAPH_TEMPLATE, RDF.TYPE, NamedGraph.TYPE));
    graphTemplates.add(
        new Statement(
            GRAPHS.DEFAULT_GRAPH_TEMPLATE,
            NamedGraph.revisionedProperty,
            MemTypedLiteral.create(true)));
    graphTemplates.add(
        new Statement(
            GRAPHS.DEFAULT_GRAPH_TEMPLATE,
            NamedGraph.persistedProperty,
            MemTypedLiteral.create(true)));

    graphTemplates.add(
        new Statement(
            GRAPHS.DEFAULT_GRAPH_TEMPLATE,
            NamedGraph.canBeReadByProperty,
            Constants.EVERYONE_ROLE));
    graphTemplates.add(
        new Statement(
            GRAPHS.DEFAULT_GRAPH_TEMPLATE,
            NamedGraph.canBeAddedToByProperty,
            Constants.EVERYONE_ROLE));
    graphTemplates.add(
        new Statement(
            GRAPHS.DEFAULT_GRAPH_TEMPLATE,
            NamedGraph.canBeRemovedFromByProperty,
            Constants.EVERYONE_ROLE));

    graphTemplates.add(
        new Statement(
            GRAPHS.DEFAULT_METADATA_GRAPH_TEMPLATE,
            NamedGraph.canBeReadByProperty,
            Constants.EVERYONE_ROLE));
    graphTemplates.add(
        new Statement(
            GRAPHS.DEFAULT_METADATA_GRAPH_TEMPLATE,
            NamedGraph.canBeAddedToByProperty,
            Constants.EVERYONE_ROLE));
    graphTemplates.add(
        new Statement(
            GRAPHS.DEFAULT_METADATA_GRAPH_TEMPLATE,
            NamedGraph.canBeRemovedFromByProperty,
            Constants.EVERYONE_ROLE));

    context.setAttribute("resetting", Boolean.valueOf(true));
    statements.put(
        GRAPHS.DEFAULT_SYSTEMGRAPH,
        Constants.valueFactory.createStatement(
            GRAPHS.DEFAULT_SYSTEMGRAPH,
            AnzoServer.serverIdProperty,
            serverURI,
            GRAPHS.DEFAULT_SYSTEMGRAPH));
    datasource.getUpdateService().importStatements(context, statements.values(), graphTemplates);
  }
Ejemplo n.º 2
0
  /*
   * Process the contents of the graph into the database
   */
  private void initializeDefaultRoles(NodeCentricOperationContext context, URI serverURI)
      throws AnzoException {
    context.setAttribute("resetting", Boolean.valueOf(true));
    IDataset dataset = new Dataset();
    // System graph
    dataset.addNamedGraph(GRAPHS.DEFAULT_SYSTEMGRAPH);
    dataset.addNamedGraph(GRAPHS.DEFAULT_SYSTEM_METAGRAPH);

    dataset.add(
        GRAPHS.DEFAULT_SYSTEMGRAPH,
        AnzoServer.serverIdProperty,
        serverURI,
        GRAPHS.DEFAULT_SYSTEMGRAPH);
    dataset.add(
        GRAPHS.DEFAULT_SYSTEMGRAPH,
        RDF.TYPE,
        org.openanzo.ontologies.openanzo.NamedGraph.TYPE,
        GRAPHS.DEFAULT_SYSTEM_METAGRAPH);
    dataset.add(
        GRAPHS.DEFAULT_SYSTEMGRAPH,
        org.openanzo.ontologies.openanzo.NamedGraph.persistedProperty,
        Constants.valueFactory.createTypedLiteral(Boolean.TRUE),
        GRAPHS.DEFAULT_SYSTEM_METAGRAPH);
    dataset.add(
        GRAPHS.DEFAULT_SYSTEMGRAPH,
        org.openanzo.ontologies.openanzo.NamedGraph.revisionedProperty,
        Constants.valueFactory.createTypedLiteral(Boolean.TRUE),
        GRAPHS.DEFAULT_SYSTEM_METAGRAPH);
    dataset.add(
        GRAPHS.DEFAULT_SYSTEMGRAPH,
        org.openanzo.ontologies.openanzo.NamedGraph.canBeReadByProperty,
        Constants.EVERYONE_ROLE,
        GRAPHS.DEFAULT_SYSTEM_METAGRAPH);
    dataset.add(
        GRAPHS.DEFAULT_SYSTEMGRAPH,
        org.openanzo.ontologies.openanzo.NamedGraph.canBeAddedToByProperty,
        Constants.NOONE_ROLE,
        GRAPHS.DEFAULT_SYSTEM_METAGRAPH);
    dataset.add(
        GRAPHS.DEFAULT_SYSTEMGRAPH,
        org.openanzo.ontologies.openanzo.NamedGraph.canBeRemovedFromByProperty,
        Constants.NOONE_ROLE,
        GRAPHS.DEFAULT_SYSTEM_METAGRAPH);
    dataset.add(
        GRAPHS.DEFAULT_SYSTEM_METAGRAPH,
        org.openanzo.ontologies.openanzo.NamedGraph.canBeReadByProperty,
        Constants.NOONE_ROLE,
        GRAPHS.DEFAULT_SYSTEM_METAGRAPH);
    dataset.add(
        GRAPHS.DEFAULT_SYSTEM_METAGRAPH,
        org.openanzo.ontologies.openanzo.NamedGraph.canBeAddedToByProperty,
        Constants.NOONE_ROLE,
        GRAPHS.DEFAULT_SYSTEM_METAGRAPH);
    dataset.add(
        GRAPHS.DEFAULT_SYSTEM_METAGRAPH,
        org.openanzo.ontologies.openanzo.NamedGraph.canBeRemovedFromByProperty,
        Constants.NOONE_ROLE,
        GRAPHS.DEFAULT_SYSTEM_METAGRAPH);

    // Graph Dataset
    dataset.addNamedGraph(GRAPHS.GRAPHS_DATASET);
    dataset.addNamedGraph(GRAPHS.GRAPHS_DATASET_META);
    dataset.add(
        GRAPHS.GRAPHS_DATASET,
        RDF.TYPE,
        org.openanzo.ontologies.openanzo.Dataset.TYPE,
        GRAPHS.GRAPHS_DATASET);
    dataset.add(
        GRAPHS.GRAPHS_DATASET,
        org.openanzo.ontologies.openanzo.Dataset.namedGraphProperty,
        GRAPHS.DEFAULT_SYSTEMGRAPH,
        GRAPHS.GRAPHS_DATASET);
    dataset.add(
        GRAPHS.GRAPHS_DATASET,
        RDF.TYPE,
        org.openanzo.ontologies.openanzo.NamedGraph.TYPE,
        GRAPHS.GRAPHS_DATASET_META);
    dataset.add(
        GRAPHS.GRAPHS_DATASET,
        org.openanzo.ontologies.openanzo.NamedGraph.persistedProperty,
        Constants.valueFactory.createTypedLiteral(Boolean.TRUE),
        GRAPHS.GRAPHS_DATASET_META);
    dataset.add(
        GRAPHS.GRAPHS_DATASET,
        org.openanzo.ontologies.openanzo.NamedGraph.revisionedProperty,
        Constants.valueFactory.createTypedLiteral(Boolean.TRUE),
        GRAPHS.GRAPHS_DATASET_META);
    dataset.add(
        GRAPHS.GRAPHS_DATASET,
        org.openanzo.ontologies.openanzo.NamedGraph.canBeReadByProperty,
        Constants.EVERYONE_ROLE,
        GRAPHS.GRAPHS_DATASET_META);
    dataset.add(
        GRAPHS.GRAPHS_DATASET,
        org.openanzo.ontologies.openanzo.NamedGraph.canBeAddedToByProperty,
        Constants.EVERYONE_ROLE,
        GRAPHS.GRAPHS_DATASET_META);
    dataset.add(
        GRAPHS.GRAPHS_DATASET,
        org.openanzo.ontologies.openanzo.NamedGraph.canBeRemovedFromByProperty,
        Constants.EVERYONE_ROLE,
        GRAPHS.GRAPHS_DATASET_META);
    dataset.add(
        GRAPHS.GRAPHS_DATASET_META,
        org.openanzo.ontologies.openanzo.NamedGraph.canBeReadByProperty,
        Constants.NOONE_ROLE,
        GRAPHS.GRAPHS_DATASET_META);
    dataset.add(
        GRAPHS.GRAPHS_DATASET_META,
        org.openanzo.ontologies.openanzo.NamedGraph.canBeAddedToByProperty,
        Constants.NOONE_ROLE,
        GRAPHS.GRAPHS_DATASET_META);
    dataset.add(
        GRAPHS.GRAPHS_DATASET_META,
        org.openanzo.ontologies.openanzo.NamedGraph.canBeRemovedFromByProperty,
        Constants.NOONE_ROLE,
        GRAPHS.GRAPHS_DATASET_META);
    // MetadataGraph Dataset
    dataset.addNamedGraph(GRAPHS.METADATA_GRAPHS_DATASET);
    dataset.addNamedGraph(GRAPHS.METADATA_GRAPHS_DATASET_META);
    dataset.add(
        GRAPHS.METADATA_GRAPHS_DATASET,
        RDF.TYPE,
        org.openanzo.ontologies.openanzo.Dataset.TYPE,
        GRAPHS.METADATA_GRAPHS_DATASET);
    dataset.add(
        GRAPHS.METADATA_GRAPHS_DATASET,
        org.openanzo.ontologies.openanzo.Dataset.namedGraphProperty,
        GRAPHS.DEFAULT_SYSTEM_METAGRAPH,
        GRAPHS.METADATA_GRAPHS_DATASET);
    dataset.add(
        GRAPHS.METADATA_GRAPHS_DATASET,
        RDF.TYPE,
        org.openanzo.ontologies.openanzo.NamedGraph.TYPE,
        GRAPHS.METADATA_GRAPHS_DATASET_META);
    dataset.add(
        GRAPHS.METADATA_GRAPHS_DATASET,
        org.openanzo.ontologies.openanzo.NamedGraph.persistedProperty,
        Constants.valueFactory.createTypedLiteral(Boolean.TRUE),
        GRAPHS.METADATA_GRAPHS_DATASET_META);
    dataset.add(
        GRAPHS.METADATA_GRAPHS_DATASET,
        org.openanzo.ontologies.openanzo.NamedGraph.revisionedProperty,
        Constants.valueFactory.createTypedLiteral(Boolean.TRUE),
        GRAPHS.METADATA_GRAPHS_DATASET_META);
    dataset.add(
        GRAPHS.METADATA_GRAPHS_DATASET,
        org.openanzo.ontologies.openanzo.NamedGraph.canBeReadByProperty,
        Constants.EVERYONE_ROLE,
        GRAPHS.METADATA_GRAPHS_DATASET_META);
    dataset.add(
        GRAPHS.METADATA_GRAPHS_DATASET,
        org.openanzo.ontologies.openanzo.NamedGraph.canBeAddedToByProperty,
        Constants.EVERYONE_ROLE,
        GRAPHS.METADATA_GRAPHS_DATASET_META);
    dataset.add(
        GRAPHS.METADATA_GRAPHS_DATASET,
        org.openanzo.ontologies.openanzo.NamedGraph.canBeRemovedFromByProperty,
        Constants.NOONE_ROLE,
        GRAPHS.METADATA_GRAPHS_DATASET_META);
    dataset.add(
        GRAPHS.METADATA_GRAPHS_DATASET_META,
        org.openanzo.ontologies.openanzo.NamedGraph.canBeReadByProperty,
        Constants.NOONE_ROLE,
        GRAPHS.METADATA_GRAPHS_DATASET_META);
    dataset.add(
        GRAPHS.METADATA_GRAPHS_DATASET_META,
        org.openanzo.ontologies.openanzo.NamedGraph.canBeAddedToByProperty,
        Constants.NOONE_ROLE,
        GRAPHS.METADATA_GRAPHS_DATASET_META);
    dataset.add(
        GRAPHS.METADATA_GRAPHS_DATASET_META,
        org.openanzo.ontologies.openanzo.NamedGraph.canBeRemovedFromByProperty,
        Constants.NOONE_ROLE,
        GRAPHS.METADATA_GRAPHS_DATASET_META);

    datasource
        .getUpdateService()
        .importStatements(context, dataset.getStatements(), Collections.<Statement>emptySet());
  }