http://git-wip-us.apache.org/repos/asf/polygene-website/blob/bb9c9971/content/java/2017/extension-es-sql.html ---------------------------------------------------------------------- diff --git a/content/java/2017/extension-es-sql.html b/content/java/2017/extension-es-sql.html new file mode 100644 index 0000000..61d8967 --- /dev/null +++ b/content/java/2017/extension-es-sql.html @@ -0,0 +1,393 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>SQL EntityStore</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1" /><link rel="home" href="index.html" title="" /><link rel="up" href="extensions.html" title="Extensions" /><link rel="prev" href="extension-es-riak.html" title="Riak EntityStore" /><link rel="next" href="extension-cache-ehcache.html" title="Ehcache Cache" /> + + + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> + <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags --> + <meta name="description" content=""> + <meta name="author" content=""> + <link rel="icon" href="../../favicon.ico"> + + <title>Starter Template for Bootstrap</title> + + <!-- Bootstrap core CSS --> + <link href="bootstrap-3.3.7/css/bootstrap.min.css" rel="stylesheet"> + + <!-- IE10 viewport hack for Surface/desktop Windows 8 bug --> + <link href="css/ie10-viewport-bug-workaround.css" rel="stylesheet"> + + <!-- Custom styles for this template --> + <link href="css/polygene-ng.css" rel="stylesheet"> + + <!-- Just for debugging purposes. Don't actually copy these 2 lines! --> + <!--[if lt IE 9]><script src="../../assets/js/ie8-responsive-file-warning.js"></script><![endif]--> + <script src="js/ie-emulation-modes-warning.js"></script> + + <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries --> + <!--[if lt IE 9]> + <script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> + <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> + <![endif]--> + +<!-- favicon --> + +<link rel="shortcut icon" href="http://polygene.apache.org/favicon.ico" type="image/vnd.microsoft.icon" /> +<link rel="icon" href="http://polygene.apache.org/favicon.ico" type="image/x-icon" /> + +<!-- style --> + +<link href="css/shCore.css" rel="stylesheet" type="text/css" /> +<link href="css/shCoreEclipse.css" rel="stylesheet" type="text/css" /> +<link href="css/shThemeEclipse.css" rel="stylesheet" type="text/css" /> +<!--<link href="css/polygene.css" rel="stylesheet" type="text/css" />--> + +<!-- Syntax Highlighter --> + +<script type="text/javascript" src="js/shCore.js"></script> +<script type="text/javascript" src="js/shBrushJava.js"></script> +<script type="text/javascript" src="js/shBrushScala.js"></script> +<script type="text/javascript" src="js/shBrushJScript.js"></script> +<script type="text/javascript" src="js/shBrushBash.js"></script> +<script type="text/javascript" src="js/shBrushPlain.js"></script> +<script type="text/javascript" src="js/shBrushXml.js"></script> +<script type="text/javascript" src="js/shBrushGroovy.js"></script> +<script type="text/javascript" src="js/shBrushPython.js"></script> +<script type="text/javascript" src="js/shBrushRuby.js"></script> +<script type="text/javascript" src="js/shBrushCSharp.js"></script> + +<script type="text/javascript"> + SyntaxHighlighter.defaults['tab-size'] = 4; + SyntaxHighlighter.defaults['gutter'] = false; + SyntaxHighlighter.defaults['toolbar'] = false; + SyntaxHighlighter.all() +</script> + +<!-- JQuery --> + +<script type="text/javascript" src="js/jquery-1.6.4.min.js"></script> + +<!-- Image Scaler --> + +<script type="text/javascript" src="js/imagescaler.js"></script> + +<!-- Table Styler --> + +<script type="text/javascript" src="js/tablestyler.js"></script> + +<!-- Apache Polygene WebSite Progressive Enhancement --> + +<link href="css/progressive-enhancement.css" rel="stylesheet" type="text/css" /> +<script type="text/javascript" src="js/jquery.scrollTo-1.4.2.js"></script> +<script type="text/javascript" src="js/progressive-enhancement.js"></script> + +<!-- Analytics --> + <script type="text/javascript"> + var _gaq = _gaq || []; + _gaq.push(['_setAccount', 'UA-62007352-1']); + _gaq.push(['_trackPageview']); + + (function() { + var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; + ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; + var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); + })(); + </script> + + </head><body><div xmlns="" xmlns:exsl="http://exslt.org/common" class="logo"><a href="index.html"><img src="images/logo-standard.png" /></a></div><nav xmlns="" xmlns:exsl="http://exslt.org/common" class="navbar navbar-inverse navbar-fixed-top"><div class="container"><div class="navbar-header"><a class="navbar-brand" href="#">Apache<br />Polygene + </a></div><div id="navbar" class="collapse navbar-collapse"><span class="nav navbar-nav"><div xmlns="http://www.w3.org/1999/xhtml" class="toc"><dl class="toc"><dt><span class="section"><a href="index.html#home">Polygeneâ¢</a></span></dt><dt><span class="section"><a href="intro.html">Introduction</a></span></dt><dt><span class="section"><a href="tutorials.html">Tutorials</a></span></dt><dt><span class="section"><a href="javadocs.html">Javadoc</a></span></dt><dt><span class="section"><a href="samples.html">Samples</a></span></dt><dt><span class="section"><a href="core.html">Core</a></span></dt><dt><span class="section"><a href="libraries.html">Libraries</a></span></dt><dt><span class="section"><span xmlns="" href="extensions.html">Extensions</span></span></dt><dt><span class="section"><a href="tools.html">Tools</a></span></dt><dt><span class="section"><a href="glossary.html">Glossary </a></span></dt></dl></div></span></div></div></nav><div xmlns="" xmlns:exsl="http://exslt .org/common" class="sidenav"><div xmlns="http://www.w3.org/1999/xhtml" class="toc"><dl class="toc"><dt><span class="section"><a href="extensions.html#_overview_7">Overview</a></span></dt><dt><span class="section"><a href="extension-serialization-javaxjson.html">javax.json serialization</a></span></dt><dt><span class="section"><a href="extension-serialization-javaxxml.html">javax.xml serialization</a></span></dt><dt><span class="section"><a href="extension-serialization-messagepack.html">MessagePack serialization</a></span></dt><dt><span class="section"><a href="extension-es-memory.html">Memory EntityStore</a></span></dt><dt><span class="section"><a href="extension-es-file.html">File EntityStore</a></span></dt><dt><span class="section"><a href="extension-es-geode.html">Geode EntityStore</a></span></dt><dt><span class="section"><a href="extension-es-hazelcast.html">Hazelcast EntityStore</a></span></dt><dt><span class="section"><a href="extension-es-jclouds.html">JClouds EntityStore</a ></span></dt><dt><span class="section"><a href="extension-es-jdbm.html">JDBM >EntityStore</a></span></dt><dt><span class="section"><a >href="extension-es-leveldb.html">LevelDB EntityStore</a></span></dt><dt><span >class="section"><a href="extension-es-mongodb.html">MongoDB >EntityStore</a></span></dt><dt><span class="section"><a >href="extension-es-preferences.html">Preferences >EntityStore</a></span></dt><dt><span class="section"><a >href="extension-es-redis.html">Redis EntityStore</a></span></dt><dt><span >class="section"><a href="extension-es-riak.html">Riak >EntityStore</a></span></dt><dt><span class="section"><span xmlns="" >href="extension-es-sql.html">SQL EntityStore</span></span></dt><dt><span >class="section"><a href="extension-cache-ehcache.html">Ehcache >Cache</a></span></dt><dt><span class="section"><a >href="extension-cache-memcache.html">Memcache Cache</a></span></dt><dt><span >class="section"><a href="extension-index-elasticsearch.html">ElasticSearch >Index/Query</a></span></dt><dt> <span class="section"><a href="extension-index-rdf.html">OpenRDF Index/Query</a></span></dt><dt><span class="section"><a href="extension-index-solr.html">Apache Solr Index/Query</a></span></dt><dt><span class="section"><a href="extension-indexing-sql.html">SQL Index/Query</a></span></dt><dt><span class="section"><a href="extension-metrics-metrics.html">Codahale Metrics</a></span></dt><dt><span class="section"><a href="extension-migration.html">Migration</a></span></dt><dt><span class="section"><a href="extension-reindexer.html">Reindexer</a></span></dt></dl></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="extension-es-sql"></a>SQL EntityStore</h3></div></div></div><p class="remark"><em><span class="comment"></span></em></p><p class="devstatus-code-stable">code</p><p class="devstatus-docs-good">docs</p><p class="devstatus-tests-good">tests</p><p>EntityStore service backed by a SQL database.</p><p>This extension fully leverage the <a class="xr ef" href="library-sql.html" title="SQL">SQL Library</a> meaning that you must use it to assemble your DataSource and that you +get <a class="link" href="library-circuitbreaker.html" title="Circuit Breaker">Circuit Breaker</a> and <a class="link" href="library-jmx.html" title="JMX">JMX</a> integration for free.</p><p>The database schema is managed using <a class="xref" href="">???</a>.</p><div class="tip" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Tip</h3><p>See the <a class="xref" href="sample-sql-support.html" title="SQL Support Sample">SQL Support Sample</a> that demonstrate combined use of <a class="xref" href="library-sql.html" title="SQL">SQL Library</a>, <a class="xref" href="extension-es-sql.html" title="SQL EntityStore"> SQL EntityStore</a> and +<a class="xref" href="extension-indexing-sql.html" title="SQL Index/Query">SQL Index/Query</a>.</p></div><p>The following SQL databases are supported:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"> +<a class="ulink" href="http://www.postgresql.org/" target="_top">PostgreSQL</a> +</li><li class="listitem"> +<a class="ulink" href="http://www.mysql.com/" target="_top">MySQL</a> and <a class="ulink" href="http://mariadb.org/" target="_top">MariaDB</a> +</li><li class="listitem"> +<a class="ulink" href="http://www.sqlite.org/" target="_top">SQLite</a> +</li><li class="listitem"> +<a class="ulink" href="http://www.h2database.com/" target="_top">H2 Database Engine</a> +</li><li class="listitem"> +<a class="ulink" href="http://db.apache.org/derby/" target="_top">Apache Derby</a> and <a class="ulink" href="http://www.oracle.com/technetwork/java/javadb/overview/index.htm" target="_top">Oracle JavaDB</a> +</li></ul></div><p>Each entity state is stored as a single row so maximum number of entities is the maximum number of rows per table +supported by the underlying SQL database.</p><div class="table"><a id="idm6219"></a><p class="title"><strong>Table 62. Artifact</strong></p><div class="table-contents"><table summary="Artifact" border="1"><colgroup><col class="col_1" /><col class="col_2" /><col class="col_3" /></colgroup><thead><tr><th align="left" valign="top">Group ID</th><th align="left" valign="top">Artifact ID</th><th align="left" valign="top">Version</th></tr></thead><tbody><tr><td align="left" valign="top"><p>org.apache.polygene.extensions</p></td><td align="left" valign="top"><p>org.apache.polygene.extension.entitystore-sql</p></td><td align="left" valign="top"><p>0</p></td></tr></tbody></table></div></div><br class="table-break" /><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="_configuration_12"></a>Configuration</h4></div></div></div><p>Here are the available configuration properties:</p><pre class="programlisting brush: java">public interface SQLMapEntityStoreConfiguratio n extends SQLConfiguration +{ + /** + * Name of the database schema to use. + * Ignored on SQL databases that don't support schemas. + */ + @UseDefaults( "POLYGENE_ES" ) + @Override + Property<String> schemaName(); + + /** + * Name of the entities table. + */ + @UseDefaults( "POLYGENE_ENTITIES" ) + Property<String> entityTableName(); + + /** + * Defines whether the database schema and table should be created if not already present. + */ + @UseDefaults( "true" ) + Property<Boolean> createIfMissing(); +} +</pre><p>The assembly snippets below show the DataSource assembly alongside the SQL EntityStore assembly. Remember to configure +the DataSource properly, see <a class="xref" href="library-sql.html" title="SQL">SQL Library</a> and <a class="xref" href="howto-configure-service.html" title="Configure a Service">Configure a Service</a>.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="_postgresql"></a>PostgreSQL</h4></div></div></div><p>Maximum number of entities is unlimited.</p><p>Assembly is done using the provided Assembler:</p><pre class="programlisting brush: java">public void assemble( ModuleAssembly module ) + throws AssemblyException +{ + [...snip...] + + // DataSourceService + new DBCPDataSourceServiceAssembler() + .identifiedBy( "postgresql-datasource-service" ) + .visibleIn( Visibility.module ) + .withConfig( config, Visibility.layer ) + .assemble( module ); + + // DataSource + new DataSourceAssembler() + .withDataSourceServiceIdentity( "postgresql-datasource-service" ) + .identifiedBy( "postgresql-datasource" ) + .visibleIn( Visibility.module ) + .withCircuitBreaker() + .assemble( module ); + + // SQL EntityStore + new PostgreSQLEntityStoreAssembler() + .visibleIn( Visibility.application ) + .withConfig( config, Visibility.layer ) + .assemble( module ); + [...snip...] + +} +</pre><p>Sample DataSource configuration defaults:</p><pre class="programlisting brush: java"># +# 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. +# +# +# + +enabled=true +driver=org.postgresql.Driver +username=jdbc_test_login +password=password</pre></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="_mysql_and_mariadb"></a>MySQL and MariaDB</h4></div></div></div><p>Maximum number of entities depends on the choosen storage engine.</p><p>Assembly is done using the provided Assembler:</p><pre class="programlisting brush: java">public void assemble( ModuleAssembly module ) + throws AssemblyException +{ + [...snip...] + + // DataSourceService + new DBCPDataSourceServiceAssembler() + .identifiedBy( "mysql-datasource-service" ) + .visibleIn( Visibility.module ) + .withConfig( config, Visibility.layer ) + .assemble( module ); + + // DataSource + new DataSourceAssembler() + .withDataSourceServiceIdentity( "mysql-datasource-service" ) + .identifiedBy( "mysql-datasource" ) + .visibleIn( Visibility.module ) + .withCircuitBreaker() + .assemble( module ); + + // SQL EntityStore + new MySQLEntityStoreAssembler() + .visibleIn( Visibility.application ) + .withConfig( config, Visibility.layer ) + .assemble( module ); + [...snip...] + +} +</pre><p>Sample DataSource configuration defaults:</p><pre class="programlisting brush: java"># +# 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. +# +# +# + +enabled=true +#url=jdbc:mysql://localhost:3306/jdbc_test_db?profileSQL=false&useLegacyDatetimeCode=false&serverTimezone=UTC&nullCatalogMeansCurrent=true&nullNamePatternMatchesAll=true +driver=com.mysql.cj.jdbc.Driver +username=root +password=</pre></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="_sqlite"></a>SQLite</h4></div></div></div><p>Maximum number of entities is unlimited.</p><p>The <a class="ulink" href="http://www.xerial.org/trac/Xerial/wiki/SQLiteJDBC" target="_top">Xerial SQLite JDBC</a> driver is recommended. +It provides native support on Linux, Windows and MaxOSX, pure Java on other OSes.</p><p>Assembly is done using the provided Assembler:</p><pre class="programlisting brush: java">public void assemble( ModuleAssembly module ) + throws AssemblyException +{ + [...snip...] + + // DataSourceService + new DBCPDataSourceServiceAssembler() + .identifiedBy( "sqlite-datasource-service" ) + .visibleIn( Visibility.module ) + .withConfig( config, Visibility.layer ) + .assemble( module ); + + // DataSource + new DataSourceAssembler() + .withDataSourceServiceIdentity( "sqlite-datasource-service" ) + .identifiedBy( "sqlite-datasource" ) + .visibleIn( Visibility.module ) + .withCircuitBreaker() + .assemble( module ); + + // SQL EntityStore + new SQLiteEntityStoreAssembler() + .visibleIn( Visibility.application ) + .withConfig( config, Visibility.layer ) + .assemble( module ); +} +</pre><p>Sample DataSource configuration defaults:</p><pre class="programlisting brush: java"># +# 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. +# +# +# + +enabled=true +url=jdbc:sqlite::memory: +driver=org.sqlite.JDBC +username= +password=</pre></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="_h2_database_engine"></a>H2 Database Engine</h4></div></div></div><p>Maximum number of entities is 2^64.</p><p>Assembly is done using the provided Assembler:</p><pre class="programlisting brush: java">public void assemble( ModuleAssembly module ) + throws AssemblyException +{ + [...snip...] + + // DataSourceService + new DBCPDataSourceServiceAssembler() + .identifiedBy( "h2-datasource-service" ) + .visibleIn( Visibility.module ) + .withConfig( config, Visibility.layer ) + .assemble( module ); + + // DataSource + new DataSourceAssembler() + .withDataSourceServiceIdentity( "h2-datasource-service" ) + .identifiedBy( "h2-datasource" ) + .visibleIn( Visibility.module ) + .withCircuitBreaker() + .assemble( module ); + + // SQL EntityStore + new H2SQLEntityStoreAssembler() + .visibleIn( Visibility.application ) + .withConfig( config, Visibility.layer ) + .assemble( module ); +} +</pre><p>Sample DataSource configuration defaults:</p><pre class="programlisting brush: java"># +# 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. +# +# +# + +enabled=true +url=jdbc:h2:mem:test +driver=org.h2.Driver +username= +password=</pre></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="_apache_derby_and_oracle_javadb"></a>Apache Derby and Oracle JavaDB</h4></div></div></div><p>Maximum number of entities is unlimited.</p><p>Assembly is done using the provided Assembler:</p><pre class="programlisting brush: java">public void assemble( ModuleAssembly module ) + throws AssemblyException +{ + [...snip...] + + // DataSourceService + new DBCPDataSourceServiceAssembler() + .identifiedBy( "derby-datasource-service" ) + .visibleIn( Visibility.module ) + .withConfig( config, Visibility.layer ) + .assemble( module ); + + // DataSource + new DataSourceAssembler() + .withDataSourceServiceIdentity( "derby-datasource-service" ) + .identifiedBy( "derby-datasource" ) + .visibleIn( Visibility.module ) + .withCircuitBreaker() + .assemble( module ); + + // SQL EntityStore + new DerbySQLEntityStoreAssembler() + .visibleIn( Visibility.application ) + .withConfig( config, Visibility.layer ) + .assemble( module ); +} +</pre><p>Sample DataSource configuration defaults:</p><pre class="programlisting brush: java"># +# 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. +# +# +# + +enabled=true +url=jdbc:derby:memory:testdb;create=true +driver=org.apache.derby.jdbc.EmbeddedDriver +username= +password=</pre></div></div><footer xmlns="" xmlns:exsl="http://exslt.org/common" class="footer"><div class="container"><p class="text-muted">Copyright © 2017 The Apache Software Foundation, Licensed under the <a href="http://www.apache.org/licenses/" target="_blank">Apache License, Version 2.0</a>. + Apache Polygene, Polygene, Apache, the Apache feather logo, and the Apache Polygene project logo are + trademarks of The Apache Software Foundation. + All other marks mentioned may be trademarks or registered trademarks of their respective owners. + </p></div></footer><script xmlns="" xmlns:exsl="http://exslt.org/common" src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script><script xmlns="" xmlns:exsl="http://exslt.org/common">window.jQuery || document.write('<script src="js/jquery-1.6.4.min.js"></script>')</script><script xmlns="" xmlns:exsl="http://exslt.org/common" src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.4.0/js/tether.min.js" integrity="sha384-DztdAPBWPRXSA/3eYEEUWrWCy7G5KFbe8fFjk5JAIxUYHKkDx6Qin1DkWx51bBrb" crossorigin="anonymous"></script><script xmlns="" xmlns:exsl="http://exslt.org/common" src="bootstrap-3.3.7/js/bootstrap.min.js"></script><script xmlns="" xmlns:exsl="http://exslt.org/common" src="js/ie10-viewport-bug-workaround.js"></script></body></html> \ No newline at end of file
http://git-wip-us.apache.org/repos/asf/polygene-website/blob/bb9c9971/content/java/2017/extension-index-elasticsearch.html ---------------------------------------------------------------------- diff --git a/content/java/2017/extension-index-elasticsearch.html b/content/java/2017/extension-index-elasticsearch.html new file mode 100644 index 0000000..64a3954 --- /dev/null +++ b/content/java/2017/extension-index-elasticsearch.html @@ -0,0 +1,214 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>ElasticSearch Index/Query</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1" /><link rel="home" href="index.html" title="" /><link rel="up" href="extensions.html" title="Extensions" /><link rel="prev" href="extension-cache-memcache.html" title="Memcache Cache" /><link rel="next" href="extension-index-rdf.html" title="OpenRDF Index/Query" /> + + + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> + <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags --> + <meta name="description" content=""> + <meta name="author" content=""> + <link rel="icon" href="../../favicon.ico"> + + <title>Starter Template for Bootstrap</title> + + <!-- Bootstrap core CSS --> + <link href="bootstrap-3.3.7/css/bootstrap.min.css" rel="stylesheet"> + + <!-- IE10 viewport hack for Surface/desktop Windows 8 bug --> + <link href="css/ie10-viewport-bug-workaround.css" rel="stylesheet"> + + <!-- Custom styles for this template --> + <link href="css/polygene-ng.css" rel="stylesheet"> + + <!-- Just for debugging purposes. Don't actually copy these 2 lines! --> + <!--[if lt IE 9]><script src="../../assets/js/ie8-responsive-file-warning.js"></script><![endif]--> + <script src="js/ie-emulation-modes-warning.js"></script> + + <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries --> + <!--[if lt IE 9]> + <script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> + <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> + <![endif]--> + +<!-- favicon --> + +<link rel="shortcut icon" href="http://polygene.apache.org/favicon.ico" type="image/vnd.microsoft.icon" /> +<link rel="icon" href="http://polygene.apache.org/favicon.ico" type="image/x-icon" /> + +<!-- style --> + +<link href="css/shCore.css" rel="stylesheet" type="text/css" /> +<link href="css/shCoreEclipse.css" rel="stylesheet" type="text/css" /> +<link href="css/shThemeEclipse.css" rel="stylesheet" type="text/css" /> +<!--<link href="css/polygene.css" rel="stylesheet" type="text/css" />--> + +<!-- Syntax Highlighter --> + +<script type="text/javascript" src="js/shCore.js"></script> +<script type="text/javascript" src="js/shBrushJava.js"></script> +<script type="text/javascript" src="js/shBrushScala.js"></script> +<script type="text/javascript" src="js/shBrushJScript.js"></script> +<script type="text/javascript" src="js/shBrushBash.js"></script> +<script type="text/javascript" src="js/shBrushPlain.js"></script> +<script type="text/javascript" src="js/shBrushXml.js"></script> +<script type="text/javascript" src="js/shBrushGroovy.js"></script> +<script type="text/javascript" src="js/shBrushPython.js"></script> +<script type="text/javascript" src="js/shBrushRuby.js"></script> +<script type="text/javascript" src="js/shBrushCSharp.js"></script> + +<script type="text/javascript"> + SyntaxHighlighter.defaults['tab-size'] = 4; + SyntaxHighlighter.defaults['gutter'] = false; + SyntaxHighlighter.defaults['toolbar'] = false; + SyntaxHighlighter.all() +</script> + +<!-- JQuery --> + +<script type="text/javascript" src="js/jquery-1.6.4.min.js"></script> + +<!-- Image Scaler --> + +<script type="text/javascript" src="js/imagescaler.js"></script> + +<!-- Table Styler --> + +<script type="text/javascript" src="js/tablestyler.js"></script> + +<!-- Apache Polygene WebSite Progressive Enhancement --> + +<link href="css/progressive-enhancement.css" rel="stylesheet" type="text/css" /> +<script type="text/javascript" src="js/jquery.scrollTo-1.4.2.js"></script> +<script type="text/javascript" src="js/progressive-enhancement.js"></script> + +<!-- Analytics --> + <script type="text/javascript"> + var _gaq = _gaq || []; + _gaq.push(['_setAccount', 'UA-62007352-1']); + _gaq.push(['_trackPageview']); + + (function() { + var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; + ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; + var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); + })(); + </script> + + </head><body><div xmlns="" xmlns:exsl="http://exslt.org/common" class="logo"><a href="index.html"><img src="images/logo-standard.png" /></a></div><nav xmlns="" xmlns:exsl="http://exslt.org/common" class="navbar navbar-inverse navbar-fixed-top"><div class="container"><div class="navbar-header"><a class="navbar-brand" href="#">Apache<br />Polygene + </a></div><div id="navbar" class="collapse navbar-collapse"><span class="nav navbar-nav"><div xmlns="http://www.w3.org/1999/xhtml" class="toc"><dl class="toc"><dt><span class="section"><a href="index.html#home">Polygeneâ¢</a></span></dt><dt><span class="section"><a href="intro.html">Introduction</a></span></dt><dt><span class="section"><a href="tutorials.html">Tutorials</a></span></dt><dt><span class="section"><a href="javadocs.html">Javadoc</a></span></dt><dt><span class="section"><a href="samples.html">Samples</a></span></dt><dt><span class="section"><a href="core.html">Core</a></span></dt><dt><span class="section"><a href="libraries.html">Libraries</a></span></dt><dt><span class="section"><span xmlns="" href="extensions.html">Extensions</span></span></dt><dt><span class="section"><a href="tools.html">Tools</a></span></dt><dt><span class="section"><a href="glossary.html">Glossary </a></span></dt></dl></div></span></div></div></nav><div xmlns="" xmlns:exsl="http://exslt .org/common" class="sidenav"><div xmlns="http://www.w3.org/1999/xhtml" class="toc"><dl class="toc"><dt><span class="section"><a href="extensions.html#_overview_7">Overview</a></span></dt><dt><span class="section"><a href="extension-serialization-javaxjson.html">javax.json serialization</a></span></dt><dt><span class="section"><a href="extension-serialization-javaxxml.html">javax.xml serialization</a></span></dt><dt><span class="section"><a href="extension-serialization-messagepack.html">MessagePack serialization</a></span></dt><dt><span class="section"><a href="extension-es-memory.html">Memory EntityStore</a></span></dt><dt><span class="section"><a href="extension-es-file.html">File EntityStore</a></span></dt><dt><span class="section"><a href="extension-es-geode.html">Geode EntityStore</a></span></dt><dt><span class="section"><a href="extension-es-hazelcast.html">Hazelcast EntityStore</a></span></dt><dt><span class="section"><a href="extension-es-jclouds.html">JClouds EntityStore</a ></span></dt><dt><span class="section"><a href="extension-es-jdbm.html">JDBM >EntityStore</a></span></dt><dt><span class="section"><a >href="extension-es-leveldb.html">LevelDB EntityStore</a></span></dt><dt><span >class="section"><a href="extension-es-mongodb.html">MongoDB >EntityStore</a></span></dt><dt><span class="section"><a >href="extension-es-preferences.html">Preferences >EntityStore</a></span></dt><dt><span class="section"><a >href="extension-es-redis.html">Redis EntityStore</a></span></dt><dt><span >class="section"><a href="extension-es-riak.html">Riak >EntityStore</a></span></dt><dt><span class="section"><a >href="extension-es-sql.html">SQL EntityStore</a></span></dt><dt><span >class="section"><a href="extension-cache-ehcache.html">Ehcache >Cache</a></span></dt><dt><span class="section"><a >href="extension-cache-memcache.html">Memcache Cache</a></span></dt><dt><span >class="section"><span xmlns="" >href="extension-index-elasticsearch.html">ElasticSearch >Index/Query</span></span></dt><dt> <span class="section"><a href="extension-index-rdf.html">OpenRDF Index/Query</a></span></dt><dt><span class="section"><a href="extension-index-solr.html">Apache Solr Index/Query</a></span></dt><dt><span class="section"><a href="extension-indexing-sql.html">SQL Index/Query</a></span></dt><dt><span class="section"><a href="extension-metrics-metrics.html">Codahale Metrics</a></span></dt><dt><span class="section"><a href="extension-migration.html">Migration</a></span></dt><dt><span class="section"><a href="extension-reindexer.html">Reindexer</a></span></dt></dl></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="extension-index-elasticsearch"></a>ElasticSearch Index/Query</h3></div></div></div><p class="remark"><em><span class="comment"></span></em></p><p class="devstatus-code-beta">code</p><p class="devstatus-docs-good">docs</p><p class="devstatus-tests-good">tests</p><p>Index/Query services backed by <a class="ulink" href="http://www.elasticsearc h.org/" target="_top">ElasticSearch</a> search engine built on top of +<a class="ulink" href="http://lucene.apache.org/" target="_top">Apache Lucene</a>.</p><div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Warning</h3><p>ElasticSearch Index/Query do not support ComplexQueries from the Query API, ie. queries by "example value".</p></div><p>Three modes of operation are supported:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"> +embedded local only filesystem based node ; +</li><li class="listitem"> +managed cluster client ; +</li><li class="listitem"> +with a provided client. +</li></ul></div><p>In any case, Lucene hard limits apply. +See the <a class="ulink" href="https://lucene.apache.org/core/6_1_0/core/org/apache/lucene/codecs/lucene60/package-summary.html#Limitations" target="_top">Lucene File Format</a> +documentation about maximum index size and document count. +Moreover, each field cannot be larger than 32766 bytes in its serialized form.</p><div class="table"><a id="idm6383"></a><p class="title"><strong>Table 65. Artifact</strong></p><div class="table-contents"><table summary="Artifact" border="1"><colgroup><col class="col_1" /><col class="col_2" /><col class="col_3" /></colgroup><thead><tr><th align="left" valign="top">Group ID</th><th align="left" valign="top">Artifact ID</th><th align="left" valign="top">Version</th></tr></thead><tbody><tr><td align="left" valign="top"><p>org.apache.polygene.extensions</p></td><td align="left" valign="top"><p>org.apache.polygene.extension.indexing-elasticsearch</p></td><td align="left" valign="top"><p>0</p></td></tr></tbody></table></div></div><br class="table-break" /><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="_embedded_on_local_file_system"></a>Embedded on local file system</h4></div></div></div><p>Filesystem based ElasticSearch Index/Query service relies on the <a class="xref" href="library-fileconfig.html" title="FileConfig">FileConfig Library</a> to decide where it stores its +index data, transaction logs etcâ¦</p><p>Assembly is done using the provided Assembler:</p><pre class="programlisting brush: java">new ESFilesystemIndexQueryAssembler() + .withConfig( configModule, configVisibility ) + .assemble( module ); +</pre><div class="section"><div class="titlepage"><div><div><h5 class="title"><a id="_configuration_15"></a>Configuration</h5></div></div></div><div class="important" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Important</h3><p>By default queries can only traverse Aggregated Associations, if you want to be able to traverse all +Associations set the <code class="literal">indexNonAggregatedAssociations</code> configuration property to <code class="literal">TRUE</code>.</p></div><p>Here are the configuration properties for the filesystem ElasticSearch Index/Query services:</p><pre class="programlisting brush: java">public interface ElasticSearchConfiguration + extends ConfigurationComposite +{ + + /** + * Cluster name. + * Defaults to 'polygene_cluster'. + */ + @Optional Property<String> clusterName(); + + /** + * Index name. + * Defaults to 'polygene_index'. + */ + @Optional Property<String> index(); + + /** + * Set to true to index non aggregated associations as if they were aggregated. + * WARN: Don't use this if your domain model contains circular dependencies. + * Defaults to 'FALSE'. + */ + @UseDefaults Property<Boolean> indexNonAggregatedAssociations(); + +} +</pre><p>All configuration properties are defaulted meaning that you can use ElasticSearch Index/Query service without +configuration.</p></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="_in_an_elasticsearch_cluster"></a>In an ElasticSearch cluster</h4></div></div></div><div class="section"><div class="titlepage"><div><div><h5 class="title"><a id="_assembly_21"></a>Assembly</h5></div></div></div><p>Assembly is done using the provided Assembler:</p><pre class="programlisting brush: java">new ESClusterIndexQueryAssembler() + .withConfig( configModule, configVisibility ) + .assemble( module ); +</pre></div><div class="section"><div class="titlepage"><div><div><h5 class="title"><a id="_configuration_16"></a>Configuration</h5></div></div></div><p>Here are the configuration properties for the clustered ElasticSearch Index/Query service. Note that it inherits the +properties defined in the filesystem configuration, see above.</p><pre class="programlisting brush: java">public interface ElasticSearchClusterConfiguration + extends ElasticSearchConfiguration +{ + + /** + * Coma separated list of nodes host:port. + * Defaults to '127.0.0.1:9300'. + */ + @Optional Property<String> nodes(); + + /** + * Allows client to sniff the rest of the cluster, and add those into its list of machines to use. + * In this case, note that the ip addresses used will be the ones that the other nodes were started + * with (the âpublishâ address). + * Defaults to FALSE. + */ + @UseDefaults Property<Boolean> clusterSniff(); + + /** + * Set to true to ignore cluster name validation of connected nodes. + * Defaults to FALSE. + */ + @UseDefaults Property<Boolean> ignoreClusterName(); + + /** + * The time to wait for a ping response from a node. + * Defaults to 5s. + */ + @Optional Property<String> pingTimeout(); + + /** + * How often to sample / ping the nodes listed and connected. + * Defaults to 5s. + */ + @Optional Property<String> samplerInterval(); + +} +</pre><p>Again, all configuration properties are defaulted meaning that you can use ElasticSearch Index/Query service without +configuration.</p></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="_using_a_provided_client"></a>Using a provided client</h4></div></div></div><div class="section"><div class="titlepage"><div><div><h5 class="title"><a id="_assembly_22"></a>Assembly</h5></div></div></div><p>Assembly is done using the provided Assembler:</p><pre class="programlisting brush: java">new ESClientIndexQueryAssembler( client ) + .withConfig( configModule, configVisibility ) + .assemble( module ); +</pre></div><div class="section"><div class="titlepage"><div><div><h5 class="title"><a id="_configuration_17"></a>Configuration</h5></div></div></div><p>Here are the configuration properties for the ElasticSearch Index/Query service using a provided client. +Note that the <code class="literal">clusterName</code> is ignored as this is managed by the client.</p><pre class="programlisting brush: java">public interface ElasticSearchConfiguration + extends ConfigurationComposite +{ + + /** + * Cluster name. + * Defaults to 'polygene_cluster'. + */ + @Optional Property<String> clusterName(); + + /** + * Index name. + * Defaults to 'polygene_index'. + */ + @Optional Property<String> index(); + + /** + * Set to true to index non aggregated associations as if they were aggregated. + * WARN: Don't use this if your domain model contains circular dependencies. + * Defaults to 'FALSE'. + */ + @UseDefaults Property<Boolean> indexNonAggregatedAssociations(); + +} +</pre><p>Again, all configuration properties are defaulted meaning that you can use ElasticSearch Index/Query service without +configuration.</p></div></div></div><footer xmlns="" xmlns:exsl="http://exslt.org/common" class="footer"><div class="container"><p class="text-muted">Copyright © 2017 The Apache Software Foundation, Licensed under the <a href="http://www.apache.org/licenses/" target="_blank">Apache License, Version 2.0</a>. + Apache Polygene, Polygene, Apache, the Apache feather logo, and the Apache Polygene project logo are + trademarks of The Apache Software Foundation. + All other marks mentioned may be trademarks or registered trademarks of their respective owners. + </p></div></footer><script xmlns="" xmlns:exsl="http://exslt.org/common" src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script><script xmlns="" xmlns:exsl="http://exslt.org/common">window.jQuery || document.write('<script src="js/jquery-1.6.4.min.js"></script>')</script><script xmlns="" xmlns:exsl="http://exslt.org/common" src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.4.0/js/tether.min.js" integrity="sha384-DztdAPBWPRXSA/3eYEEUWrWCy7G5KFbe8fFjk5JAIxUYHKkDx6Qin1DkWx51bBrb" crossorigin="anonymous"></script><script xmlns="" xmlns:exsl="http://exslt.org/common" src="bootstrap-3.3.7/js/bootstrap.min.js"></script><script xmlns="" xmlns:exsl="http://exslt.org/common" src="js/ie10-viewport-bug-workaround.js"></script></body></html> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/polygene-website/blob/bb9c9971/content/java/2017/extension-index-rdf.html ---------------------------------------------------------------------- diff --git a/content/java/2017/extension-index-rdf.html b/content/java/2017/extension-index-rdf.html new file mode 100644 index 0000000..2f0dd8c --- /dev/null +++ b/content/java/2017/extension-index-rdf.html @@ -0,0 +1,288 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>OpenRDF Index/Query</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1" /><link rel="home" href="index.html" title="" /><link rel="up" href="extensions.html" title="Extensions" /><link rel="prev" href="extension-index-elasticsearch.html" title="ElasticSearch Index/Query" /><link rel="next" href="extension-index-solr.html" title="Apache Solr Index/Query" /> + + + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> + <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags --> + <meta name="description" content=""> + <meta name="author" content=""> + <link rel="icon" href="../../favicon.ico"> + + <title>Starter Template for Bootstrap</title> + + <!-- Bootstrap core CSS --> + <link href="bootstrap-3.3.7/css/bootstrap.min.css" rel="stylesheet"> + + <!-- IE10 viewport hack for Surface/desktop Windows 8 bug --> + <link href="css/ie10-viewport-bug-workaround.css" rel="stylesheet"> + + <!-- Custom styles for this template --> + <link href="css/polygene-ng.css" rel="stylesheet"> + + <!-- Just for debugging purposes. Don't actually copy these 2 lines! --> + <!--[if lt IE 9]><script src="../../assets/js/ie8-responsive-file-warning.js"></script><![endif]--> + <script src="js/ie-emulation-modes-warning.js"></script> + + <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries --> + <!--[if lt IE 9]> + <script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> + <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> + <![endif]--> + +<!-- favicon --> + +<link rel="shortcut icon" href="http://polygene.apache.org/favicon.ico" type="image/vnd.microsoft.icon" /> +<link rel="icon" href="http://polygene.apache.org/favicon.ico" type="image/x-icon" /> + +<!-- style --> + +<link href="css/shCore.css" rel="stylesheet" type="text/css" /> +<link href="css/shCoreEclipse.css" rel="stylesheet" type="text/css" /> +<link href="css/shThemeEclipse.css" rel="stylesheet" type="text/css" /> +<!--<link href="css/polygene.css" rel="stylesheet" type="text/css" />--> + +<!-- Syntax Highlighter --> + +<script type="text/javascript" src="js/shCore.js"></script> +<script type="text/javascript" src="js/shBrushJava.js"></script> +<script type="text/javascript" src="js/shBrushScala.js"></script> +<script type="text/javascript" src="js/shBrushJScript.js"></script> +<script type="text/javascript" src="js/shBrushBash.js"></script> +<script type="text/javascript" src="js/shBrushPlain.js"></script> +<script type="text/javascript" src="js/shBrushXml.js"></script> +<script type="text/javascript" src="js/shBrushGroovy.js"></script> +<script type="text/javascript" src="js/shBrushPython.js"></script> +<script type="text/javascript" src="js/shBrushRuby.js"></script> +<script type="text/javascript" src="js/shBrushCSharp.js"></script> + +<script type="text/javascript"> + SyntaxHighlighter.defaults['tab-size'] = 4; + SyntaxHighlighter.defaults['gutter'] = false; + SyntaxHighlighter.defaults['toolbar'] = false; + SyntaxHighlighter.all() +</script> + +<!-- JQuery --> + +<script type="text/javascript" src="js/jquery-1.6.4.min.js"></script> + +<!-- Image Scaler --> + +<script type="text/javascript" src="js/imagescaler.js"></script> + +<!-- Table Styler --> + +<script type="text/javascript" src="js/tablestyler.js"></script> + +<!-- Apache Polygene WebSite Progressive Enhancement --> + +<link href="css/progressive-enhancement.css" rel="stylesheet" type="text/css" /> +<script type="text/javascript" src="js/jquery.scrollTo-1.4.2.js"></script> +<script type="text/javascript" src="js/progressive-enhancement.js"></script> + +<!-- Analytics --> + <script type="text/javascript"> + var _gaq = _gaq || []; + _gaq.push(['_setAccount', 'UA-62007352-1']); + _gaq.push(['_trackPageview']); + + (function() { + var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; + ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; + var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); + })(); + </script> + + </head><body><div xmlns="" xmlns:exsl="http://exslt.org/common" class="logo"><a href="index.html"><img src="images/logo-standard.png" /></a></div><nav xmlns="" xmlns:exsl="http://exslt.org/common" class="navbar navbar-inverse navbar-fixed-top"><div class="container"><div class="navbar-header"><a class="navbar-brand" href="#">Apache<br />Polygene + </a></div><div id="navbar" class="collapse navbar-collapse"><span class="nav navbar-nav"><div xmlns="http://www.w3.org/1999/xhtml" class="toc"><dl class="toc"><dt><span class="section"><a href="index.html#home">Polygeneâ¢</a></span></dt><dt><span class="section"><a href="intro.html">Introduction</a></span></dt><dt><span class="section"><a href="tutorials.html">Tutorials</a></span></dt><dt><span class="section"><a href="javadocs.html">Javadoc</a></span></dt><dt><span class="section"><a href="samples.html">Samples</a></span></dt><dt><span class="section"><a href="core.html">Core</a></span></dt><dt><span class="section"><a href="libraries.html">Libraries</a></span></dt><dt><span class="section"><span xmlns="" href="extensions.html">Extensions</span></span></dt><dt><span class="section"><a href="tools.html">Tools</a></span></dt><dt><span class="section"><a href="glossary.html">Glossary </a></span></dt></dl></div></span></div></div></nav><div xmlns="" xmlns:exsl="http://exslt .org/common" class="sidenav"><div xmlns="http://www.w3.org/1999/xhtml" class="toc"><dl class="toc"><dt><span class="section"><a href="extensions.html#_overview_7">Overview</a></span></dt><dt><span class="section"><a href="extension-serialization-javaxjson.html">javax.json serialization</a></span></dt><dt><span class="section"><a href="extension-serialization-javaxxml.html">javax.xml serialization</a></span></dt><dt><span class="section"><a href="extension-serialization-messagepack.html">MessagePack serialization</a></span></dt><dt><span class="section"><a href="extension-es-memory.html">Memory EntityStore</a></span></dt><dt><span class="section"><a href="extension-es-file.html">File EntityStore</a></span></dt><dt><span class="section"><a href="extension-es-geode.html">Geode EntityStore</a></span></dt><dt><span class="section"><a href="extension-es-hazelcast.html">Hazelcast EntityStore</a></span></dt><dt><span class="section"><a href="extension-es-jclouds.html">JClouds EntityStore</a ></span></dt><dt><span class="section"><a href="extension-es-jdbm.html">JDBM >EntityStore</a></span></dt><dt><span class="section"><a >href="extension-es-leveldb.html">LevelDB EntityStore</a></span></dt><dt><span >class="section"><a href="extension-es-mongodb.html">MongoDB >EntityStore</a></span></dt><dt><span class="section"><a >href="extension-es-preferences.html">Preferences >EntityStore</a></span></dt><dt><span class="section"><a >href="extension-es-redis.html">Redis EntityStore</a></span></dt><dt><span >class="section"><a href="extension-es-riak.html">Riak >EntityStore</a></span></dt><dt><span class="section"><a >href="extension-es-sql.html">SQL EntityStore</a></span></dt><dt><span >class="section"><a href="extension-cache-ehcache.html">Ehcache >Cache</a></span></dt><dt><span class="section"><a >href="extension-cache-memcache.html">Memcache Cache</a></span></dt><dt><span >class="section"><a href="extension-index-elasticsearch.html">ElasticSearch >Index/Query</a></span></dt><dt><span class="se ction"><span xmlns="" href="extension-index-rdf.html">OpenRDF Index/Query</span></span></dt><dt><span class="section"><a href="extension-index-solr.html">Apache Solr Index/Query</a></span></dt><dt><span class="section"><a href="extension-indexing-sql.html">SQL Index/Query</a></span></dt><dt><span class="section"><a href="extension-metrics-metrics.html">Codahale Metrics</a></span></dt><dt><span class="section"><a href="extension-migration.html">Migration</a></span></dt><dt><span class="section"><a href="extension-reindexer.html">Reindexer</a></span></dt></dl></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="extension-index-rdf"></a>OpenRDF Index/Query</h3></div></div></div><p class="remark"><em><span class="comment"></span></em></p><p class="devstatus-code-stable">code</p><p class="devstatus-docs-brief">docs</p><p class="devstatus-tests-good">tests</p><p>Index/Query services backed by <a class="ulink" href="http://www.openrdf.org/" target="_to p">OpenRDF Sesame</a> framework for processing RDF data.</p><div class="table"><a id="idm6448"></a><p class="title"><strong>Table 66. Artifact</strong></p><div class="table-contents"><table summary="Artifact" border="1"><colgroup><col class="col_1" /><col class="col_2" /><col class="col_3" /></colgroup><thead><tr><th align="left" valign="top">Group ID</th><th align="left" valign="top">Artifact ID</th><th align="left" valign="top">Version</th></tr></thead><tbody><tr><td align="left" valign="top"><p>org.apache.polygene.extensions</p></td><td align="left" valign="top"><p>org.apache.polygene.extension.indexing-rdf</p></td><td align="left" valign="top"><p>0</p></td></tr></tbody></table></div></div><br class="table-break" /><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="_in_memory"></a>In Memory</h4></div></div></div><p>Assembly is done using the provided Assembler:</p><pre class="programlisting brush: java">new RdfMemoryStoreAssembler().assemble( module ); +</pre><p>No configuration needed.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="_on_filesystem"></a>On Filesystem</h4></div></div></div><div class="section"><div class="titlepage"><div><div><h5 class="title"><a id="_assembly_23"></a>Assembly</h5></div></div></div><p>Assembly is done using the provided Assembler:</p><pre class="programlisting brush: java">new RdfNativeSesameStoreAssembler().assemble( module ); +</pre></div><div class="section"><div class="titlepage"><div><div><h5 class="title"><a id="_configuration_18"></a>Configuration</h5></div></div></div><p>Here are the configuration properties for the Native RDF Index/Query:</p><pre class="programlisting brush: java">public interface NativeConfiguration extends ConfigurationComposite +{ + @Optional @Matches( "([spoc][spoc][spoc][spoc],?)*" ) Property<String> tripleIndexes(); + + @Optional Property<String> dataDirectory(); + + @UseDefaults Property<Boolean> forceSync(); +} +</pre></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="_in_a_rdbms"></a>In a RDBMS</h4></div></div></div><div class="section"><div class="titlepage"><div><div><h5 class="title"><a id="_assembly_24"></a>Assembly</h5></div></div></div><p>Assembly is done using the provided Assembler:</p><pre class="programlisting brush: java">new RdfRdbmsSesameStoreAssembler().assemble( module ); +</pre></div><div class="section"><div class="titlepage"><div><div><h5 class="title"><a id="_configuration_19"></a>Configuration</h5></div></div></div><p>Here are the configuration properties for the RDBMS based RDF Index/Query:</p><pre class="programlisting brush: java">public interface RdbmsRepositoryConfiguration +{ + Property<String> jdbcDriver(); + Property<String> jdbcUrl(); + Property<String> user(); + Property<String> password(); +} +</pre></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="_named_rdf_queries"></a>Named RDF Queries</h4></div></div></div><p>RDF queries are rather difficult to create manually. Not only do you need to learn a difficult language and a new +syntax, but also need to understand the indexing model that happens in Apache Polygene RDF indexing system.</p><p>Below follows a large set of working queries, which can be used as a starting point. See the testcases for +details of the Entity model that is being indexed.</p><pre class="programlisting brush: java">"PREFIX ns0: <urn:polygene:type:org.apache.polygene.api.identity.HasIdentity#> \n" + + "PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> \n" + + "PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> \n" + "SELECT DISTINCT ?reference\n" + + "WHERE {\n" + "?entityType rdfs:subClassOf <urn:polygene:type:org.apache.polygene.test.model.Person>. \n" + + "?entity rdf:type ?entityType. \n" + "?entity ns0:identity ?reference. \n" + "\n" + "}", // script01 +</pre><pre class="programlisting brush: java">"PREFIX ns1: <urn:polygene:type:org.apache.polygene.test.model.Nameable#> \n" + + "PREFIX ns0: <urn:polygene:type:org.apache.polygene.api.identity.HasIdentity#> \n" + + "PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> \n" + + "PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> \n" + "SELECT DISTINCT ?reference\n" + + "WHERE {\n" + "?entityType rdfs:subClassOf <urn:polygene:type:org.apache.polygene.test.model.Domain>. \n" + + "?entity rdf:type ?entityType. \n" + "?entity ns0:identity ?reference. \n" + "?entity ns1:name ?v0. \n" + + "FILTER (?v0 = \"Gaming\")\n" + "}", // script02 +</pre><pre class="programlisting brush: java">"PREFIX ns0: <urn:polygene:type:org.apache.polygene.api.identity.HasIdentity#> \n" + + "PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> \n" + + "PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> \n" + "SELECT DISTINCT ?reference\n" + + "WHERE {\n" + "?entityType rdfs:subClassOf <urn:polygene:type:org.apache.polygene.test.model.Nameable>. \n" + + "?entity rdf:type ?entityType. \n" + "?entity ns0:identity ?reference. \n" + "\n" + "}", // script03 +</pre><pre class="programlisting brush: java">"PREFIX ns1: <urn:polygene:type:org.apache.polygene.test.model.Person#> \n" + + "PREFIX ns2: <urn:polygene:type:org.apache.polygene.test.model.Nameable#> \n" + + "PREFIX ns0: <urn:polygene:type:org.apache.polygene.api.identity.HasIdentity#> \n" + + "PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> \n" + + "PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> \n" + "SELECT DISTINCT ?reference\n" + + "WHERE {\n" + "?entityType rdfs:subClassOf <urn:polygene:type:org.apache.polygene.test.model.Person>. \n" + + "?entity rdf:type ?entityType. \n" + "?entity ns0:identity ?reference. \n" + + "?entity ns1:placeOfBirth ?v0. \n" + "?v0 ns2:name ?v1. \n" + "FILTER (?v1 = \"Kuala Lumpur\")\n" + "}", // script04 +</pre><pre class="programlisting brush: java">"PREFIX ns1: <urn:polygene:type:org.apache.polygene.test.model.Person#> \n" + + "PREFIX ns2: <urn:polygene:type:org.apache.polygene.test.model.Nameable#> \n" + + "PREFIX ns0: <urn:polygene:type:org.apache.polygene.api.identity.HasIdentity#> \n" + + "PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> \n" + + "PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> \n" + "SELECT DISTINCT ?reference\n" + + "WHERE {\n" + "?entityType rdfs:subClassOf <urn:polygene:type:org.apache.polygene.test.model.Person>. \n" + + "?entity rdf:type ?entityType. \n" + "?entity ns0:identity ?reference. \n" + "?entity ns1:mother ?v0. \n" + + "?v0 ns1:placeOfBirth ?v1. \n" + "?v1 ns2:name ?v2. \n" + "FILTER (?v2 = \"Kuala Lumpur\")\n" + "}", // script05 +</pre><pre class="programlisting brush: java">"PREFIX ns1: <urn:polygene:type:org.apache.polygene.test.model.Person#> \n" + + "PREFIX ns0: <urn:polygene:type:org.apache.polygene.api.identity.HasIdentity#> \n" + + "PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> \n" + + "PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> \n" + "SELECT DISTINCT ?reference\n" + + "WHERE {\n" + "?entityType rdfs:subClassOf <urn:polygene:type:org.apache.polygene.test.model.Person>. \n" + + "?entity rdf:type ?entityType. \n" + "?entity ns0:identity ?reference. \n" + + "?entity ns1:yearOfBirth ?v0. \n" + "FILTER (?v0 >= \"1973\")\n" + "}", // script06 +</pre><pre class="programlisting brush: java">"PREFIX ns1: <urn:polygene:type:org.apache.polygene.test.model.Person#> \n" + + "PREFIX ns2: <urn:polygene:type:org.apache.polygene.test.model.Nameable#> \n" + + "PREFIX ns0: <urn:polygene:type:org.apache.polygene.api.identity.HasIdentity#> \n" + + "PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> \n" + + "PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> \n" + "SELECT DISTINCT ?reference\n" + + "WHERE {\n" + "?entityType rdfs:subClassOf <urn:polygene:type:org.apache.polygene.test.model.Nameable>. \n" + + "?entity rdf:type ?entityType. \n" + "?entity ns0:identity ?reference. \n" + + "?entity ns1:yearOfBirth ?v0. \n" + "?entity ns1:placeOfBirth ?v1. \n" + "?v1 ns2:name ?v2. \n" + + "FILTER ((?v0 >= \"1900\") && (?v2 = \"Penang\"))\n" + "}", // script07 +</pre><pre class="programlisting brush: java">"PREFIX ns1: <urn:polygene:type:org.apache.polygene.test.model.Person#> \n" + + "PREFIX ns0: <urn:polygene:type:org.apache.polygene.api.identity.HasIdentity#> \n" + + "PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> \n" + + "PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> \n" + "SELECT DISTINCT ?reference\n" + + "WHERE {\n" + "?entityType rdfs:subClassOf <urn:polygene:type:org.apache.polygene.test.model.Person>. \n" + + "?entity rdf:type ?entityType. \n" + "?entity ns0:identity ?reference. \n" + + "?entity ns1:yearOfBirth ?v0. \n" + "FILTER ((?v0 = \"1970\") || (?v0 = \"1975\"))\n" + "}", // script08 +</pre><pre class="programlisting brush: java">"PREFIX ns1: <urn:polygene:type:org.apache.polygene.test.model.Person#> \n" + + "PREFIX ns0: <urn:polygene:type:org.apache.polygene.api.identity.HasIdentity#> \n" + + "PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> \n" + + "PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> \n" + "SELECT DISTINCT ?reference\n" + + "WHERE {\n" + "?entityType rdfs:subClassOf <urn:polygene:type:org.apache.polygene.test.model.Female>. \n" + + "?entity rdf:type ?entityType. \n" + "?entity ns0:identity ?reference. \n" + + "?entity ns1:yearOfBirth ?v0. \n" + "FILTER ((?v0 = \"1970\") || (?v0 = \"1975\"))\n" + "}", // script09 +</pre><pre class="programlisting brush: java">"PREFIX ns1: <urn:polygene:type:org.apache.polygene.test.model.Person#> \n" + + "PREFIX ns0: <urn:polygene:type:org.apache.polygene.api.identity.HasIdentity#> \n" + + "PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> \n" + + "PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> \n" + "SELECT DISTINCT ?reference\n" + + "WHERE {\n" + "?entityType rdfs:subClassOf <urn:polygene:type:org.apache.polygene.test.model.Person>. \n" + + "?entity rdf:type ?entityType. \n" + "?entity ns0:identity ?reference. \n" + + "?entity ns1:yearOfBirth ?v0. \n" + "FILTER (!(?v0 = \"1975\"))\n" + "}", // script10 +</pre><pre class="programlisting brush: java">"PREFIX ns1: <urn:polygene:type:org.apache.polygene.test.model.Person#> \n" + + "PREFIX ns0: <urn:polygene:type:org.apache.polygene.api.identity.HasIdentity#> \n" + + "PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> \n" + + "PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> \n" + "SELECT DISTINCT ?reference\n" + + "WHERE {\n" + "?entityType rdfs:subClassOf <urn:polygene:type:org.apache.polygene.test.model.Person>. \n" + + "?entity rdf:type ?entityType. \n" + "?entity ns0:identity ?reference. \n" + + "OPTIONAL {?entity ns1:email ?v0}. \n" + "FILTER (bound(?v0))\n" + "}", // script11 +</pre><pre class="programlisting brush: java">"PREFIX ns1: <urn:polygene:type:org.apache.polygene.test.model.Person#> \n" + + "PREFIX ns0: <urn:polygene:type:org.apache.polygene.api.identity.HasIdentity#> \n" + + "PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> \n" + + "PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> \n" + "SELECT DISTINCT ?reference\n" + + "WHERE {\n" + "?entityType rdfs:subClassOf <urn:polygene:type:org.apache.polygene.test.model.Person>. \n" + + "?entity rdf:type ?entityType. \n" + "?entity ns0:identity ?reference. \n" + + "OPTIONAL {?entity ns1:email ?v0}. \n" + "FILTER (! bound(?v0))\n" + "}", // script12 +</pre><pre class="programlisting brush: java">"PREFIX ns0: <urn:polygene:type:org.apache.polygene.api.identity.HasIdentity#> \n" + + "PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> \n" + + "PREFIX ns1: <urn:polygene:type:org.apache.polygene.test.model.Male#> \n" + + "PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> \n" + "SELECT DISTINCT ?reference\n" + + "WHERE {\n" + "?entityType rdfs:subClassOf <urn:polygene:type:org.apache.polygene.test.model.Person>. \n" + + "?entity rdf:type ?entityType. \n" + "?entity ns0:identity ?reference. \n" + + "OPTIONAL {?entity ns1:wife ?v0}. \n" + "FILTER (bound(?v0))\n" + "}", // script13 +</pre><pre class="programlisting brush: java">"PREFIX ns0: <urn:polygene:type:org.apache.polygene.api.identity.HasIdentity#> \n" + + "PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> \n" + + "PREFIX ns1: <urn:polygene:type:org.apache.polygene.test.model.Male#> \n" + + "PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> \n" + "SELECT DISTINCT ?reference\n" + + "WHERE {\n" + "?entityType rdfs:subClassOf <urn:polygene:type:org.apache.polygene.test.model.Male>. \n" + + "?entity rdf:type ?entityType. \n" + "?entity ns0:identity ?reference. \n" + + "OPTIONAL {?entity ns1:wife ?v0}. \n" + "FILTER (! bound(?v0))\n" + "}", // script14 +</pre><pre class="programlisting brush: java">"PREFIX ns0: <urn:polygene:type:org.apache.polygene.api.identity.HasIdentity#> \n" + + "PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> \n" + + "PREFIX ns1: <urn:polygene:type:org.apache.polygene.test.model.Male#> \n" + + "PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> \n" + "SELECT DISTINCT ?reference\n" + + "WHERE {\n" + "?entityType rdfs:subClassOf <urn:polygene:type:org.apache.polygene.test.model.Person>. \n" + + "?entity rdf:type ?entityType. \n" + "?entity ns0:identity ?reference. \n" + + "OPTIONAL {?entity ns1:wife ?v0}. \n" + "FILTER (! bound(?v0))\n" + "}", // script15 +</pre><pre class="programlisting brush: java">"PREFIX ns1: <urn:polygene:type:org.apache.polygene.test.model.Nameable#> \n" + + "PREFIX ns0: <urn:polygene:type:org.apache.polygene.api.identity.HasIdentity#> \n" + + "PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> \n" + + "PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> \n" + "SELECT DISTINCT ?reference\n" + + "WHERE {\n" + "?entityType rdfs:subClassOf <urn:polygene:type:org.apache.polygene.test.model.Nameable>. \n" + + "?entity rdf:type ?entityType. \n" + "?entity ns0:identity ?reference. \n" + "?entity ns1:name ?v0. \n" + + "\n" + "}", // script16 +</pre><pre class="programlisting brush: java">"PREFIX ns1: <urn:polygene:type:org.apache.polygene.test.model.Nameable#> \n" + + "PREFIX ns0: <urn:polygene:type:org.apache.polygene.api.identity.HasIdentity#> \n" + + "PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> \n" + + "PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> \n" + "SELECT DISTINCT ?reference\n" + + "WHERE {\n" + "?entityType rdfs:subClassOf <urn:polygene:type:org.apache.polygene.test.model.Nameable>. \n" + + "?entity rdf:type ?entityType. \n" + "?entity ns0:identity ?reference. \n" + "?entity ns1:name ?v0. \n" + + "\n" + "} ", // script17 +</pre><pre class="programlisting brush: java">"PREFIX ns1: <urn:polygene:type:org.apache.polygene.test.model.Nameable#> \n" + + "PREFIX ns0: <urn:polygene:type:org.apache.polygene.api.identity.HasIdentity#> \n" + + "PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> \n" + + "PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> \n" + "SELECT DISTINCT ?reference\n" + + "WHERE {\n" + "?entityType rdfs:subClassOf <urn:polygene:type:org.apache.polygene.test.model.Nameable>. \n" + + "?entity rdf:type ?entityType. \n" + "?entity ns0:identity ?reference. \n" + "?entity ns1:name ?v0. \n" + + "\n" + "}\n", // script18 +</pre><pre class="programlisting brush: java">"PREFIX ns1: <urn:polygene:type:org.apache.polygene.test.model.Nameable#> \n" + + "PREFIX ns0: <urn:polygene:type:org.apache.polygene.api.identity.HasIdentity#> \n" + + "PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> \n" + + "PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> \n" + "SELECT DISTINCT ?reference\n" + + "WHERE {\n" + "?entityType rdfs:subClassOf <urn:polygene:type:org.apache.polygene.test.model.Nameable>. \n" + + "?entity rdf:type ?entityType. \n" + "?entity ns0:identity ?reference. \n" + "?entity ns1:name ?v0. \n" + + "FILTER (?v0 > \"D\")\n" + "} ", // script19 +</pre><pre class="programlisting brush: java">"PREFIX ns1: <urn:polygene:type:org.apache.polygene.test.model.Person#> \n" + + "PREFIX ns2: <urn:polygene:type:org.apache.polygene.test.model.Nameable#> \n" + + "PREFIX ns0: <urn:polygene:type:org.apache.polygene.api.identity.HasIdentity#> \n" + + "PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> \n" + + "PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> \n" + "SELECT DISTINCT ?reference\n" + + "WHERE {\n" + "?entityType rdfs:subClassOf <urn:polygene:type:org.apache.polygene.test.model.Person>. \n" + + "?entity rdf:type ?entityType. \n" + "?entity ns0:identity ?reference. \n" + + "?entity ns1:yearOfBirth ?v0. \n" + "?entity ns2:name ?v1. \n" + "FILTER (?v0 > \"1973\")\n" + "}\n" + , // script20 +</pre><pre class="programlisting brush: java">"PREFIX ns1: <urn:polygene:type:org.apache.polygene.test.model.Person#> \n" + + "PREFIX ns2: <urn:polygene:type:org.apache.polygene.test.model.Nameable#> \n" + + "PREFIX ns0: <urn:polygene:type:org.apache.polygene.api.identity.HasIdentity#> \n" + + "PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> \n" + + "PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> \n" + "SELECT DISTINCT ?reference\n" + + "WHERE {\n" + "?entityType rdfs:subClassOf <urn:polygene:type:org.apache.polygene.test.model.Person>. \n" + + "?entity rdf:type ?entityType. \n" + "?entity ns0:identity ?reference. \n" + + "?entity ns1:placeOfBirth ?v0. \n" + "?v0 ns2:name ?v1. \n" + "?entity ns1:yearOfBirth ?v2. \n" + "\n" + + "}", // script21 +</pre><pre class="programlisting brush: java">"PREFIX ns1: <urn:polygene:type:org.apache.polygene.test.model.Nameable#> \n" + + "PREFIX ns0: <urn:polygene:type:org.apache.polygene.api.identity.HasIdentity#> \n" + + "PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> \n" + + "PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> \n" + "SELECT DISTINCT ?reference\n" + + "WHERE {\n" + "?entityType rdfs:subClassOf <urn:polygene:type:org.apache.polygene.test.model.Nameable>. \n" + + "?entity rdf:type ?entityType. \n" + "?entity ns0:identity ?reference. \n" + "?entity ns1:name ?v0. \n" + + "FILTER regex(?v0,\"J.*Doe\")\n" + "}", // script22 +</pre><pre class="programlisting brush: java">"PREFIX ns1: <urn:polygene:type:org.apache.polygene.test.model.Nameable#> \n" + + "PREFIX ns0: <urn:polygene:type:org.apache.polygene.api.identity.HasIdentity#> \n" + + "PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> \n" + + "PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> \n" + "SELECT DISTINCT ?reference\n" + + "WHERE {\n" + "?entityType rdfs:subClassOf <urn:polygene:type:org.apache.polygene.test.model.Domain>. \n" + + "?entity rdf:type ?entityType. \n" + "?entity ns0:identity ?reference. \n" + "?entity ns1:name ?v0. \n" + + "FILTER (?v0 = ?domain)\n" + "}" // script24 +</pre></div></div><footer xmlns="" xmlns:exsl="http://exslt.org/common" class="footer"><div class="container"><p class="text-muted">Copyright © 2017 The Apache Software Foundation, Licensed under the <a href="http://www.apache.org/licenses/" target="_blank">Apache License, Version 2.0</a>. + Apache Polygene, Polygene, Apache, the Apache feather logo, and the Apache Polygene project logo are + trademarks of The Apache Software Foundation. + All other marks mentioned may be trademarks or registered trademarks of their respective owners. + </p></div></footer><script xmlns="" xmlns:exsl="http://exslt.org/common" src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script><script xmlns="" xmlns:exsl="http://exslt.org/common">window.jQuery || document.write('<script src="js/jquery-1.6.4.min.js"></script>')</script><script xmlns="" xmlns:exsl="http://exslt.org/common" src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.4.0/js/tether.min.js" integrity="sha384-DztdAPBWPRXSA/3eYEEUWrWCy7G5KFbe8fFjk5JAIxUYHKkDx6Qin1DkWx51bBrb" crossorigin="anonymous"></script><script xmlns="" xmlns:exsl="http://exslt.org/common" src="bootstrap-3.3.7/js/bootstrap.min.js"></script><script xmlns="" xmlns:exsl="http://exslt.org/common" src="js/ie10-viewport-bug-workaround.js"></script></body></html> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/polygene-website/blob/bb9c9971/content/java/2017/extension-index-solr.html ---------------------------------------------------------------------- diff --git a/content/java/2017/extension-index-solr.html b/content/java/2017/extension-index-solr.html new file mode 100644 index 0000000..8d26e84 --- /dev/null +++ b/content/java/2017/extension-index-solr.html @@ -0,0 +1,105 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Apache Solr Index/Query</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1" /><link rel="home" href="index.html" title="" /><link rel="up" href="extensions.html" title="Extensions" /><link rel="prev" href="extension-index-rdf.html" title="OpenRDF Index/Query" /><link rel="next" href="extension-indexing-sql.html" title="SQL Index/Query" /> + + + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> + <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags --> + <meta name="description" content=""> + <meta name="author" content=""> + <link rel="icon" href="../../favicon.ico"> + + <title>Starter Template for Bootstrap</title> + + <!-- Bootstrap core CSS --> + <link href="bootstrap-3.3.7/css/bootstrap.min.css" rel="stylesheet"> + + <!-- IE10 viewport hack for Surface/desktop Windows 8 bug --> + <link href="css/ie10-viewport-bug-workaround.css" rel="stylesheet"> + + <!-- Custom styles for this template --> + <link href="css/polygene-ng.css" rel="stylesheet"> + + <!-- Just for debugging purposes. Don't actually copy these 2 lines! --> + <!--[if lt IE 9]><script src="../../assets/js/ie8-responsive-file-warning.js"></script><![endif]--> + <script src="js/ie-emulation-modes-warning.js"></script> + + <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries --> + <!--[if lt IE 9]> + <script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> + <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> + <![endif]--> + +<!-- favicon --> + +<link rel="shortcut icon" href="http://polygene.apache.org/favicon.ico" type="image/vnd.microsoft.icon" /> +<link rel="icon" href="http://polygene.apache.org/favicon.ico" type="image/x-icon" /> + +<!-- style --> + +<link href="css/shCore.css" rel="stylesheet" type="text/css" /> +<link href="css/shCoreEclipse.css" rel="stylesheet" type="text/css" /> +<link href="css/shThemeEclipse.css" rel="stylesheet" type="text/css" /> +<!--<link href="css/polygene.css" rel="stylesheet" type="text/css" />--> + +<!-- Syntax Highlighter --> + +<script type="text/javascript" src="js/shCore.js"></script> +<script type="text/javascript" src="js/shBrushJava.js"></script> +<script type="text/javascript" src="js/shBrushScala.js"></script> +<script type="text/javascript" src="js/shBrushJScript.js"></script> +<script type="text/javascript" src="js/shBrushBash.js"></script> +<script type="text/javascript" src="js/shBrushPlain.js"></script> +<script type="text/javascript" src="js/shBrushXml.js"></script> +<script type="text/javascript" src="js/shBrushGroovy.js"></script> +<script type="text/javascript" src="js/shBrushPython.js"></script> +<script type="text/javascript" src="js/shBrushRuby.js"></script> +<script type="text/javascript" src="js/shBrushCSharp.js"></script> + +<script type="text/javascript"> + SyntaxHighlighter.defaults['tab-size'] = 4; + SyntaxHighlighter.defaults['gutter'] = false; + SyntaxHighlighter.defaults['toolbar'] = false; + SyntaxHighlighter.all() +</script> + +<!-- JQuery --> + +<script type="text/javascript" src="js/jquery-1.6.4.min.js"></script> + +<!-- Image Scaler --> + +<script type="text/javascript" src="js/imagescaler.js"></script> + +<!-- Table Styler --> + +<script type="text/javascript" src="js/tablestyler.js"></script> + +<!-- Apache Polygene WebSite Progressive Enhancement --> + +<link href="css/progressive-enhancement.css" rel="stylesheet" type="text/css" /> +<script type="text/javascript" src="js/jquery.scrollTo-1.4.2.js"></script> +<script type="text/javascript" src="js/progressive-enhancement.js"></script> + +<!-- Analytics --> + <script type="text/javascript"> + var _gaq = _gaq || []; + _gaq.push(['_setAccount', 'UA-62007352-1']); + _gaq.push(['_trackPageview']); + + (function() { + var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; + ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; + var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); + })(); + </script> + + </head><body><div xmlns="" xmlns:exsl="http://exslt.org/common" class="logo"><a href="index.html"><img src="images/logo-standard.png" /></a></div><nav xmlns="" xmlns:exsl="http://exslt.org/common" class="navbar navbar-inverse navbar-fixed-top"><div class="container"><div class="navbar-header"><a class="navbar-brand" href="#">Apache<br />Polygene + </a></div><div id="navbar" class="collapse navbar-collapse"><span class="nav navbar-nav"><div xmlns="http://www.w3.org/1999/xhtml" class="toc"><dl class="toc"><dt><span class="section"><a href="index.html#home">Polygeneâ¢</a></span></dt><dt><span class="section"><a href="intro.html">Introduction</a></span></dt><dt><span class="section"><a href="tutorials.html">Tutorials</a></span></dt><dt><span class="section"><a href="javadocs.html">Javadoc</a></span></dt><dt><span class="section"><a href="samples.html">Samples</a></span></dt><dt><span class="section"><a href="core.html">Core</a></span></dt><dt><span class="section"><a href="libraries.html">Libraries</a></span></dt><dt><span class="section"><span xmlns="" href="extensions.html">Extensions</span></span></dt><dt><span class="section"><a href="tools.html">Tools</a></span></dt><dt><span class="section"><a href="glossary.html">Glossary </a></span></dt></dl></div></span></div></div></nav><div xmlns="" xmlns:exsl="http://exslt .org/common" class="sidenav"><div xmlns="http://www.w3.org/1999/xhtml" class="toc"><dl class="toc"><dt><span class="section"><a href="extensions.html#_overview_7">Overview</a></span></dt><dt><span class="section"><a href="extension-serialization-javaxjson.html">javax.json serialization</a></span></dt><dt><span class="section"><a href="extension-serialization-javaxxml.html">javax.xml serialization</a></span></dt><dt><span class="section"><a href="extension-serialization-messagepack.html">MessagePack serialization</a></span></dt><dt><span class="section"><a href="extension-es-memory.html">Memory EntityStore</a></span></dt><dt><span class="section"><a href="extension-es-file.html">File EntityStore</a></span></dt><dt><span class="section"><a href="extension-es-geode.html">Geode EntityStore</a></span></dt><dt><span class="section"><a href="extension-es-hazelcast.html">Hazelcast EntityStore</a></span></dt><dt><span class="section"><a href="extension-es-jclouds.html">JClouds EntityStore</a ></span></dt><dt><span class="section"><a href="extension-es-jdbm.html">JDBM >EntityStore</a></span></dt><dt><span class="section"><a >href="extension-es-leveldb.html">LevelDB EntityStore</a></span></dt><dt><span >class="section"><a href="extension-es-mongodb.html">MongoDB >EntityStore</a></span></dt><dt><span class="section"><a >href="extension-es-preferences.html">Preferences >EntityStore</a></span></dt><dt><span class="section"><a >href="extension-es-redis.html">Redis EntityStore</a></span></dt><dt><span >class="section"><a href="extension-es-riak.html">Riak >EntityStore</a></span></dt><dt><span class="section"><a >href="extension-es-sql.html">SQL EntityStore</a></span></dt><dt><span >class="section"><a href="extension-cache-ehcache.html">Ehcache >Cache</a></span></dt><dt><span class="section"><a >href="extension-cache-memcache.html">Memcache Cache</a></span></dt><dt><span >class="section"><a href="extension-index-elasticsearch.html">ElasticSearch >Index/Query</a></span></dt><dt><span class="se ction"><a href="extension-index-rdf.html">OpenRDF Index/Query</a></span></dt><dt><span class="section"><span xmlns="" href="extension-index-solr.html">Apache Solr Index/Query</span></span></dt><dt><span class="section"><a href="extension-indexing-sql.html">SQL Index/Query</a></span></dt><dt><span class="section"><a href="extension-metrics-metrics.html">Codahale Metrics</a></span></dt><dt><span class="section"><a href="extension-migration.html">Migration</a></span></dt><dt><span class="section"><a href="extension-reindexer.html">Reindexer</a></span></dt></dl></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="extension-index-solr"></a>Apache Solr Index/Query</h3></div></div></div><p class="remark"><em><span class="comment"></span></em></p><p class="devstatus-code-beta">code</p><p class="devstatus-docs-brief">docs</p><p class="devstatus-tests-some">tests</p><p>Index/Query services backed by an embedded <a class="ulink" href="http://lucene.apache. org/solr/" target="_top">Apache Solr Search</a>.</p><div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Warning</h3><p>Solr Index/Query service do not support the Polygene⢠Query API but only native Solr queries.</p></div><div class="table"><a id="idm6529"></a><p class="title"><strong>Table 67. Artifact</strong></p><div class="table-contents"><table summary="Artifact" border="1"><colgroup><col class="col_1" /><col class="col_2" /><col class="col_3" /></colgroup><thead><tr><th align="left" valign="top">Group ID</th><th align="left" valign="top">Artifact ID</th><th align="left" valign="top">Version</th></tr></thead><tbody><tr><td align="left" valign="top"><p>org.apache.polygene.extensions</p></td><td align="left" valign="top"><p>org.apache.polygene.extension.indexing-solr</p></td><td align="left" valign="top"><p>0</p></td></tr></tbody></table></div></div><br class="table-break" /><div class="section"><div class="titlepage"><div><div><h4 class="t itle"><a id="_assembly_25"></a>Assembly</h4></div></div></div><p>Assembly is done using the provided Assembler:</p><pre class="programlisting brush: java">new SolrIndexingAssembler().assemble( module ); +</pre></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="_configuration_20"></a>Configuration</h4></div></div></div><p>Apache Solr Index/Query exclusively use the <a class="xref" href="library-fileconfig.html" title="FileConfig">FileConfig Library</a> to locate the directory where it persists its index.</p><p>You must provide <code class="literal">solrconfig.xml</code> and <code class="literal">schema.xml</code> files either from the classpath or in the configuration directory of +the <a class="xref" href="library-fileconfig.html" title="FileConfig">FileConfig Library</a>.</p></div></div><footer xmlns="" xmlns:exsl="http://exslt.org/common" class="footer"><div class="container"><p class="text-muted">Copyright © 2017 The Apache Software Foundation, Licensed under the <a href="http://www.apache.org/licenses/" target="_blank">Apache License, Version 2.0</a>. + Apache Polygene, Polygene, Apache, the Apache feather logo, and the Apache Polygene project logo are + trademarks of The Apache Software Foundation. + All other marks mentioned may be trademarks or registered trademarks of their respective owners. + </p></div></footer><script xmlns="" xmlns:exsl="http://exslt.org/common" src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script><script xmlns="" xmlns:exsl="http://exslt.org/common">window.jQuery || document.write('<script src="js/jquery-1.6.4.min.js"></script>')</script><script xmlns="" xmlns:exsl="http://exslt.org/common" src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.4.0/js/tether.min.js" integrity="sha384-DztdAPBWPRXSA/3eYEEUWrWCy7G5KFbe8fFjk5JAIxUYHKkDx6Qin1DkWx51bBrb" crossorigin="anonymous"></script><script xmlns="" xmlns:exsl="http://exslt.org/common" src="bootstrap-3.3.7/js/bootstrap.min.js"></script><script xmlns="" xmlns:exsl="http://exslt.org/common" src="js/ie10-viewport-bug-workaround.js"></script></body></html> \ No newline at end of file
