Skip to content

Commit

Permalink
close kbodata 1.x.x
Browse files Browse the repository at this point in the history
  • Loading branch information
Tom Geudens committed Jun 6, 2014
1 parent 93037d3 commit 8a0d7de
Show file tree
Hide file tree
Showing 19 changed files with 188 additions and 52 deletions.
17 changes: 11 additions & 6 deletions urn.com.elbeesee.kbodata.server/module.xml
Expand Up @@ -3,7 +3,7 @@
<meta>
<identity>
<uri>urn:com:elbeesee:kbodata:server</uri>
<version>1.4.0</version>
<version>1.5.0</version>
</identity>
<info>
<name>elbeesee / kbodata / server</name>
Expand Down Expand Up @@ -63,7 +63,7 @@

<endpoint>
<prototype>Limiter</prototype>
<grammar>res:/etc/system/
<grammar>res:/etc/
<regex type="anything"/>
</grammar>
</endpoint>
Expand Down Expand Up @@ -316,7 +316,7 @@
<endpoint>
<meta>
<rest>
<simple>{owner:(address|organisation)}/{id}.{extension:(rdf|ttl|nt|jsonld|html)}</simple>
<simple>{owner:(address|conceptscheme|organisation)}/{id}.{extension:(rdf|ttl|nt|jsonld|html)}</simple>
<method>GET</method>
<Etag>MD5</Etag>
<compress/>
Expand All @@ -340,7 +340,7 @@
<endpoint>
<meta>
<rest>
<simple>{owner:(activity|activitygroup|classification|conceptscheme|contacttype|entitycontact|juridicalform|juridicalsituation|language|nace2003|nace2008|status|typeofaddress|typeofdenomination|typeofenterprise)}/{id}.{extension:(rdf|ttl|nt|jsonld|html)}</simple>
<simple>{owner:(activity|activitygroup|classification|contacttype|entitycontact|juridicalform|juridicalsituation|language|nace2003|nace2008|status|typeofaddress|typeofdenomination|typeofenterprise)}/{id}.{extension:(rdf|ttl|nt|jsonld|html)}</simple>
<method>GET</method>
<Etag>MD5</Etag>
<compress/>
Expand All @@ -364,7 +364,7 @@
<endpoint>
<meta>
<rest>
<simple>{owner:(address|organisation)}/{id}</simple>
<simple>{owner:(address|conceptscheme|organisation)}/{id}</simple>
<method>GET</method>
<Etag>MD5</Etag>
<compress/>
Expand All @@ -386,7 +386,7 @@
<endpoint>
<meta>
<rest>
<simple>{owner:(activity|activitygroup|classification|conceptscheme|contacttype|entitycontact|juridicalform|juridicalsituation|language|nace2003|nace2008|status|typeofaddress|typeofdenomination|typeofenterprise)}/{id}</simple>
<simple>{owner:(activity|activitygroup|classification|contacttype|entitycontact|juridicalform|juridicalsituation|language|nace2003|nace2008|status|typeofaddress|typeofdenomination|typeofenterprise)}/{id}</simple>
<method>GET</method>
<Etag>MD5</Etag>
<compress/>
Expand Down Expand Up @@ -642,6 +642,11 @@
<!-- pds backend -->
<uri>urn:org:netkernel:mod:pds:rdbms:local</uri>
</import>

<import>
<!-- contains active:md5 -->
<uri>urn:org:netkernel:mod:security</uri>
</import>

