import org.simantics.graph.diff.Diff;
import org.simantics.graph.diff.TransferableGraphDelta1;
import org.simantics.graph.refactoring.GraphRefactoringUtils;
+import org.simantics.graph.representation.PrettyPrintTG;
import org.simantics.graph.representation.TransferableGraph1;
import org.simantics.layer0.Layer0;
import org.simantics.operation.Layer0X;
}
- private static TransferableGraphSource makeTGSource(ReadGraph graph, Resource r) throws DatabaseException {
+ public static TransferableGraphSource makeTGSource(ReadGraph graph, Resource r) throws DatabaseException {
SimanticsClipboardImpl cp = new SimanticsClipboardImpl();
CopyHandler c1 = graph.adapt(r, CopyHandler.class);
}
+ public static String prettyPrintResource(ReadGraph graph, Resource resource, boolean ignoreIdentifiers) throws Exception {
+ TransferableGraphSource source = makeTGSource(graph, resource);
+ TransferableGraph1 tg = TransferableGraphs.create(graph, source);
+ GraphRefactoringUtils.fixOntologyExport(tg);
+ System.out.println("Printing resoure " + graph.getURI(resource));
+ return PrettyPrintTG.print(tg, ignoreIdentifiers);
+ }
+
+ public static Resource getPossibleAssertedObject(ReadGraph graph, Resource resource, Resource predicate) throws DatabaseException {
+ Resource result = null;
+ for(Resource type : graph.getPrincipalTypes(resource)) {
+ Collection<Resource> rs = graph.getAssertedObjects(type, predicate);
+ if(rs.size() > 1) return null;
+ if(rs.size() == 1) {
+ Resource ass = rs.iterator().next();
+ if (result != null && !result.equals(ass)) return null;
+ result = ass;
+ }
+ }
+ return result;
+ }
+
}