From 5ebd33a6eae0b7ecc4ccf5aee4195d4c4f4cfc6e Mon Sep 17 00:00:00 2001 From: bjl23 Date: Fri, 12 Mar 2010 21:59:41 +0000 Subject: [PATCH] work on NIHVIVO-116 'Enable RDF TBox export by ontology namespace' --- .../vitro/webapp/controller/Controllers.java | 4 +++- .../edit/OntologyEditController.java | 3 ++- .../controller/jena/JenaExportController.java | 5 +++-- .../vitro/webapp/dao/jena/JenaModelUtils.java | 2 +- .../edit/specific/ontologies_edit.jsp | 19 +++++++++++++++++++ 5 files changed, 28 insertions(+), 5 deletions(-) diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/Controllers.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/Controllers.java index 39a3d22bc..be10fd0c1 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/Controllers.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/Controllers.java @@ -29,7 +29,9 @@ public class Controllers { public static final String SITE_ADMIN = "/siteAdmin"; public static final String LOGIN = "/siteAdmin"; - public static final String LOGOUT = "/siteAdmin"; + public static final String LOGOUT = "/siteAdmin"; + + public static final String EXPORT_RDF = "/export"; // jsps go here: diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/OntologyEditController.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/OntologyEditController.java index bee0c696a..a6353f5c5 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/OntologyEditController.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/OntologyEditController.java @@ -85,7 +85,8 @@ public class OntologyEditController extends BaseEditController { // See OntologyDaoJena.ontologyFromOntologyResource() comments String realURI = OntologyDaoJena.adjustOntologyURI(o.getURI()); request.setAttribute("realURI", realURI); - + request.setAttribute("exportURL", request.getContextPath() + Controllers.EXPORT_RDF); + Portal portal = (new VitroRequest(request)).getPortal(); RequestDispatcher rd = request.getRequestDispatcher(Controllers.BASIC_JSP); request.setAttribute("epoKey",epo.getKey()); diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/jena/JenaExportController.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/jena/JenaExportController.java index 26c1e98b5..6749cc2ef 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/jena/JenaExportController.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/jena/JenaExportController.java @@ -78,6 +78,7 @@ public class JenaExportController extends BaseEditController { String formatParam = vreq.getParameter("format"); String subgraphParam = vreq.getParameter("subgraph"); String assertedOrInferredParam = vreq.getParameter("assertedOrInferred"); + String ontologyURI = vreq.getParameter("ontologyURI"); Model model = null; @@ -109,7 +110,7 @@ public class JenaExportController extends BaseEditController { } else if ( "tbox".equals(subgraphParam) ) { if (limitToInferred) { Model fullModel = getOntModelFromAttribute( FULL_ONT_MODEL_ATTR, vreq ); - model = xutil.extractTBox( fullModel ); + model = xutil.extractTBox( fullModel, ontologyURI ); try { inferenceModel.enterCriticalSection(Lock.READ); model = model.intersection(inferenceModel); @@ -117,7 +118,7 @@ public class JenaExportController extends BaseEditController { inferenceModel.leaveCriticalSection(); } } else { - model = xutil.extractTBox( model ); + model = xutil.extractTBox( model, ontologyURI ); } } diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/JenaModelUtils.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/JenaModelUtils.java index 11d0ed7dd..b07b00940 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/JenaModelUtils.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/JenaModelUtils.java @@ -216,7 +216,7 @@ private final OntModelSpec DEFAULT_ONT_MODEL_SPEC = OntModelSpec.OWL_MEM; } else { // limit resources to those in the supplied namespace describeQueryStrBuff - .append(" FILTER (afn:namespace(?res) == \"") + .append(" FILTER (afn:namespace(?res) = \"") .append(namespace) .append("\") \n"); } diff --git a/webapp/web/templates/edit/specific/ontologies_edit.jsp b/webapp/web/templates/edit/specific/ontologies_edit.jsp index e81f4a3d7..70a6f7523 100644 --- a/webapp/web/templates/edit/specific/ontologies_edit.jsp +++ b/webapp/web/templates/edit/specific/ontologies_edit.jsp @@ -6,6 +6,7 @@ xmlns:c="http://java.sun.com/jstl/core" xmlns:form="http://vitro.mannlib.cornell.edu/edit/tags" version="2.0"> +
@@ -57,6 +58,24 @@ + +
+
+ + + + +
+ RDF/XML abbreviated + RDF/XML + N3 + N-Triples + Turtle +
+
+
+ +