<import>
<!-- kbodata literals -->
Expand Down
Expand Up @@ -22,6 +22,7 @@ CONSTRUCT {
<http://data.kbodata.be/${owner}/${id}#id> rdfs:isDefinedBy <http://data.kbodata.be/${owner}/${id}.rdf> .
<http://data.kbodata.be/${owner}/${id}#id> rdfs:isDefinedBy <http://data.kbodata.be/${owner}/${id}.ttl> .
<http://data.kbodata.be/${owner}/${id}#id> rdfs:isDefinedBy <http://data.kbodata.be/${owner}/${id}.jsonld> .
<http://data.kbodata.be/${owner}/${id}#id> rdfs:seeAlso <http://ewi.mmlab.be/ba/all?subject=http://data.kbodata.be/${owner}/${id}#id> .
<http://data.kbodata.be/${owner}/${id}#id> foaf:page <http://data.kbodata.be/${owner}/${id}.html> .
<http://data.kbodata.be/${owner}/${id}.${extension}> dcterms:publisher <http://data.kbodata.be/organisation/0476_068_080#id> .
<http://data.kbodata.be/${owner}/${id}.${extension}> dcterms:publisher <http://data.kbodata.be/organisation/0843_536_051#id> .
Expand Down
Expand Up @@ -176,12 +176,12 @@ if (aExtension.equals("html")) {
xsltrequest.addArgument("operator", "res:/resources/xsl/kbo.xsl");
Object vHTML = aContext.issueRequest(xsltrequest);

//INKFRequest serializerequest = aContext.createRequest("active:saxonSerialize");
//serializerequest.addArgumentByValue("operand", vHTML);
//serializerequest.addArgumentByValue("operator", "<serialize><indent>yes</indent><omit-declaration>yes</omit-declaration><encoding>UTF-8</encoding><method>xhtml</method><mimeType>text/html</mimeType></serialize>");
//IReadableBinaryStreamRepresentation vRBSHTML = (IReadableBinaryStreamRepresentation)aContext.issueRequest(serializerequest);
INKFRequest serializerequest = aContext.createRequest("active:saxonSerialize");
serializerequest.addArgumentByValue("operand", vHTML);
serializerequest.addArgumentByValue("operator", "<serialize><indent>yes</indent><omit-declaration>yes</omit-declaration><encoding>UTF-8</encoding><method>xhtml</method><mimeType>text/html</mimeType></serialize>");
IReadableBinaryStreamRepresentation vRBSHTML = (IReadableBinaryStreamRepresentation)aContext.issueRequest(serializerequest);

vResponse = aContext.createResponseFrom(vHTML);
vResponse = aContext.createResponseFrom(vRBSHTML);
}
else {
vResponse = aContext.createResponseFrom(vRBS);
Expand All @@ -195,11 +195,14 @@ catch (Exception e){
//
}
if (vCORSOrigin != null) {
// No CORS verification yet, I just allow the origin
vResponse.setHeader("httpResponse:/header/Access-Control-Allow-Origin",vCORSOrigin);
// No CORS verification yet, I just allow everything
vResponse.setHeader("httpResponse:/header/Access-Control-Allow-Origin","*");
}
if (vIsModelEmpty) {
vResponse.setHeader("httpResponse:/code",404);
}
else {
vResponse.setHeader("httpResponse:/header/Vary","Accept");
}
vResponse.setExpiry(INKFResponse.EXPIRY_DEPENDENT);
//
Expand Up @@ -176,12 +176,12 @@ if (aExtension.equals("html")) {
xsltrequest.addArgument("operator", "res:/resources/xsl/kbo.xsl");
Object vHTML = aContext.issueRequest(xsltrequest);

// INKFRequest serializerequest = aContext.createRequest("active:saxonSerialize");
// serializerequest.addArgumentByValue("operand", vHTML);
// serializerequest.addArgumentByValue("operator", "<serialize><indent>yes</indent><omit-declaration>yes</omit-declaration><encoding>UTF-8</encoding><method>xhtml</method><mimeType>text/html</mimeType></serialize>");
// IReadableBinaryStreamRepresentation vRBSHTML = (IReadableBinaryStreamRepresentation)aContext.issueRequest(serializerequest);
INKFRequest serializerequest = aContext.createRequest("active:saxonSerialize");
serializerequest.addArgumentByValue("operand", vHTML);
serializerequest.addArgumentByValue("operator", "<serialize><indent>yes</indent><omit-declaration>yes</omit-declaration><encoding>UTF-8</encoding><method>xhtml</method><mimeType>text/html</mimeType></serialize>");
IReadableBinaryStreamRepresentation vRBSHTML = (IReadableBinaryStreamRepresentation)aContext.issueRequest(serializerequest);

vResponse = aContext.createResponseFrom(vHTML);
vResponse = aContext.createResponseFrom(vRBSHTML);
}
else {
vResponse = aContext.createResponseFrom(vRBS);
Expand All @@ -195,11 +195,14 @@ catch (Exception e){
//
}
if (vCORSOrigin != null) {
// No CORS verification yet, I just allow the origin
vResponse.setHeader("httpResponse:/header/Access-Control-Allow-Origin",vCORSOrigin);
// No CORS verification yet, I just allow everything
vResponse.setHeader("httpResponse:/header/Access-Control-Allow-Origin","*");
}
if (vIsModelEmpty) {
vResponse.setHeader("httpResponse:/code",404);
}
else {
vResponse.setHeader("httpResponse:/header/Vary","Accept");
}
vResponse.setExpiry(INKFResponse.EXPIRY_DEPENDENT);
//
15 changes: 13 additions & 2 deletions urn.com.elbeesee.kbodata.server/resources/groovy/kbodatadef.groovy
Expand Up @@ -79,6 +79,11 @@ INKFRequest jenaparserequest = aContext.createRequest("active:jRDFParseXML");
jenaparserequest.addArgumentByValue("operand",vSparqlResult);
Object vJenaParseResult = aContext.issueRequest(jenaparserequest);

INKFRequest modelemptyrequest = aContext.createRequest("active:jRDFModelIsEmpty");
modelemptyrequest.addArgumentByValue("operand", vJenaParseResult);
modelemptyrequest.setRepresentationClass(Boolean.class);
Boolean vIsModelEmpty = (Boolean)aContext.issueRequest(modelemptyrequest);

IReadableBinaryStreamRepresentation vRBS = null;
String vMimetype = null;
INKFRequest jenaserializerequest = null;
Expand Down Expand Up @@ -132,8 +137,14 @@ catch (Exception e){
//
}
if (vCORSOrigin != null) {
// No CORS verification yet, I just allow the origin
vResponse.setHeader("httpResponse:/header/Access-Control-Allow-Origin",vCORSOrigin);
// No CORS verification yet, I just allow everything
vResponse.setHeader("httpResponse:/header/Access-Control-Allow-Origin","*");
}
if (vIsModelEmpty) {
vResponse.setHeader("httpResponse:/code",404);
}
else {
vResponse.setHeader("httpResponse:/header/Vary","Accept");
}
vResponse.setExpiry(INKFResponse.EXPIRY_DEPENDENT);
//
Expand Up @@ -64,22 +64,28 @@ catch (Exception e) {
aExtension = "rdf";
}

String vIdentity = "";
INKFRequest fragmentsrequest = aContext.createRequest("active:fragments");
fragmentsrequest.addArgument("database", "kbodata:database");
if (vSubject != null) {
fragmentsrequest.addArgumentByValue("subject", vSubject);
vIdentity = vIdentity + "s=" + vSubject + "-";
}
if (vPredicate != null) {
fragmentsrequest.addArgumentByValue("predicate", vPredicate);
vIdentity = vIdentity + "p=" + vPredicate + "-";
}
if (vObject != null) {
fragmentsrequest.addArgumentByValue("object", vObject);
vIdentity = vIdentity + "o=" + vObject + "-";
}
if (vLimit != null) {
fragmentsrequest.addArgumentByValue("limit", vLimit);
vIdentity = vIdentity + "l=" + vLimit + "-";
}
if (vOffset != null) {
fragmentsrequest.addArgumentByValue("offset", vOffset);
vIdentity = vIdentity + "f=" + vOffset + "-";
}
if (vURL != null) {
fragmentsrequest.addArgumentByValue("url", vURL);
Expand All @@ -91,13 +97,36 @@ fragmentsrequest.addArgument("dataset", "kbodata:dataset");
fragmentsrequest.addArgument("expiry", "kbodata:expiry");
fragmentsrequest.addArgument("credentials", "kbodata:credentials");
fragmentsrequest.addArgumentByValue("accept", "application/rdf+xml");
Object vFragmentsResult = aContext.issueRequest(fragmentsrequest);
//

INKFRequest md5request = aContext.createRequest("active:md5");
md5request.addArgumentByValue("operand", vIdentity);
md5request.setRepresentationClass(String.class);
String vIdentityMD5 = aContext.issueRequest(md5request);

Object vFragmentsResult = null;

INKFRequest incacherequest = aContext.createRequest("pds:/fragments/" + vIdentityMD5);
incacherequest.setVerb(INKFRequestReadOnly.VERB_EXISTS);
incacherequest.setRepresentationClass(Boolean.class);
Boolean vInCache = (Boolean)aContext.issueRequest(incacherequest);

if (vInCache) {
vFragmentsResult = aContext.source("pds:/fragments/" + vIdentityMD5);
}
else {
vFragmentsResult = aContext.issueRequest(fragmentsrequest);
aContext.sink("pds:/fragments/" + vIdentityMD5, vFragmentsResult);
}

INKFRequest jenaparserequest = aContext.createRequest("active:jRDFParseXML");
jenaparserequest.addArgumentByValue("operand",vFragmentsResult);
Object vJenaParseResult = aContext.issueRequest(jenaparserequest);

INKFRequest modelemptyrequest = aContext.createRequest("active:jRDFModelIsEmpty");
modelemptyrequest.addArgumentByValue("operand", vJenaParseResult);
modelemptyrequest.setRepresentationClass(Boolean.class);
Boolean vIsModelEmpty = (Boolean)aContext.issueRequest(modelemptyrequest);

IReadableBinaryStreamRepresentation vRBS = null;
String vMimetype = null;
INKFRequest jenaserializerequest = null;
Expand Down Expand Up @@ -152,8 +181,14 @@ catch (Exception e){
//
}
if (vCORSOrigin != null) {
// No CORS verification yet, I just allow the origin
vResponse.setHeader("httpResponse:/header/Access-Control-Allow-Origin",vCORSOrigin);
// No CORS verification yet, I just allow everything
vResponse.setHeader("httpResponse:/header/Access-Control-Allow-Origin","*");
}
if (vIsModelEmpty) {
vResponse.setHeader("httpResponse:/code",404);
}
else {
vResponse.setHeader("httpResponse:/header/Vary","Accept");
}
vResponse.setExpiry(INKFResponse.EXPIRY_DEPENDENT);
//
Expand Up @@ -86,7 +86,8 @@ catch (Exception e){
}
if (vCORSOrigin != null) {
// No CORS verification yet, I just allow the origin
vResponse.setHeader("httpResponse:/header/Access-Control-Allow-Origin",vCORSOrigin);
vResponse.setHeader("httpResponse:/header/Access-Control-Allow-Origin","*");
}
vResponse.setHeader("httpResponse:/header/Vary","Accept");
vResponse.setExpiry(INKFResponse.EXPIRY_DEPENDENT);
//
Expand Up @@ -203,9 +203,10 @@ if (vCallback == null ) {
//
}
if (vCORSOrigin != null) {
// No CORS verfication yet, I just allow the origin
vResponse.setHeader("httpResponse:/header/Access-Control-Allow-Origin",vCORSOrigin);
// No CORS verfication yet, I just allow everything
vResponse.setHeader("httpResponse:/header/Access-Control-Allow-Origin","*");
}
vResponse.setHeader("httpResponse:/header/Vary","Accept");
vResponse.setMimeType("application/json");
vResponse.setExpiry(INKFResponse.EXPIRY_DEPENDENT);
}
Expand All @@ -218,6 +219,7 @@ else {
String vResultCallback = (String)aContext.issueRequest(callback);

INKFResponse vResponse = aContext.createResponseFrom(vResultCallback);
vResponse.setHeader("httpResponse:/header/Vary","Accept");
vResponse.setMimeType("application/javascript");
vResponse.setExpiry(INKFResponse.EXPIRY_DEPENDENT);
}
Expand Down
Expand Up @@ -142,8 +142,9 @@ catch (Exception e){
//
}
if (vCORSOrigin != null) {
// No CORS verification yet, I just allow the origin
vResponse.setHeader("httpResponse:/header/Access-Control-Allow-Origin",vCORSOrigin);
// No CORS verification yet, I just allow everything
vResponse.setHeader("httpResponse:/header/Access-Control-Allow-Origin","*");
}
vResponse.setHeader("httpResponse:/header/Vary","Accept");
vResponse.setExpiry(INKFResponse.EXPIRY_DEPENDENT);
//
Expand Up @@ -92,6 +92,11 @@ INKFRequest jenaparserequest = aContext.createRequest("active:jRDFParseXML");
jenaparserequest.addArgumentByValue("operand",vSparqlResult);
Object vJenaParseResult = aContext.issueRequest(jenaparserequest);

INKFRequest modelemptyrequest = aContext.createRequest("active:jRDFModelIsEmpty");
modelemptyrequest.addArgumentByValue("operand", vJenaParseResult);
modelemptyrequest.setRepresentationClass(Boolean.class);
Boolean vIsModelEmpty = (Boolean)aContext.issueRequest(modelemptyrequest);

IReadableBinaryStreamRepresentation vRBS = null;
String vMimetype = null;
INKFRequest jenaserializerequest = null;
Expand Down Expand Up @@ -145,8 +150,14 @@ catch (Exception e){
//
}
if (vCORSOrigin != null) {
// No CORS verification yet, I just allow the origin
vResponse.setHeader("httpResponse:/header/Access-Control-Allow-Origin",vCORSOrigin);
// No CORS verification yet, I just allow everything
vResponse.setHeader("httpResponse:/header/Access-Control-Allow-Origin","*");
}
if (vIsModelEmpty) {
vResponse.setHeader("httpResponse:/code",404);
}
else {
vResponse.setHeader("httpResponse:/header/Vary","Accept");
}
vResponse.setExpiry(INKFResponse.EXPIRY_DEPENDENT);
//
4 changes: 2 additions & 2 deletions urn.com.elbeesee.kbodata.server/resources/sparql/void.sparql
Expand Up @@ -34,6 +34,7 @@ CONSTRUCT {
void:feature <http://www.w3.org/ns/formats/JSON-LD>;
void:sparqlEndpoint <http://data.kbodata.be/sparql>;
api:endpoint <http://data.kbodata.be/reconcile>;
api:endpoint <http://data.kbodata.be/fragments>;
void:exampleResource ?organisatie ;
void:exampleResource ?site;
void:exampleResource ?conceptscheme;
Expand Down Expand Up @@ -77,7 +78,6 @@ WHERE {
{SELECT (count(*) as ?triples) (count (distinct ?a) as ?subjects) (count (distinct ?c) as ?objects) (count (distinct ?b) as ?properties)
WHERE {
?a ?b ?c.
FILTER (contains(xsd:string(?a),'kbodata'))
}
}
{SELECT (count (distinct ?x) as ?classes)
Expand All @@ -89,7 +89,7 @@ WHERE {
{SELECT (count(distinct ?a) as ?entities)
WHERE {
?a ?b ?c.
FILTER (isURI(?a) && contains(xsd:string(?a),'kbodata'))
FILTER (isURI(?a))
}
}
{SELECT ?organisatie
Expand Down
Binary file not shown.

0 comments on commit 8a0d7de

Please sign in to comment.