anchor.diff:      String intDatatypeUri = XSD.xint.toString();    
       vreq.setAttribute("intDatatypeUri", intDatatypeUri);
       vreq.setAttribute("intDatatypeUriJson", MiscWebUtils.escape(intDatatypeUri));
  -        
  +    String predicateUri = (String)request.getAttribute("predicateUri");
  +    ObjectProperty op = wdf.getObjectPropertyDao().getObjectPropertyByURI( predicateUri ); 
  +    if( op != null &&  op.getURIInverse() != null ){
  +		%> <c:set var="inversePredicate"><%=op.getURIInverse()%></c:set> <%
  +    }else{
  +    	%> <c:set var="inversePredicate"></c:set> <%
  +    }
   %>
  -<c:set var="vivoOnt" value="http://vivoweb.org/ontology" />
  +
  +<%@page import="edu.cornell.mannlib.vitro.webapp.beans.ObjectProperty"%><c:set var="vivoOnt" value="http://vivoweb.org/ontology" />
   <c:set var="vivoCore" value="${vivoOnt}/core#" />
   <c:set var="rdfs" value="<%= VitroVocabulary.RDFS %>" />
   <c:set var="rdf" value="<%= VitroVocabulary.RDF %>" />
  
positive.code: </c:set>
     
  <%
      log.debug(request.getAttribute("editjson"));
  
      EditConfiguration editConfig = EditConfiguration.getConfigFromSession(session,request);
      
      if (editConfig == null) {
  
negative.code:     
      "n3required"    : [ "${n3ForGrantRole}" ],
      
      "n3optional"    : [ "${n3ForNewGrant}" , "${n3ForInverse}" ],        
                                                                                          
      "newResources"  : { "role" : "${defaultNamespace}",
                          "grant" : "${defaultNamespace}" },
  
      "urisInScope"    : { "roleType" : "${roleType}",
      					 "inverseRolePredicate" : "${inversePredicate}" },
      "literalsInScope": { },
      "urisOnForm"     : [ "grant" ],
      "literalsOnForm" : [ "grantLabel" ],
  