Author: buildbot
Date: Fri Jan 13 14:18:33 2012
New Revision: 802559
Log:
Staging update by buildbot for stanbol
Added:
websites/staging/stanbol/trunk/content/stanbol/docs/trunk/factstore/implementation.html
Added:
websites/staging/stanbol/trunk/content/stanbol/docs/trunk/factstore/implementation.html
==============================================================================
---
websites/staging/stanbol/trunk/content/stanbol/docs/trunk/factstore/implementation.html
(added)
+++
websites/staging/stanbol/trunk/content/stanbol/docs/trunk/factstore/implementation.html
Fri Jan 13 14:18:33 2012
@@ -0,0 +1,78 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<!--
+
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE- 2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+ <link href="/stanbol/css/stanbol.css" rel="stylesheet" type="text/css">
+ <title>Apache Stanbol - FactStore Implementation Concept</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+ <link rel="icon" type="image/png"
href="/stanbol/images/stanbol-logo/stanbol-favicon.png"/>
+</head>
+
+<body>
+ <div id="navigation">
+ <img alt="Apache Stanbol" width="220" height="101"
src="/stanbol/images/stanbol-logo/stanbol-2010-12-14.png"/>
+ <h1 id="stanbol_links">Stanbol links</h1>
+<ul>
+<li><a href="/stanbol/index.html">Home</a></li>
+<li><a href="/stanbol/docs/trunk/tutorial.html">Tutorial</a></li>
+<li><a href="/stanbol/docs/trunk/downloads.html">Downloads</a></li>
+<li><a href="/stanbol/docs/trunk/building.html">Building from Source</a></li>
+<li><a href="/stanbol/docs/trunk/">Documentation</a></li>
+<li><a href="/stanbol/docs/trunk/mailinglists.html">Mailing Lists</a></li>
+<li><a href="https://issues.apache.org/jira/browse/STANBOL">Issue
Tracker</a></li>
+<li><a href="/stanbol/team.html">Project Team</a></li>
+</ul>
+<h1 id="asf_links">ASF links</h1>
+<ul>
+<li><a href="http://www.apache.org">Apache Software Foundation</a></li>
+<li><a href="http://www.apache.org/licenses/LICENSE-2.0">License</a></li>
+<li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
+<li><a href="http://www.apache.org/foundation/sponsorship.html">Become a
Sponsor</a></li>
+<li><a href="http://www.apache.org/security/">Security</a></li>
+</ul>
+ </div>
+
+ <div id="content">
+ <h1 class="title">FactStore Implementation Concept</h1>
+ <p>The <a href="specification.html">FactStore specification</a> is written
with a certain kind of implementation in mind. Although the implementation of
the specification is not pretended it might be useful to have a look at this
simple implementation concept.</p>
+<h2 id="store_implementation">Store Implementation</h2>
+<p>The store implementation is based on the well known concept of relational
databases. Each fact schema is a table in a relational database. Creating a new
fact schema is equivalent to creating a new table with a number of String
attributes, because we store IRIs, according to the schema. For performance
reasons the attributes should be indexed.
+The store just needs to be able to create new schemata. It is not specified
that a schema may be altered over time. This could be an improvement for the
future.</p>
+<h2 id="query_implementation">Query Implementation</h2>
+<p>The JSON-LD query structure is designed to be mapped directly to valid SQL
statements. If the store is implemented in a relational database all queries
can be transformed to SQL queries to this database. For security reasons it is
important to keep hacks like SQL injection in mind when transforming the
JSON-LD query to SQL.</p>
+<p>As seen in the examples, queries may use attributes of entities to
formulate the request. However, the FactStore does only store the IRIs of the
entities not the entities with their attributes. Therefore, the FactStores
needs an EntityHub to resolve entities specified by their attributes. The
EntityHub must be able to query for entities by example.</p>
+<p>Note: Depending on the number of entities returned by the EntityHub for a
certain request this architecture may lead to performance problems. It has to
be evaluated where the limit of this approach is in terms of performance.
However, the assumption is that in many (or most) scenarios this will not
become a problem. If it becomes a problem, the type of allowed queries may be
restricted, e.g. don't allow queries that use entity attributes in the "where"
clause, to avoid performance or memory problems.</p>
+<hr />
+<p><em>Back to <a href="index.html">FactStore</a></em></p>
+ </div>
+
+ <div id="footer">
+ <div class="copyright">
+ <p>
+ Copyright © 2010 The Apache Software Foundation, Licensed under
+ the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache
License, Version 2.0</a>.
+ <br />
+ Apache, Stanbol and the Apache feather and Stanbol logos are
trademarks of The Apache Software Foundation.
+ </p>
+ </div>
+ </div>
+
+</body>
+</html>