You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stanbol.apache.org by ci...@apache.org on 2011/04/07 10:04:47 UTC
svn commit: r1089764 [6/6] - in
/incubator/stanbol/trunk/commons/web/ontology: ./ src/ src/main/
src/main/java/ src/main/java/org/ src/main/java/org/apache/
src/main/java/org/apache/stanbol/
src/main/java/org/apache/stanbol/ontologymanager/ src/main/ja...
Added: incubator/stanbol/trunk/commons/web/ontology/src/main/resources/org/apache/stanbol/commons/web/ontologymanager/store/templates/org/apache/stanbol/ontologymanager/store/rest/resources/particularIndividual.ftl
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/commons/web/ontology/src/main/resources/org/apache/stanbol/commons/web/ontologymanager/store/templates/org/apache/stanbol/ontologymanager/store/rest/resources/particularIndividual.ftl?rev=1089764&view=auto
==============================================================================
--- incubator/stanbol/trunk/commons/web/ontology/src/main/resources/org/apache/stanbol/commons/web/ontologymanager/store/templates/org/apache/stanbol/ontologymanager/store/rest/resources/particularIndividual.ftl (added)
+++ incubator/stanbol/trunk/commons/web/ontology/src/main/resources/org/apache/stanbol/commons/web/ontologymanager/store/templates/org/apache/stanbol/ontologymanager/store/rest/resources/particularIndividual.ftl Thu Apr 7 08:04:44 2011
@@ -0,0 +1,275 @@
+<#import "/imports/common.ftl" as common>
+<#import "/imports/prevNextButtons.ftl" as buttons>
+<@common.page title="Individual Context of ${it.metadata.individualMetaInformation.URI}" hasrestapi=true>
+<div class="panel" id="webview">
+<script type="text/javascript" src="static/scripts/individualUpdater.js"></script>
+<#if it.metadata.containerClasses.classMetaInformation?size != 0>
+ <fieldset>
+ <legend><b>Types</b></legend>
+ <div class="ontology">
+ <div class="collapsed">
+ <fieldset>
+ <h4 class="ontologySubmitHeader">Add Type</h4>
+ <div class="ontologyCollapsable">
+ <p>Class URI: <textarea class="typeInput"rows="1" name="classURI"></textarea></p>
+ <p><button onClick="javascript: PSTORE.HTTPHelper.send('POST', '${it.metadata.individualMetaInformation.href}/types', false, false, 'containerClassURIs', $('.typeInput')[0].value)">Add Type</button></p>
+ </div>
+ </fieldset>
+ </div>
+ </div>
+ <#list it.metadata.containerClasses.classMetaInformation?sort_by("URI") as cls>
+ <div class="ontology contClss ${cls_index}">
+ <div class="collapsed">
+ <a class="imgOntClass" href="${cls.href}">${cls.URI}</a>
+ <button class="delete" title="Delete ${cls.URI}" onClick="javascript: PSTORE.HTTPHelper.send('DELETE', '${it.metadata.individualMetaInformation.href}/types/${cls.URI}', true, false, null, null)"></button>
+ <div class ="ontologyHeader"></div>
+ <ul class= "ontologyCollapsable">
+ <li><b>Description:</b> ${cls.description}</li>
+ <li><b>Namespace:</b> ${cls.namespace}</li>
+ <li><b>Local Name:</b> ${cls.localName}</li>
+ </ul>
+ </div>
+ </div>
+ </#list>
+ <@buttons.prevNextButtons className="contClss"/>
+ </fieldset>
+</#if>
+ <fieldset>
+ <legend><b>Property Assertions</b></legend>
+ <div class="props">
+ <fieldset>
+ <div class="ontology">
+ <div class="collapsed">
+ <h4 class="ontologySubmitHeader">Add Property Assertions</h4>
+ <div class="ontologyCollapsable">
+ <input class="radioData" type="radio" name="group1" value="data" checked>Data Property<br>
+ <input class="radioObject" type="radio" name="group1" value="object" >Object Property<br>
+ <p>Property URI: <textarea class="propertyInput"rows="1" ></textarea></p>
+ <p>Value: <textarea class="valueInput"rows="1" ></textarea></p>
+ <p><button name="Property Assertion" onClick="javascript: addPropAssAndPost()">Add Property Assertion</button></p>
+ </div>
+ </div>
+ </div>
+ </fieldset>
+<#if it.metadata.propertyAssertions.propertyAssertion?size != 0>
+ <table>
+ <tbody>
+ <tr>
+ <th>Property</th><th>Value</th>
+ </tr>
+ <#list it.metadata.propertyAssertions.propertyAssertion as propAssert>
+ <tr class="propAss ${propAssert_index}">
+ <td>
+ <#if propAssert.individualMetaInformationOrLiteral?first?is_hash>
+ <p class="imgOntObjectProp"> </p>
+ <#else>
+ <p class="imgOntDataProp"> </p>
+ </#if>
+ <a href="${propAssert.propertyMetaInformation.href}">${propAssert.propertyMetaInformation.URI}</a>
+ </td>
+ <td>
+ <#list propAssert.individualMetaInformationOrLiteral as propValue>
+ <#if propValue?is_hash>
+ <div class="collapsed">
+ <a class="imgOntInd" href="${propValue.href}">${propValue.URI}</a>
+ <button class="delete" title="Delete ${propValue.URI}" onClick="javascript: PSTORE.HTTPHelper.send('DELETE', '${it.metadata.individualMetaInformation.href}/propertyAssertions/'+PSTORE.HTTPHelper.normalize('${propAssert.propertyMetaInformation.URI}') +'/objects/${propValue.URI}', true, false, null, null)"></button>
+ </ul>
+ </div>
+ <br>
+ <#else>
+ ${propValue}
+ <button class="delete" title="Delete ${propValue}" onClick="javascript: PSTORE.HTTPHelper.send('POST', '${it.metadata.individualMetaInformation.href}/propertyAssertions/'+PSTORE.HTTPHelper.normalize('${propAssert.propertyMetaInformation.URI}') +'/literals', false, true, 'value', '${propValue}')"></button>
+ <br>
+ </#if>
+ </#list>
+ </td>
+ </tr>
+ </#list>
+ </tbody>
+ </table>
+ <@buttons.prevNextButtons className="propAss"/>
+ </div>
+</#if>
+ </fieldset>
+
+</div>
+<div class="panel" id="restapi" style="display: none;">
+<h3>Getting individual context of an individual</h3>
+<pre>
+curl -i -X GET -H "Accept:application/xml" http://localhost:8080/persistencestore/${it.metadata.individualMetaInformation.href}
+</pre>
+<p>Response :</p>
+<pre>
+HTTP/1.1 200 OK
+Content-Type: application/xml
+Transfer-Encoding: chunked
+Server: Jetty(6.1.x)
+
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<ns1:IndividualContext xmlns:ns1="model.rest.persistence.iks.srdc.com.tr" xmlns:ns2="http://www.w3.org/1999/xlink">
+ <ns1:IndividualMetaInformation ns2:href="ontologies/http://cohse.semanticweb.org/ontologies/people/individuals/http://cohse.semanticweb.org/ontologies/people/Walt">
+ <ns1:URI>http://cohse.semanticweb.org/ontologies/people#Walt</ns1:URI>
+ <ns1:Description></ns1:Description>
+ <ns1:Namespace>http://cohse.semanticweb.org/ontologies/people#</ns1:Namespace>
+ <ns1:LocalName>Walt</ns1:LocalName>
+ </ns1:IndividualMetaInformation>
+ <ns1:ContainerClasses>
+ <ns1:ClassMetaInformation ns2:href="ontologies/http://cohse.semanticweb.org/ontologies/people/classes/http://cohse.semanticweb.org/ontologies/people/person">
+ <ns1:URI>http://cohse.semanticweb.org/ontologies/people#person</ns1:URI>
+ <ns1:Description></ns1:Description>
+ <ns1:Namespace>http://cohse.semanticweb.org/ontologies/people#</ns1:Namespace>
+ <ns1:LocalName>person</ns1:LocalName>
+ </ns1:ClassMetaInformation>
+ </ns1:ContainerClasses>
+ <ns1:PropertyAssertions>
+ <ns1:PropertyAssertion>
+ <ns1:PropertyMetaInformation ns2:href="ontologies/http://cohse.semanticweb.org/ontologies/people/objectProperties/http://cohse.semanticweb.org/ontologies/people/has_pet">
+ <ns1:URI>http://cohse.semanticweb.org/ontologies/people#has_pet</ns1:URI>
+ <ns1:Description></ns1:Description>
+ <ns1:Namespace>http://cohse.semanticweb.org/ontologies/people#</ns1:Namespace>
+ <ns1:LocalName>has_pet</ns1:LocalName>
+ </ns1:PropertyMetaInformation>
+ <ns1:IndividualMetaInformation ns2:href="ontologies/http://cohse.semanticweb.org/ontologies/people/individuals/http://cohse.semanticweb.org/ontologies/people/Huey">
+ <ns1:URI>http://cohse.semanticweb.org/ontologies/people#Huey</ns1:URI>
+ <ns1:Description></ns1:Description>
+ <ns1:Namespace>http://cohse.semanticweb.org/ontologies/people#</ns1:Namespace>
+ <ns1:LocalName>Huey</ns1:LocalName>
+ </ns1:IndividualMetaInformation>
+ <ns1:IndividualMetaInformation ns2:href="ontologies/http://cohse.semanticweb.org/ontologies/people/individuals/http://cohse.semanticweb.org/ontologies/people/Louie">
+ <ns1:URI>http://cohse.semanticweb.org/ontologies/people#Louie</ns1:URI>
+ <ns1:Description></ns1:Description>
+ <ns1:Namespace>http://cohse.semanticweb.org/ontologies/people#</ns1:Namespace>
+ <ns1:LocalName>Louie</ns1:LocalName>
+ </ns1:IndividualMetaInformation>
+ <ns1:IndividualMetaInformation ns2:href="ontologies/http://cohse.semanticweb.org/ontologies/people/individuals/http://cohse.semanticweb.org/ontologies/people/Dewey">
+ <ns1:URI>http://cohse.semanticweb.org/ontologies/people#Dewey</ns1:URI>
+ <ns1:Description></ns1:Description>
+ <ns1:Namespace>http://cohse.semanticweb.org/ontologies/people#</ns1:Namespace>
+ <ns1:LocalName>Dewey</ns1:LocalName>
+ </ns1:IndividualMetaInformation>
+ </ns1:PropertyAssertion>
+ </ns1:PropertyAssertions>
+</ns1:IndividualContext>
+</pre>
+
+<p>Individual Context contains following information:
+ <ul>
+ <li><b>Container Classes</b> as a list of ClassMetaInformation</li>
+ <li><b>Property Assertions</b> as a list of Property Assertion which includes
+ <ul>
+ <li><b>PropertyMetaInformation</b>, property of the assertion</li>
+ <li>IndividualMetaInformation or a literal value, object of the assertion</li>
+ </ul>
+ </li>
+ </ul>
+</p>
+
+<h3>Updating individual context of a datatype property</h3>
+
+<fieldset>
+ <legend><b>SubPath: /types Method: POST </b></legend>
+ <table class="formParams">
+ <head>
+ <th width="20%">POST Parameter</th>
+ <th width="10%">Type</th>
+ <th width="70%">Explanation</th>
+ </head>
+ <body>
+ <tr>
+ <td>containerClassURI</td>
+ <td>List<String></td>
+ <td>A list of existing class URIs which will be added as a type to this individual</td>
+ </tr>
+ </body>
+ </table>
+</fieldset>
+<fieldset>
+ <legend><b>SubPath: /types/{classURI} Method : DELETE</b></legend>
+ <p>Delete class indicated by class at path parameter from the type list of this object property</p>
+</fieldset>
+
+<fieldset>
+ <legend><b>SubPath: /propertyAssertions/{propertyURI} Method: POST </b></legend>
+ <table class="formParams">
+ <head>
+ <th width="20%">POST Parameter</th>
+ <th width="10%">Type</th>
+ <th width="70%">Explanation</th>
+ </head>
+ <body>
+ <tr>
+ <td>objectValues</td>
+ <td>List<String></td>
+ <td>A list of existing resource URIs which will be added as an assertion on property indicated by {propertyURI} on individual</td>
+ </tr>
+ <tr>
+ <td>literalValues</td>
+ <td>List<String></td>
+ <td>A list of literal values which will be added as an assertion on property indicated by {propertyURI} on individual</td>
+ </tr>
+ </body>
+ </table>
+</fieldset>
+<fieldset>
+ <legend><b>SubPath: /propertyAssertions/{propertyURI}/objects/{resourceURI} Method : DELETE</b></legend>
+ <p>Delete resource indicated by {resourceURI} at path parameter from the list of property assertion of this individual on property indicated by {propertyURI}</p>
+</fieldset>
+
+<fieldset>
+ <legend><b>SubPath: /propertyAssertions/{propertyURI}/literals Method : DELETE</b></legend>
+ <table class="formParams">
+ <head>
+ <th width="20%">POST Parameter</th>
+ <th width="10%">Type</th>
+ <th width="70%">Explanation</th>
+ </head>
+ <body>
+ <tr>
+ <td>value</td>
+ <td>List<String></td>
+ <td>A literal which will be deleted from assertions on property indicated by {propertyURI} on individual</td>
+ </tr>
+ </body>
+ </table>
+ <p>Delete resource indicated by {resourceURI} at path parameter from the list of property assertion of this individual on property indicated by {propertyURI}</p>
+ <p><b>You should use POST method with X-HTTP-Method-Override header with value DELETE</b></p>
+</fieldset>
+
+
+</div>
+<script type="text/javascript">
+
+ PAGING.adjustVisibility("contClss");
+ PAGING.adjustVisibility("propAss");
+
+ var indUtil = PSTORE.indUtil;
+ var individual = indUtil.individual;
+
+ function addTypeAndPost(){
+ individual.containerClass = ($('.typeInput')[0].value);
+ indUtil.post('${it.metadata.individualMetaInformation.href}');
+ }
+
+ function addPropAssAndPost(){
+ individual.property = ($('.propertyInput')[0].value);
+ if($('.radioData')[0].checked){
+ PSTORE.HTTPHelper.send('POST','${it.metadata.individualMetaInformation.href}/propertyAssertions/' + $('.propertyInput')[0].value, true,false, 'literalValues', $('.valueInput')[0].value );
+ //individual.literal = ($('.valueInput')[0].value);
+ }else if ($('.radioObject')[0].checked){
+ PSTORE.HTTPHelper.send('POST','${it.metadata.individualMetaInformation.href}/propertyAssertions/' + $('.propertyInput')[0].value, true,false, 'objectValues', $('.valueInput')[0].value );
+ //individual.individual = ($('.valueInput')[0].value);
+ }
+ // indUtil.post('${it.metadata.individualMetaInformation.href}');
+ }
+
+
+
+ $(".ontology .ontologyHeader").click(function () {
+ $(this).parents("div").toggleClass("collapsed");
+ });
+
+ $(".ontology .ontologySubmitHeader").click(function () {
+ $(this).parents("div").toggleClass("collapsed");
+ });
+</script>
+</...@common.page>
\ No newline at end of file
Propchange: incubator/stanbol/trunk/commons/web/ontology/src/main/resources/org/apache/stanbol/commons/web/ontologymanager/store/templates/org/apache/stanbol/ontologymanager/store/rest/resources/particularIndividual.ftl
------------------------------------------------------------------------------
svn:executable = *
Added: incubator/stanbol/trunk/commons/web/ontology/src/main/resources/org/apache/stanbol/commons/web/ontologymanager/store/templates/org/apache/stanbol/ontologymanager/store/rest/resources/particularObjectProperty.ftl
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/commons/web/ontology/src/main/resources/org/apache/stanbol/commons/web/ontologymanager/store/templates/org/apache/stanbol/ontologymanager/store/rest/resources/particularObjectProperty.ftl?rev=1089764&view=auto
==============================================================================
--- incubator/stanbol/trunk/commons/web/ontology/src/main/resources/org/apache/stanbol/commons/web/ontologymanager/store/templates/org/apache/stanbol/ontologymanager/store/rest/resources/particularObjectProperty.ftl (added)
+++ incubator/stanbol/trunk/commons/web/ontology/src/main/resources/org/apache/stanbol/commons/web/ontologymanager/store/templates/org/apache/stanbol/ontologymanager/store/rest/resources/particularObjectProperty.ftl Thu Apr 7 08:04:44 2011
@@ -0,0 +1,329 @@
+<#import "/imports/common.ftl" as common>
+<#import "/imports/prevNextButtons.ftl" as buttons>
+<#import "/imports/propertySerializer.ftl" as propSerializer>
+<@common.page title="Object Property Context of ${it.metadata.propertyMetaInformation.URI}" hasrestapi=true>
+<div class="panel" id="webview">
+ <!--FIXME Currently superProperties of this property are not changed using html interface-->
+ <script type="text/javascript" src="static/scripts/propertyUpdater.js"></script>
+<!-- Property Features-->
+ <fieldset>
+ <legend><b>Property Features</b></legend>
+ <input class="horizontal" name="propFeatFunc" type="checkbox" <#if it.metadata.isIsFunctional()>checked</#if>>Functional<br>
+ <input class="horizontal" name="propFeatTrans" type="checkbox" <#if it.metadata.isIsTransitive()>checked</#if>>Transitive<br>
+ <input class="horizontal" name="propFeatSymm" type="checkbox" <#if it.metadata.isIsSymmetric()>checked</#if>>Symmetric<br>
+ <input class="horizontal" name="propFeatInvFunc" type="checkbox" <#if it.metadata.isIsInverseFunctional()>checked</#if>>Inverse Functional<br>
+ <input type="button" value="Save Changes" onClick="javascript: PSTORE.propUtil.post('${it.metadata.propertyMetaInformation.href}')">
+ </fieldset>
+<!--Domains -->
+ <fieldset>
+ <legend><b>Object Property Domains</b></legend>
+ <div class="ontology">
+ <div class="collapsed">
+ <fieldset>
+ <h4 class="ontologySubmitHeader">Add Domain</h4>
+ <div class="ontologyCollapsable">
+ <p>Range URI: <textarea class="domainInput"rows="1" name="classURI"></textarea></p>
+ <p><button name="Add Domain" onClick="javascript: PSTORE.HTTPHelper.send('POST', '${it.metadata.propertyMetaInformation.href}/domains', false, false, 'domainURIs',$('.domainInput')[0].value )">Add Domain</button></p>
+ </div>
+ </fieldset>
+ </div>
+ </div>
+ <#if it.metadata.domain.classMetaInformationOrBuiltInResource?size == 0>
+ <em>There is no ranges declared for this object property.</em>
+ <#else>
+ <#list it.metadata.domain.classMetaInformationOrBuiltInResource as domain>
+ <#if domain?keys?seq_contains("href")>
+ <div class="ontology domainList ${domain_index}">
+ <div class="collapsed">
+ <a class="imgOntClass" href="${domain.href}">${domain.URI}</a> <button class="delete" title="Delete ${domain.URI}" onClick="javascript: PSTORE.HTTPHelper.send('DELETE', '${it.metadata.propertyMetaInformation.href}/domains/${domain.URI}', true, false, null, null)"></button>
+ </div>
+ </div>
+ <#else>
+ <div class="ontology domainList ${domain_index}">
+ <b>URI:</b> ${domain.URI}<button class="delete" title="Delete ${domain.URI}" onClick="javascript: PSTORE.HTTPHelper.send('DELETE', '${it.metadata.propertyMetaInformation.href}/domains/${domain.URI}', true, false, null, null)"></button>
+ </div>
+ </#if>
+ </#list>
+ <@buttons.prevNextButtons className="domainList"/>
+ </#if>
+ </fieldset>
+<!--Ranges -->
+ <fieldset>
+ <legend><b>Object Property Ranges</b></legend>
+ <div class="ontology">
+ <div class="collapsed">
+ <fieldset>
+ <h4 class="ontologySubmitHeader">Add Range</h4>
+ <div class="ontologyCollapsable">
+ <p>Range URI: <textarea class="rangeInput"rows="1" name="classURI"></textarea></p>
+ <p><button name="Add Range" onClick="javascript: PSTORE.HTTPHelper.send('POST', '${it.metadata.propertyMetaInformation.href}/ranges', false, false, 'rangeURIs',$('.rangeInput')[0].value )">Add Range</button></p>
+ </div>
+ </fieldset>
+ </div>
+ </div>
+ <#if it.metadata.range.classMetaInformationOrBuiltInResource?size == 0>
+ <em>There is no ranges declared for this object property.</em>
+ <#else>
+ <#list it.metadata.range.classMetaInformationOrBuiltInResource as range>
+ <#if range?keys?seq_contains("href")>
+ <div class="ontology rangeList ${range_index}">
+ <a class="imgOntClass" href="${range.href}">${range.URI}</a> <button class="delete" title="Delete ${range.URI}" onClick="javascript: PSTORE.HTTPHelper.send('DELETE', '${it.metadata.propertyMetaInformation.href}/ranges/${range.URI}', true, false, null, null)"></button>
+ </div>
+ <#else>
+ <div class="ontology rangeList ${range_index}">
+ <b>URI:</b> ${range.URI} <button class="delete" title="Delete ${range.URI}" onClick="javascript: PSTORE.HTTPHelper.send('DELETE', '${it.metadata.propertyMetaInformation.href}/ranges/${range.URI}', true, false, null, null)"></button>
+ </div>
+ </#if>
+ </#list>
+ <@buttons.prevNextButtons className="rangeList"/>
+ </#if>
+ </fieldset>
+
+<!-- Equivalent Properties -->
+ <#if it.metadata.equivalentProperties.propertyMetaInformation?size !=0>
+ <fieldset>
+ <legend><b>Equivalent Properties</b></legend>
+ <#list it.metadata.equivalentProperties.propertyMetaInformation?sort_by("URI") as prop>
+ <div class="ontology equProps ${prop_index}">
+ <div class="collapsed">
+ <a class="imgOntObjectClass" href="${prop.href}">${prop.URI}</a>
+ </div>
+ </div>
+ </#list>
+ <@buttons.prevNextButtons className="equProps"/>
+ </fieldset>
+ </#if>
+
+<!-- Super Properties -->
+ <#if it.metadata.superProperties.propertyMetaInformation?size !=0>
+ <fieldset>
+ <legend><b>Super Properties</b></legend>
+ <#list it.metadata.superProperties.propertyMetaInformation?sort_by("URI") as prop>
+ <div class="ontology superProps ${prop_index}">
+ <div class="collapsed">
+ <a class="imgOntObjectProp" href="${prop.href}">${prop.URI}</a>
+ </div>
+ </div>
+ </#list>
+ <@buttons.prevNextButtons className="superProps"/>
+ </fieldset>
+ </#if>
+ <br>
+</div>
+<div class="panel" id="restapi" style="display: none;">
+<h3>Getting object property context of a class</h3>
+<pre>
+curl -i -X GET -H "Accept:application/xml" http://localhost:8080/persistencestore/${it.metadata.propertyMetaInformation.href}
+</pre>
+<p>Response :</p>
+<pre>
+HTTP/1.1 200 OK
+Content-Type: application/xml
+Transfer-Encoding: chunked
+Server: Jetty(6.1.x)
+
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<ns1:ObjectPropertyContext xmlns:ns1="model.rest.persistence.iks.srdc.com.tr" xmlns:ns2="http://www.w3.org/1999/xlink" ns1:isSymmetric="false" ns1:isTransitive="false" ns1:isInverseFunctional="false" ns1:isFunctional="false">
+ <ns1:PropertyMetaInformation ns2:href="ontologies/http://dbpedia.org/ontology//objectProperties/http://dbpedia.org/ontology/administrativeCollectivity">
+ <ns1:URI>http://dbpedia.org/ontology/administrativeCollectivity</ns1:URI>
+ <ns1:Description></ns1:Description>
+ <ns1:Namespace>http://dbpedia.org/ontology/</ns1:Namespace>
+ <ns1:LocalName>administrativeCollectivity</ns1:LocalName>
+ </ns1:PropertyMetaInformation>
+ <ns1:Domain>
+ <ns1:ClassMetaInformation ns2:href="ontologies/http://dbpedia.org/ontology//classes/http://dbpedia.org/ontology/City">
+ <ns1:URI>http://dbpedia.org/ontology/City</ns1:URI>
+ <ns1:Description></ns1:Description>
+ <ns1:Namespace>http://dbpedia.org/ontology/</ns1:Namespace>
+ <ns1:LocalName>City</ns1:LocalName>
+ </ns1:ClassMetaInformation>
+ </ns1:Domain>
+ <ns1:Range>
+ <ns1:ClassMetaInformation ns2:href="ontologies/http://dbpedia.org/ontology//classes/http://dbpedia.org/ontology/PopulatedPlace">
+ <ns1:URI>http://dbpedia.org/ontology/PopulatedPlace</ns1:URI>
+ <ns1:Description></ns1:Description>
+ <ns1:Namespace>http://dbpedia.org/ontology/</ns1:Namespace>
+ <ns1:LocalName>PopulatedPlace</ns1:LocalName>
+ </ns1:ClassMetaInformation>
+ </ns1:Range>
+ <ns1:EquivalentProperties/>
+ <ns1:SuperProperties/>
+</ns1:ObjectPropertyContext>
+</pre>
+
+<p>Object property Context contains following information:
+ <ul>
+ <li><b>Equivalent Properties</b> as a list of PropertyMetaInformation</li>
+ <li><b>Super Properties</b> as a list of PropertyMetaInformation</li>
+ <li>Whether the object property is <b>functional</b> or not</li>
+ <li>Whether the object property is <b>transitive</b> or not</li>
+ <li>Whether the object property is <b>symmetric</b> or not</li>
+ <li>Whether the object property is <b>inverse functional</b> or not</li>
+ <li><b>Domains</b> as a list of resource URIs or ClassMetaInformation</li>
+ <li><b>Ranges</b> as a list of resource URIs</li>
+ </ul>
+</p>
+
+<h3>Updating object property context of an object property</h3>
+<fieldset>
+ <legend>Form Paramaters</legend>
+ <table class="formParams">
+ <head>
+ <th width="20%">Parameter Name</th>
+ <th width="10%">Type</th>
+ <th width="70%">Explanation</th>
+ </head>
+ <tr>
+ <td>isFunctional</td>
+ <td>boolean</td>
+ <td>Boolean value indicating whether the object property is functional</td>
+ </tr>
+ <tr>
+ <td>isTransitive</td>
+ <td>boolean</td>
+ <td>Boolean value indicating whether the object property is transitive</td>
+ </tr>
+ <tr>
+ <td>isSymmetric</td>
+ <td>boolean</td>
+ <td>Boolean value indicating whether the object property is symmetric</td>
+ </tr>
+ <tr>
+ <td>isInverseFunctional</td>
+ <td>boolean</td>
+ <td>Boolean value indicating whether the object property is inverse functional</td>
+ </tr>
+ <body>
+ </body>
+ </table>
+</fieldset>
+
+<fieldset>
+ <legend><b>SubPath: /domains Method: POST </b></legend>
+ <table class="formParams">
+ <head>
+ <th width="20%">POST Parameter</th>
+ <th width="10%">Type</th>
+ <th width="70%">Explanation</th>
+ </head>
+ <body>
+ <tr>
+ <td>domainURIs</td>
+ <td>List<String></td>
+ <td>A list of existing class URIs which will be added as a domain to this object property</td>
+ </tr>
+ </body>
+ </table>
+</fieldset>
+<fieldset>
+ <legend><b>SubPath: /domains/{domainURI} Method : DELETE</b></legend>
+ <p>Delete domain indicated by domainURI at path parameter from the domain list of this object property</p>
+</fieldset>
+
+<fieldset>
+ <legend><b>SubPath: /ranges Method: POST </b></legend>
+ <table class="formParams">
+ <head>
+ <th width="20%">POST Parameter</th>
+ <th width="10%">Type</th>
+ <th width="70%">Explanation</th>
+ </head>
+ <body>
+ <tr>
+ <td>rangeURIs</td>
+ <td>List<String></td>
+ <td>A list of existing class URIs which will be added as a range to this object property</td>
+ </tr>
+ </body>
+ </table>
+</fieldset>
+<fieldset>
+ <legend><b>SubPath: /ranges/{rangeURI} Method : DELETE</b></legend>
+ <p>Delete range indicated by rangeURI at path parameter from the range list of this object property</p>
+</fieldset>
+
+<fieldset>
+ <legend><b>SubPath: /superProperties Method: POST </b></legend>
+ <table class="formParams">
+ <head>
+ <th width="20%">POST Parameter</th>
+ <th width="10%">Type</th>
+ <th width="70%">Explanation</th>
+ </head>
+ <body>
+ <tr>
+ <td>superPropertyURIs</td>
+ <td>List<String></td>
+ <td>A list of existing object property URIs which will be added as a super property to this object property</td>
+ </tr>
+ </body>
+ </table>
+</fieldset>
+<fieldset>
+ <legend><b>SubPath: /superProperties/{propertyURI} Method : DELETE</b></legend>
+ <p>Delete object property indicated by propertyURI at path parameter from the super properties list of this object property</p>
+</fieldset>
+
+<p>Example curl command</p>
+<pre>
+curl -i -X POST -H "Accept:application/xml" --data-urlencode isFuntional=true http://localhost:8080/persistencestore/${it.metadata.propertyMetaInformation.href}
+</pre>
+<p>Response is the updated class context of the class</p>
+</div>
+
+<script>
+ PAGING.adjustVisibility("domainList");
+ PAGING.adjustVisibility("rangeList");
+ PAGING.adjustVisibility("equProps");
+ PAGING.adjustVisibility("superProps")
+
+ <@propSerializer.property it=it.metadata/>
+
+ var propUtil = this.PSTORE.propUtil;
+
+ propUtil.addRangeAndPost = function () {
+ propUtil.addRange($('.rangeInput')[0].value);
+ propUtil.post('${it.metadata.propertyMetaInformation.href}');
+ }
+
+ propUtil.deleteRangeAndPost = function (uri){
+ propUtil.removeRange(uri);
+ propUtil.post('${it.metadata.propertyMetaInformation.href}');
+ }
+
+ propUtil.addDomainAndPost = function (){
+ propUtil.addDomain($('.domainInput')[0].value);
+ propUtil.post('${it.metadata.propertyMetaInformation.href}');
+ }
+
+ propUtil.deleteDomainAndPost = function (uri){
+ propUtil.removeDomain(uri);
+ propUtil.post('${it.metadata.propertyMetaInformation.href}');
+ }
+
+ $(".ontology .ontologyHeader").click(function () {
+ $(this).parents("div").toggleClass("collapsed");
+ });
+
+ $(".ontology .ontologySubmitHeader").click(function () {
+ $(this).parents("div").toggleClass("collapsed");
+ });
+
+ $('[name="propFeatFunc"]').click(function(){
+ propUtil.setFunctional($(this)[0].checked);
+ });
+
+ $('[name="propFeatTrans"]').click(function(){
+ propUtil.setTransitive($(this)[0].checked);
+ });
+
+ $('[name="propFeatSymm"]').click(function(){
+ propUtil.setSymmetric($(this)[0].checked);
+ });
+
+ $('[name="propFeatInvFunc"]').click(function(){
+ propUtil.setInverseFunctional($(this)[0].checked);
+ });
+
+</script>
+</...@common.page>
\ No newline at end of file
Propchange: incubator/stanbol/trunk/commons/web/ontology/src/main/resources/org/apache/stanbol/commons/web/ontologymanager/store/templates/org/apache/stanbol/ontologymanager/store/rest/resources/particularObjectProperty.ftl
------------------------------------------------------------------------------
svn:executable = *
Added: incubator/stanbol/trunk/commons/web/ontology/src/main/resources/org/apache/stanbol/commons/web/ontologymanager/store/templates/org/apache/stanbol/ontologymanager/store/rest/resources/particularOntology.ftl
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/commons/web/ontology/src/main/resources/org/apache/stanbol/commons/web/ontologymanager/store/templates/org/apache/stanbol/ontologymanager/store/rest/resources/particularOntology.ftl?rev=1089764&view=auto
==============================================================================
--- incubator/stanbol/trunk/commons/web/ontology/src/main/resources/org/apache/stanbol/commons/web/ontologymanager/store/templates/org/apache/stanbol/ontologymanager/store/rest/resources/particularOntology.ftl (added)
+++ incubator/stanbol/trunk/commons/web/ontology/src/main/resources/org/apache/stanbol/commons/web/ontologymanager/store/templates/org/apache/stanbol/ontologymanager/store/rest/resources/particularOntology.ftl Thu Apr 7 08:04:44 2011
@@ -0,0 +1,41 @@
+<#import "/imports/common.ftl" as common>
+
+<@common.page title="${it.metadata.URI}" hasrestapi=true>
+<div class="panel" id="webview">
+ <fieldset>
+ <legend><b>Resource Classification</b></legend>
+ <ul>
+ <li><a href="${it.metadata.href}/classes">Classes</a></li>
+ <li><a href="${it.metadata.href}/objectProperties">Object Properties</a></li>
+ <li><a href="${it.metadata.href}/datatypeProperties">Datatype Properties</a></li>
+ <li><a href="${it.metadata.href}/individuals">Individuals</a></li>
+ </ul>
+ </fieldset>
+</div>
+<div class="panel" id="restapi" style="display: none;">
+<h3>Getting OntologyMetaInformation</h3>
+<pre>
+curl -i -X GET -H "Accept:application/xml" http://localhost:8080/persistencestore/${it.metadata.href}
+</pre>
+<p>Response :</p>
+<pre>
+<script type="text/javascript">
+ function init(){};
+ document.write(getResponse("GET", "${it.metadata.href}"));
+</script>
+</pre>
+<h3>Getting RDF/XML Serialization of Ontology</h3>
+<pre>
+curl -i -X GET -H "Accept:application/rdf+xml" http://localhost:8080/persistencestore/${it.metadata.href}
+</pre>
+<h3>Deleting Ontology</h3>
+<pre>
+curl -i -X DELETE http://localhost:8080/persistencestore/${it.metadata.href}
+</pre>
+<p>Response :</p>
+<pre>
+HTTP/1.1 204 No Content
+Server: Jetty(6.1.x)
+</pre>
+</div>
+</...@common.page>
Propchange: incubator/stanbol/trunk/commons/web/ontology/src/main/resources/org/apache/stanbol/commons/web/ontologymanager/store/templates/org/apache/stanbol/ontologymanager/store/rest/resources/particularOntology.ftl
------------------------------------------------------------------------------
svn:executable = *