text:
This section describes how to administer the Virtuoso server from the Conductor interface. It primarily allow users to administer the server while giving access to many of the features that Virtuoso has to offer providing many conceptual demonstrations and introductions.
Most of the pages from the administration interface are provided to help administrators quickly and easily tune the Virtuoso server or navigate the various interfaces and features that Virtuoso has to offer.
The Main Navigation Bar provides different tabs that allow you to administrate your Virtuoso server or use one of the provided samples.
Figure: 18.104.22.168. Navigation
From "System Admin" you can view and change the Conductor Dashboard, manage user accounts; scheduler; Virtuoso Server parameter and Access Control Settings. You can also install /upgrade /uninstall Virtuoso packages and Monitor Virtuoso Server Statistics.
Figure: 18.104.22.168. System Administration
From "Database" you can administrate your database, manage the Virtuoso Relational Database System, administrate views, tables, stored procedures, trigger definitions, user define types, backups.
Figure: 18.104.22.168. Database Administration
From "Replication" you can create Snapshot Replications to copy sections of the Database to remote locations or use Transactional Replication to keep Virtuoso Servers in sync over a definable interval.
Figure: 126.96.36.199. Replication
From "Web Application Server" you can configure Virtuoso's WebDAV, and HTTP Server functionality, which includes management of Virtual Domains & Directories.
Figure: 184.108.40.206. Web Application Server Administration
From "XML" you can query Relational and XML Data using SQL, XQUERY, XPATH, and FREE TEXT.
Figure: 220.127.116.11. Query Tools
From "Web Services" you can add/ edit/ remove Web Services Endpoints, perform WSDL Import/Export, manage your BPEL processes.
Figure: 220.127.116.11. Web Services
From "Linked Data" tab you can execute/save/load SPARQL queries, add/edit RDF Mapping, make statistics, manage graphs, import schemas and define namespaces, generated Linked Data Views, upload to the Quad Store:
Figure: 188.8.131.52. RDF
Virtuoso's NNTP support which includes linking third-party NNTP servers into Virtuoso and controlling access to these servers.
Figure: 220.127.116.11. NNTP Administration
The runtime hosting interfaces require Mono/CLR and Java extension servers.
You can view Loaded Modules list and each Module you can "Unload". Also you can browse for Module and examine its content.
Figure: 126.96.36.199.1. Loaded Modules
To import files click the "Browse" button and select the class you want to import. Then click the "Add to list" button.
Figure: 188.8.131.52.1. Import Files
In order to change grants to a particular Module, select the desired grant value from the "Grant to" list and click the "Add" button.
Figure: 22.214.171.124.1. Modules Grants
Figure: 220.127.116.11.1.1. Web Robot - Crawl Job
Figure: 22.214.171.124.1.1. Web Robot - Crawl Job
Figure: 18.104.22.168.1.3. Web Robot - Queues
Figure: 126.96.36.199.1.4. Web Robot - Retrieved Links
When you click the "Export" link for a retrieved collection, you will be presented with a form for selecting the export target location. Choose the export method: either File System or DAV by clicking the "External WebDAV Server URL" check-box. This lets you indicate to the remote target where to store the exported content. Then type the target URL to an existing location on the server. Finally press the Export button to export. A confirmation will be supplied once the operation is complete.
Figure: 184.108.40.206.1.5. Web Robot - Exporting Content
If is not checked the "External WebDAV Server URL" check-box, i.e. you are selecting the filesystem method, then you are restricted to Virtuoso targets. However WebDAV methods can be applied to any WebDAV server. WebDAV methods assume that the target is publicly available for writing.
Transforming data sources into RDF "on the fly" is sufficient for many use cases, but there are times when the volume or sheer nature of a data source makes batch-loading necessary.
For example, Freebase offers RDF representations of its data, but it doesn't publish RDF dumps; even if it did, such dumps would usually be outdated by the time they were loaded.
One practical solution takes the form of a scheduled crawl of specific resources of interest.
The Virtuoso Conductor can be used to set up various Content Crawler Jobs:
See details how to use Virtuoso Crawler for including the Sponger options so you crawl non-RDF but get RDF and this to the Quad Store.
The following section describes how to set up a crawler job for getting content of a basic Sitemap where the source includes RDFa.
Figure: 22.214.171.124.18.104.22.168. Setting up a Content Crawler Job to Retrieve Sitemaps
Figure: 188.8.131.52.18.104.22.168. Setting up a Content Crawler Job to Retrieve Sitemaps
Figure: 184.108.40.206.188.8.131.52. Setting up a Content Crawler Job to Retrieve Sitemaps
Virtuoso Sample Example
Figure: 188.8.131.52.188.8.131.52. Setting up a Content Crawler Job to Retrieve Sitemaps
Figure: 18.104.22.168.22.214.171.124. Setting up a Content Crawler Job to Retrieve Sitemaps
Figure: 188.8.131.52.188.8.131.52. Setting up a Content Crawler Job to Retrieve Sitemaps
Figure: 18.104.22.168.184.108.40.206. Setting up a Content Crawler Job to Retrieve Sitemaps
Figure: 126.96.36.199.18.104.22.168. Setting up a Content Crawler Job to Retrieve Sitemaps
Figure: 220.127.116.11.18.104.22.168. Setting up a Content Crawler Job to Retrieve Sitemaps
The following section describes how to set up crawler job for getting Semantic Sitemap's content: a variation of standard sitemap:
Figure: 18.104.22.168.126.96.36.199. Setting up a Content Crawler Job to Retrieve Semantic Sitemap content
Figure: 188.8.131.52.188.8.131.52. Setting up a Content Crawler Job to Retrieve Semantic Sitemap content
Figure: 18.104.22.168.184.108.40.206. Setting up a Content Crawler Job to Retrieve Semantic Sitemap content
Semantic Web Sitemap Example
-- Example of Extract Function use WS; create procedure WS.WS.SITEMAP_BB_PARSE ( in _host varchar, in _url varchar, in _root varchar, inout _content varchar, in _c_type varchar := null, in lev int := 0)) { --pl_debug+ declare xt, xp, graph any; declare inx int; -- dbg_obj_print ('WS.WS.GET_URLS_SITEMAP', _url); declare exit handler for sqlstate '*' { -- dbg_obj_print (__SQL_MESSAGE); return; }; if (_url like '%.xml.gz') { _content := gzip_uncompress (_content); } if (_url like '%.xml' or _url like '%.xml.gz' or _url like '%.rdf') { xt := xtree_doc (_content); if (xpath_eval ('/urlset/dataset', xt) is not null) { xp := xpath_eval ('/urlset/dataset/dataDumpLocation/text()', xt, 0); graph := cast (xpath_eval ('/urlset/dataset/datasetURI/text()', xt) as varchar); if (length (graph)) update VFS_SITE set VS_UDATA = serialize (vector ('graph', graph)) where VS_HOST = _host and VS_ROOT = _root; inx := 0; foreach (any u in xp) do { declare hf, host, url varchar; u := cast (u as varchar); hf := WS.WS.PARSE_URI (u); host := hf[1]; --dbg_obj_print ('WS.WS.GET_URLS_SITEMAP PARSE', u); url := hf[2]; insert soft VFS_QUEUE (VQ_HOST, VQ_TS, VQ_URL, VQ_STAT, VQ_ROOT, VQ_OTHER) values (host, now (), url, 'waiting', _root, NULL); if (row_count () = 0) update VFS_QUEUE set VQ_STAT = 'waiting', VQ_TS = now () where VQ_HOST = host and VQ_ROOT = _root and VQ_URL = url; inx := inx + 1; } } if (xpath_eval ('/sitemapindex/sitemap/loc', xt) is not null) { xp := xpath_eval ('/sitemapindex/sitemap/loc/text()', xt, 0); inx := 0; foreach (any u in xp) do { declare hf, host, url varchar; u := trim (cast (u as varchar)); hf := WS.WS.PARSE_URI (u); host := hf[1]; -- dbg_obj_print ('WS.WS.GET_URLS_SITEMAP', host, _host); url := hf[2]; if (url <> '') { insert soft VFS_QUEUE (VQ_HOST, VQ_TS, VQ_URL, VQ_STAT, VQ_ROOT, VQ_OTHER) values (host, now (), url, 'waiting', _root, NULL); if (row_count () = 0) update VFS_QUEUE set VQ_STAT = 'waiting', VQ_TS = now () where VQ_HOST = host and VQ_ROOT = _root and VQ_URL = url; inx := inx + 1; } } } } commit work; } ; -- Example of Store Function use WS; create procedure WS.WS.SITEMAP_BB_STORE ( in _host varchar, in _url varchar, in _root varchar, inout _content varchar, in _s_etag varchar, in _c_type varchar, in store_flag int := 1, in udata any := null, in lev int := 0) { --pl_debug+ declare graph varchar; -- dbg_obj_print ('WS.WS.SITEMAP_BB_STORE', _url, udata); if (isarray (udata)) graph := get_keyword ('graph', udata); else graph := null; if (graph is not null and _url like '%.rdf') { DB.DBA.RDF_LOAD_RDFXML (_content, graph, graph); DB.DBA.VT_INC_INDEX_DB_DBA_RDF_OBJ (); } insert soft VFS_URL (VU_HOST, VU_URL, VU_CHKSUM, VU_CPTIME, VU_ETAG, VU_ROOT) values (_host, _url, md5 (_content), now (), _s_etag, _root); if (row_count () = 0) update VFS_URL set VU_CHKSUM = md5 (_content), VU_CPTIME = now (), VU_ETAG = _s_etag where VU_HOST = _host and VU_URL = _url and VU_ROOT = _root; commit work; } ;
Figure: 22.214.171.124.184.108.40.206. Setting up a Content Crawler Job to Retrieve Semantic Sitemap content
Figure: 220.127.116.11.22.214.171.124. Setting up a Content Crawler Job to Retrieve Semantic Sitemap content
Figure: 184.108.40.206.220.127.116.11. Setting up a Content Crawler Job to Retrieve Semantic Sitemap content
Figure: 18.104.22.168.220.127.116.11. Setting up a Content Crawler Job to Retrieve Semantic Sitemap content
Figure: 184.108.40.206.184.108.40.206. Setting up a Content Crawler Job to Retrieve Semantic Sitemap content
Figure: 220.127.116.11.220.127.116.11. Setting up a Content Crawler Job to Retrieve Semantic Sitemap content
Figure: 126.96.36.199.126.96.36.199. Setting up a Content Crawler Job to Retrieve Semantic Sitemap content
SELECT ?g FROM <http://host:port/> WHERE { graph ?g { ?s ?p ?o } . FILTER ( ?g LIKE <http://virtuoso.openlinksw.com/%> ) }
Figure: 18.104.22.168.188.8.131.52. Setting up a Content Crawler Job to Retrieve Semantic Sitemap content
Figure: 22.214.171.124.220.127.116.11. Setting up a Content Crawler Job to Retrieve Semantic Sitemap content
The following section describes how to set up crawler job for getting directories using Conductor.
Figure: 220.127.116.11.188.8.131.52. Setting up a Content Crawler Job to Retrieve Content from Specific Directories
Figure: 126.96.36.199.126.96.36.199. Setting up a Content Crawler Job to Retrieve Content from Specific Directories
Figure: 220.127.116.11.126.96.36.199. Setting up a Content Crawler Job to Retrieve Content from Specific Directories
UDA WebSite
Figure: 220.127.116.11.126.96.36.199. Setting up a Content Crawler Job to Retrieve Content from Specific Directories
Figure: 22.214.171.124.184.108.40.206. Setting up a Content Crawler Job to Retrieve Content from Specific Directories
Figure: 188.8.131.52.220.127.116.11. Setting up a Content Crawler Job to Retrieve Content from Specific Directories
Figure: 188.8.131.52.22.214.171.124. Setting up a Content Crawler Job to Retrieve Content from Specific Directories
Figure: 18.104.22.168.188.8.131.52. Setting up a Content Crawler Job to Retrieve Content from Specific Directories
Figure: 126.96.36.199.220.127.116.11. Setting up a Content Crawler Job to Retrieve Content from Specific Directories
This section demonstrates populating the Virtuoso Quad Store using ATOM feed.
Populating the Virtuoso Quad Store can be done in different ways Virtuoso supports. The Conductor -> Content Import UI offers plenty of options, one of which is the XPath expression for crawling RDF resources URLs and this feature is a powerful and easy-to-use for managing the Quad Store.
To populate the Virtuoso Quad Store, in this Guide we will use a XPAth expression for the URLs of the RDF resources references in a given ATOM feed. For ex. this one of the "National Bibliography" Store.
Figure: 188.8.131.52.22.214.171.124. Crawling ATOM feed
Figure: 220.127.116.11.184.108.40.206. Crawling ATOM feed
Note: the entered URL will be the graph URI for storing the imported RDF data. You can also set it explicitly by entering another graph URI in the "If Graph IRI is unassigned use this Data Source URL:" shown as option in this form.
Figure: 18.104.22.168.220.127.116.11. Crawling ATOM feed
Figure: 220.127.116.11.22.214.171.124. Crawling ATOM feed
Figure: 220.127.116.11.22.214.171.124. Crawling ATOM feed
Figure: 126.96.36.199.220.127.116.11. Crawling ATOM feed
Figure: 126.96.36.199.126.96.36.199. Crawling ATOM feed
Figure: 22.214.171.124.220.127.116.11. Crawling ATOM feed
SELECT * FROM <http://data.libris.kb.se/nationalbibliography/feed/> WHERE { ?s ?p ?o }
Figure: 18.104.22.168.126.96.36.199. Crawling ATOM feed
Figure: 184.108.40.206.22.214.171.124. Crawling ATOM feed
The following step-by section walks you through the process of:
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX owl: <http://www.w3.org/2002/07/owl#> PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> PREFIX foaf: <http://xmlns.com/foaf/0.1/> PREFIX dcterms: <http://purl.org/dc/terms/> PREFIX scovo: <http://purl.org/NET/scovo#> PREFIX void: <http://rdfs.org/ns/void#> PREFIX akt: <http://www.aktors.org/ontology/portal#> SELECT DISTINCT ?endpoint WHERE { ?ds a void:Dataset . ?ds void:sparqlEndpoint ?endpoint }
$ curl "http://void.rkbexplorer.com/sparql/?query=PREFIX+foaf%3A+%3Chttp%3A%2F%2Fxmlns.com%2Ffoaf%2F0.1%2F%3E+%0D%0APREFIX+void %3A+++++%3Chttp%3A%2F%2Frdfs.org%2Fns%2Fvoid%23%3E++%0D%0ASELECT+distinct+%3Furl++WHERE+%7B+%3Fds+a+void%3ADataset+%3B+foaf%3Ah omepage+%3Furl+%7D%0D%0A&format=sparql" <?xml version="1.0"?> <sparql xmlns="http://www.w3.org/2005/sparql-results#"> <head> <variable name="url"/> </head> <results ordered="false" distinct="true"> <result> <binding name="url"><uri>http://kisti.rkbexplorer.com/</uri></binding> </result> <result> <binding name="url"><uri>http://epsrc.rkbexplorer.com/</uri></binding> </result> <result> <binding name="url"><uri>http://test2.rkbexplorer.com/</uri></binding> </result> <result> <binding name="url"><uri>http://test.rkbexplorer.com/</uri></binding> </result> ... ... ... </results> </sparql>
Figure: 126.96.36.199.22.214.171.124. Crawling SPARQL Endpoints
Figure: 184.108.40.206.18.104.22.168. Crawling SPARQL Endpoints
Figure: 188.8.131.52.184.108.40.206.1. Crawling SPARQL Endpoints
Figure: 22.214.171.124.22.214.171.124.1. Crawling SPARQL Endpoints
Figure: 22.214.171.124.126.96.36.199. Crawling SPARQL Endpoints
Figure: 18.104.22.168.18.104.22.168. Crawling SPARQL Endpoints
Figure: 184.108.40.206.126.96.36.199. Crawling SPARQL Endpoints
Figure: 18.104.22.168.184.108.40.206. Crawling SPARQL Endpoints
Figure: 184.108.40.206.22.214.171.124. Crawling SPARQL Endpoints
Figure: 18.104.22.168.220.127.116.11. Crawling SPARQL Endpoints
SELECT * FROM <http://void.collection> WHERE { ?s ?p ?o }
Figure: 184.108.40.206.188.8.131.52. Crawling SPARQL Endpoints
Figure: 126.96.36.199.188.8.131.52. Crawling SPARQL Endpoints
From "System Admin" -> Security -> "Access Controls" you can manage Rules and ACL respectively for HTTP, News, Proxy. The tabs PSH and PSH-SSL are available only when the pubsubhub_dav.vad is installed.
Figure: 184.108.40.206.1. Access Control Lists
For each of the tabs "HTTP", "NEWS", "PROXY" the created rules will be shown in a list with Filter, Access, Destination, Object, Mode, Rate values. You can also add/delete rules, re-arrange rules order.
Figure: 18.104.22.168.2. Access Control List for HTTP
Click the link "Edit" for a rule. Then specify the filter and access values.
Figure: 18.104.22.168.3. Access Control Lists
From "Web Services" / "WSDL Import/Export" you can provide a URL to a WSDL description. In return Virtuoso will automatically provide a wrapper for the services available, hence stored procedures and user-defined types that are callable within Virtuoso while the processing and mechanics of the services are actually handled at the source.
Figure: 220.127.116.11.1. WSDL Import
After Virtuoso examines the supplied URL to a WSDL you are presented with the source code for the PL wrappers and Virtuoso user-defined types to be created. You have the chance to edit the code for more specific needs and then you can either save this to a file for later work, or execute it in Virtuoso to create the procedures and types.
Figure: 188.8.131.52.2. WSDL Import
Any errors in the code will be highlighted if you try and execute it.
If you wish to save the file the appropriate file system ACLs must be in place for the destination.
DAV, or WebDAV, is a protocol for Web-based Distributed Authoring and Versioning. The location where content items are placed is called the repository. Content elements are called documents, corresponding to files, and folders/collections, corresponding to directories. Collectively these documents and folders (collections) are known as resources.
Virtuoso implements the DAV protocol, allowing you to create and manage resources either directly through repository manipulations or indirectly, through a variety of WebDAV services.
To make sure that when Virtuoso serves files to client user agents the type of file is conveyed properly so that the right application can be used with that file a list or file types are maintained in the server. This list is used when sending any content via the HTTP server which include content in DAV and under VSP.
Figure: 184.108.40.206.1. DAV Resource Types
The Web Application Server/Content Management/Resource Types page shows the list of currently defined resource types in the Virtuoso server. You can edit or remove these types by using the action links on the right most column of the list next to the type applicable.
Add new types by typing the details into the fields provided and pressing the Save button.
The content management page gives you an interface to the WebDAV repository resources. From here you can navigate or create directories, commonly referred to as collections or folders in DAV, alter properties, upload or remove files, or edit documents.
The Repository tab lists the current location within the tree and the current login name. The root of the repository is usually /DAV/.
Figure: 18.104.22.168.1. Content Management
Resource names are given with collection (folder) names listed first, then individual documents. Permissions on resources are presented in a style similar to Unix, with (r)ead, (w)rite, and e(x)ecute permissions listed for the resource owner (the user), the resource's group, and for the general public. If a permission is present, the letter is shown; if not, it is replaced with a dash.
Unlike Unix, the Repository does not use the designation 'd' for directories, which in DAV are more commonly referred to as collections. Collections are distinguished by a different icon - a folder-like icon - and by having the type named "collection".
In addition, the permissions string has a trailing letter designating the indexing status of the resource. This letter is 'n' to designate that indexing is off, 'r' for recursive indexing, and 't' for direct indexing.
By default, the user and group of a DAV resource are those set by the service that created the resource, or they are the ID and primary group of the user who was logged in when the resource was created.
The size of a document resource is its size in disk bytes. Note that this does not necessarily correspond to characters displayed on the screen because of encodings. For example, the HTML token &-a-m-p-semicolon is five bytes on disk but displays as a single screen character.
The type of a resource is always "collection" for collections (folder). For documents it can be any of the known resource types (see Resource Types below). The resource type is usually based on the resource's extension; for example, .xml files are usually assumed to be text/xml. If Virtuoso does not recognize the extension of a resource, it assigns the default type of application/octet-stream.
Within the Content Management screen, you can change any of the properties of a resource, other than its name, by selecting the resource via the checkbox to the left of the icon, and pressing the "Properties" button.
Figure: 126.96.36.199.7.1. Edit Resource Properties
XML documents also permit you to edit their XML properties specifically. This can be done on any document of type text/xml by clicking on the icon for the document.
When clicked this button from the bottom of the page, you can edit the properties for one or a group of resources which should be selected. The name of a resource cannot be changed.
The owner, group, permissions, and indexing controls on this form apply to the appropriate properties of resources, as documented above. Changes to the type of a collection (folder) are ignored.
Figure: 220.127.116.11.7.2.1. Multiple Resources Edit Properties
The "Property" control permits you to change or add additional properties. There is a pulldown of predefined XML-related properties, or you may create your own property.
Figure: 22.214.171.124.7.2.2. Multiple Resources Edit Properties
This control permits you to manipulate the specific properties of XML documents. Existing properties are shown with their values, and can be removed. New properties can be added.
XML-related properties are generally set by specific XML-related services and do not need to be edited directly by users; however, this interface provides a quick means to correct a minor typo or other change without re-running the entire service. For example, you can change the xml-sql-root property, which controls the name of the root XML element for the document.
Resources may be added to the repository in two ways: by uploading files or by creating new collections (folders). Buttons for both these methods are on the page.
The "Create Folder" button brings up a form in which you can specify the name of the collection (folder), its owner and group, and the initial permissions. You may also turn on indexing for the folder's contents at this point.
Figure: 18.104.22.168.8.1. Create Folder
The "Upload File" button brings up a form in which you can specify the name and location of a file on your local computer that is to be copied into the DAV repository. You need to specify the name of the resource in the repository and give it a type. You can also set the basic repository properties here.
Figure: 18.104.22.168.8.2. Upload File
When files are inserted into Virtuoso's WebDAV repository, if their type is a type of text file such as plain text TXT, XML, or HTML, then they may be automatically free text indexed.
By default files are automatically free text indexed as they are inserted into Virtuoso. This is very convenient but can be time consuming if you frequently insert or update text files. For this reason Virtuoso can be set to index in batch mode at a particular interval in minutes.
Figure: 22.214.171.124.1.1. DAV Free Text Index Configuration
To change the free-text index mode to batch mode check the check-box and provide a non-zero time interval (in minutes). Press the Accept button to save the changes into the server.
From Virtual Domains & Directories you can define Virtual HTTP directories. Virtual Directories let you define multiple HTTP server listeners in Virtuoso for either the same network interface or another one. Virtual directories can respond logically to a name or directly by IP address. Both types as well as default responses can be defined here.
Each virtual directory can also have HTTP maps defined for it. This allow you to set logical paths on an HTTP directory to point to specific directories available to Virtuoso through the file system or DAV.
You can also publish stored procedures to a SOAP defined directory during the virtual directory definition.
Figure: 220.127.116.11.1. Virtual Directories
Click on the Add New Site button to start adding a new Virtual Web Site and its directories.
Figure: 220.127.116.11.2. Virtual Directories: Site Details
When adding or editing a web site you must supply a host.domain name, which will be used to match again incoming requests to produce the correct response, the IP address of the network interface, to set-up the listener on, and the TCP port number that will be used to listen for incoming requests. Although Virtuoso will be listening on the specified interface you can set up multiple sites on this interface. The site required by client web browsers will be determined by the host name specified in the request. This provides the virtual site.
Click on "New Directory" to continue.
Figure: 188.8.131.52.3. Virtual Directories Mappings
Before the directory settings are configured you can select from a few types to help configure the details to follow quicker and easier. For SOAP virtual directories this step is particular useful.
Select "Type" and then click "Next" to continue.
Figure: 126.96.36.199.4. Virtual Directories
The "Virtual Directory Information" tab lets you configure most aspects of the virtual directory.
The default directory checkbox can be checked if you want the site being defined to act as the default site for the interface. This means that if a request is made to the interface that does not match a hostname defined for the interface, the default will be returned.
Logical Path will be the path that Virtuoso will respond to for this virtual directory mapping. This is what will be placed on the URL. Physical Path or URL is what Virtuoso will actually supply the content from. In either case you can use the Browse buttons to traverse the file systems graphically. Use the WebDAV Source Checkbox to instruct Virtuoso to use the WebDAV store for the physical location. "Default Page" will be returned if no page is specified in the incoming URL.
Virtual directories for SOAP must always use a physical path of /SOAP/.
The physical path of /SOAP/ does not need to exist in the filesystem under the VSP-root directory for normal SOAP operation. If it does existing it can be used to answer non-SOAP requests. Thus, configuring the virtual directory for SOAP with a "Default Page" can be used to avoid SOAP clients receiving HTTP 404 errors when testing the SOAP endpoint using standard HTTP only. Some SOAP applications assume the SOAP endpoint is down if they received HTTP 404 without checking the SOAP endpoint itself.
The permissions panel lets you choose whether to enable various abilities in the directory.
In the SOAP Options section you can publish or unpublish procedures and/or templates, both native and remote to the virtual directory using the Publish/Unpublish buttons respectively. The SOAP Options text-area allows you to specify other SOAP options such as DIME encapsulations and WS-security settings. These options are supplied as name=value pairs terminated with a semi-colon and a carriage-return. Here is an example of the options used for the default Interop test based demo virtual directory:
Namespace=http://soapinterop.org/; MethodInSoapAction=no; ServiceName=InteropTests; HeaderNS=http://soapinterop.org/echoheader/; CR-escape=yes;
For a list of available SOAP Options review the end section of the SOAP chapter: Optional Parameters to the SOAP Endpoint.
The Authentication Options panel lets you define the authentication rules for the Virtual Directory.
Once the form details have been completed press on the Add button to save the them and proceed to configure mappings for the directory.
Figure: 188.8.131.52.5. Virtual Directories Mappings
This screen lists mappings that have been defined for the virtual site. If you have just created a fresh site then only one line will be displayed. The "Add Virtual Directory" button will let you define more. Back returns you to the start page, Edit and Delete allow you to edit or remove existing mappings as their link suggests.
For example, here are the basic steps to be performed, in order to mount FS folder to DAV:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> <html> <head> <title>OpenLink Virtuoso Conductor Simple Test</title> </head> <body> <table cellspacing="0" cellpadding="0" border="1" width="50%"> <tr> <td><b>Name</b></td><td></b>State</b></td> </tr> <tr> <td>Simple test for mounting FS to DAV</td><td>Successful.</td> </tr> </table> </body> </html>
Figure: 184.108.40.206.1.1. Mount FS to DAV
Figure: 18.104.22.168.1.2. Mount FS to DAV
Figure: 188.8.131.52.1.3. Mount FS to DAV
Figure: 188.8.131.52.1.4. Mount FS to DAV
Go to XML/SQL-XML and enter a SQL to XML statement in the SQLX or SQL-XML Query text-area:
SELECT "product".ProductID AS "id", "product".ProductName AS "name" FROM "Demo"."demo"."Products" as "product" FOR XML AUTO ELEMENT
Figure: 220.127.116.11.1. SQL-XML Statements
Type the root XML element name into the Root Element field. The results of the query will be contained within this root element.
Type the full path and resource name where you want your XML resource to reside under WebDAV in the WebDAV Resource path for the result field. Collection(s) described in the full path must already exist.
You may use the Browse button next to the WebDAV Resource path for the result field to navigate existing WebDAV collections (folders) or resources to store the result of query.
From the "Stored Queries" tab if you choose a resource that already exists as a query in WebDAV resource, after click the "Edit" link, the form will automatically acquire the details from the query.
If an XSLT transformation should be performed on retrieval time then you may either type the location of the stylesheet in the Stylesheet field or press the Browse button next to it to search for a valid XSLT stylesheet from the WebDAV repository.
Provide the appropriate WebDAV owner and group of stored result using the drop downs provided.
Select appropriate permissions for the stored result.
The query can be set to update itself at specific intervals of time or execute every time the resource is retrieved. If Persist XML is checked the query will be executed on Update every 10 minutes by default.
Press the Execute button to execute the statement and store as a WebDAV resource. Use Reset to clear the form
If you want to build a schema definition for the result then press the Create XML Schema radio-button.
Virtuoso can provide the generated XML output with a full DTD for the data. Press Create External DTD to enable this option for the query.
Go to XML / XQuery /Xquery Basic.
XQuery Document Search applies the XPATH expression to every realized XML contained within the Query Scope to qualify search hit results. Note that this does not include XML Views unless persistent.
Figure: 126.96.36.199.1. XPATH Query of DAV
Choose the Scope of Query from within the WebDAV repository. You may define the scope as either No Context, DAV Resource (file), DAV Collection (folder), External Document URL, External Collection URL or Database Table. Use the Browse button to browse the contents of WebDAV to make a selection. The query will then be confined to the selected resource or collection and its children. Then Click the button "Next" in order to continue.
Figure: 220.127.116.11.2. XPATH Query of DAV
Enter that XPATH query expression into the text area that you wish to interrogate your WebDAV XML documents with. e.g. //* or //title
The Root Element field allows you specify the name of the root element to contain document element matches for each document found. This aids stylesheet design.
Choose an Output Style Sheet by either typing its URL or using Browse to select an XSL resource from WebDAV. You only need to specify a style sheet if you want to transform your XML results using XSLT.
Click the button "Next" in order to continue.
Choose an Store into location by either typing its URL or using Browse to select a DAV resource from WebDAV
Set Permissions for the output result. Check "r" for read rights for Group and Users in order to view later the saved xml file.
You may want to Replace the existing resource by checking the shown check-box with this label.
Choose Output Type that you wish to obtain. Persist XML should be selected with Update interval im minutes or if you want to be created as XML Template, fill in the "Create as XML Template Description" field.
Click the button "Save".
Figure: 184.108.40.206.3. XPATH Query of DAV
Figure: 22.214.171.124.4. XPATH Query of DAV
If for location you have chosen /DAV/xmlsql/xquery.xml, you can view the saved file accessing the url: http://host:port/DAV/xmlsql/xquery.xml
Figure: 220.127.116.11.5. XPATH Query of DAV
Conductor Interactive SQL allows you to quickly and directly query Virtuoso using SQL. It offers Save and Load facilities which allow SQL queries to be saved as an XML template, and read back later. With a query in the SQL Statement box click on the Execute for the results which will in the "Base" tab with option to return back to the query area. The Clear clears the SQL Statement text box.
Figure: 220.127.116.11.1. Querying Relational Database Using SQL
Figure: 188.8.131.52.2. Results
Specify the location for the file to be saved to by selecting the "WebDAV source" or "Local file" check-box.
Figure: 188.8.131.52.3. Saving SQL in an XML Template
Click the "Browse" button. As result will be opened the Virtuoso WebDAV/File Browser where you should define the XML template based on the SQL Query. Specify a Root Element that will contain the resulting XML tree. Specify the file name and location of the XML Template.
The Conductor Interactive XQuery facility allows you to create, execute, save and reload queries using the evolving W3C XML Query (XQuery) Language. Virtuoso currently supports the 1.0 version of this language.
This language uses XPath-like expressions, as well as a set of functions and operators, to permit effective parallel searching of a set of XML documents. Where XPath works with one XML "tree", XQuery searches a "forest". The result is an XML document.
In order to create an XQuery you must both create the query statement - by typing or pasting it into the text box - and specify the document context. Since Virtuoso's XQuery implementation operates over XML data in relational tables, this means the tables and columns that are to be searched.
Note that the XQuery language also allows a query to specify all or part of the document context for the query. In the example below we will see how these can interact. The user interface form permits you to select a table - either one of the XQuery test data tables that come with Virtuoso, or the WS.WS.SYS_DAV_RES table, which stores Virtuoso's WebDAV Repository content.
The form specifies a Key Column and a Data Column. For the sample tables, the values for these are filled in for you. The Path is prepended to any document() function specified in the query text to find Key column values of XML trees against which the query is to be run.
Once a query has been written and debugged, it can be saved by pressing the Save button. This brings you to the form for saving a query as an XML Template in the DAV repository.
Pressing the Execute button causes the query result (an XML tree) to be shown on the page below the Statement type-in box.
In this example, we will query the table XQuery test files table, with "name" as the key column and "text" as the data column.
The query text, shown below, is a sample query from the W3C's XML Query Use Cases document (http://www.w3.org/TR/xmlquery-use-cases). This query contains a document() call specifying a document named "bib.xml". In order to have the query run properly, we first set the Path form value to "xqdemo/". This causes the query to find all rows in the table XQ.XQ.TEST_FILES that have the value "xqdemo/bib.xml" in their Name column.
<bib> { for $b in document("bib.xml")/bib/book where $b/publisher = "Addison-Wesley" and $b/@year > 1991 return <book year = {$b/@year}> {$b/title} </book> } </bib>
Figure: 18.104.22.168.1. XQuery Test File Results
Conductor "Replication" offers manage Virtuoso Replication. You are offered with "Basic", "Incremental", "Bidirectional Snapshot" and "Transactional" sub-tabs.
Figure: 22.214.171.124.1. Snapshot Replication
Figure: 126.96.36.199.2. Snapshot Replication
Figure: 184.108.40.206.3. Snapshot Replication
Figure: 184.108.40.206.4. Snapshot Replication
Figure: 220.127.116.11.5. Snapshot Replication
Figure: 22.214.171.124.6. Snapshot Replication
The Transaction Publication screen lists publications. You can add, edit or remove publications as necessary, each time using the guide-lines of the wizard.
Figure: 188.8.131.52.1.1. Transaction Replication - Publications
When creating a new publication you must supply a name. At this point you have the option to create an updateable publication - see the Bi-Directional Transactional Replication section for more details - which allows updates to come from subscribers rather than being limited to originating from the publisher only.
Figure: 18.104.22.168.1.2. Transaction Replication - New Publication
Figure: 188.8.131.52.1.3. Transaction Replication - List of Publications
Once a new publication has been made you can add database objects to it using the Add ... buttons, or remove them by selecting their checkbox and using the Remove button. To add a new table to the publication click on Add Table/Procedure. Follow the wizard by choosing the appropriate database/catalog by clicking on its name, you will then be presented with the tables within it.
Figure: 22.214.171.124.1.4. Transaction Replication - Publish Tables and Procedures
Select the tables to publish using the checkboxes and press Add to Publication to add the tables and continue.
Once returned the publication screen, the published tables will be listed. Updatable publication will need conflict resolvers in case of conflicting data arriving from a subscriber. Click on the table name to manage the resolvers list.
Figure: 188.8.131.52.1.5. Transaction Replication - Published Items
Use the Add/Remove to add or remove selected resolvers.
Click on Publication Item -> New Resolver to add a new resolver. You have the following details to contend with:
Conflict resolver name suffix.
Resolver order number.
The resolver type, one of: Insert, Update, or Delete for resolving such SQL queries.
The kind of resolver. Class can be one of the following:
This should specify the column name if class is not one of 'pub_wins', 'sub_wins' or 'custom'.
Figure: 188.8.131.52.1.6. Transaction Replication - Resolvers
Click on Publication -> Advanced Options to set additional settings such as split size, default copy mode of publication item, etc.
Figure: 22.214.171.124.1.7. Transaction Replication - Advanced
Figure: 22.214.171.124.2.1. Transaction Replication - Subscription
Figure: 184.108.40.206.2.2. Transaction Replication - Subscription
From System Admin / user Accounts you can alter the users that can access the Virtuoso database. You may add a new user by clicking the "Create New Account" link, edit an existing user, or delete users. You can associate users with groups or make new groups.
Groups are created and function like normal user accounts. To define a group you simply create a new user, and then to make use of the group you assign users to that group from the drop down which will contain available groups.
To create a new user or group you must enter a username, password and confirm the password by retyping it in the fields provided. You may optionally specify a group and default qualifier. You can use groups to control access to a set of users by maintaining the permissions granted to the group for which they are members. Specifying a default qualifier allows you to specify the catalog or database for which queries will be run against that do not explicitly refer to a particular catalog or database.
You can import users by adding LDAP Servers(s) from the "LDAP Servers" tab, and then from the "LDAP Import" to specify from which LDAP server the import should be done:
Figure: 184.108.40.206.1. Users Accounts
The following steps describe how to configure LDAP server and then import user(s) using the Conducor UI:
Figure: 184.108.40.206.1.1.1. LDAP Servers Configure and Import
Note: you can also use ldap:// or ldaps:// in front of Host name
Figure: 220.127.116.11.1.1.2. LDAP Servers Configure and Import
Figure: 22.214.171.124.1.1.3. LDAP Servers Configure and Import
Figure: 22.214.171.124.1.1.4. LDAP Servers Configure and Import
Figure: 22.214.171.124.1.1.5. LDAP Servers Configure and Import
Figure: 22.214.171.124.1.1.6. LDAP Servers Configure and Import
Figure: 126.96.36.199.1.1.7. LDAP Servers Configure and Import
Figure: 188.8.131.52.1.1.8. LDAP Servers Configure and Import
Note: By default an importing LDAP user has "User type" set to "WebDAV". To log in into iSQL with an imported LDAP user credentials you should:
;virtuoso.ini .... [Client] SQL_ENCRYPTION_ON_PASSWORD = 1 ...
isql host:port ldap-user-name ldap-user-password
Figure: 18.104.22.168.1.1.9. LDAP Servers Configure and Import
Each catalog (database) within Virtuoso will be listed under the Databases /Schema Objects. For each catalog you will be able to view and in some cases edit details about the tables, views, triggers, and store procedures stored within that catalog.
Figure: 188.8.131.52.1. Viewing Tables details for the Demo catalogue in the Demo Database
Figure: 188.8.131.52.2. Viewing Views details for the Demo catalogue in the Demo Database
The Virtuoso Demonstration database can be installed with the Conductor by navigating to the "System Admin" -> "Packages" tab where a list of available Virtuoso applications are displayed, one of which is for the "Demo" database package as shown below:
Figure: 188.8.131.52.3.1. Install Demo db using Conductor UI: "System Admin" -> "Packages"
Select the "Demo" package and click on the "Install" button to commence the installation process:
Figure: 220.127.116.11.3.2. Install Demo db: confirmation
Click on the "proceed" button to install the indicated "Demo Database" application package:
Figure: 188.8.131.52.3.3. Install Demo db: proceed
Once installed the demo database schema can be viewed from the "Database" -> "Schema Objects" tab of the Conductor:
Figure: 18.104.22.168.3.4. Install Demo db: view schema objects
For each table, Virtuoso gives you the ability to edit the triggers linked to that table, as well as adding new triggers. The link text "Triggers" is followed by a number in parentheses that tells you how many triggers exist associated with that table. If no number is shown, there are no triggers. Clicking on the text takes you to the trigger edit page.
The triggers page shows you the name of each trigger, an excerpt from the text of the trigger, and permits you to edit or drop the triggers. In the last column of the shown form there is a "New Trigger" link for creation of a new trigger.
The stored procedures link shows a page of information about existing stored procedures for the database you are viewing. If there are stored procedures, you can see their names and text excerpts, and you may edit or drop them. Adding new stored procedures can be done via the ISQL command-line interface or from the "Create Procedure" link shown above the list of objects for the relevant database.
Figure: 126.96.36.199.5.1. Viewing Stored Procedures details for the DB catalogue
Stored procedures may also refer to modules that contain a group of related stored procedures. These are created and edited as a group, rather than individually. An example of this is the module DB.DBA.AmazonSearchService, which contains procedures such as KeywordSearchRequest() and BrowseNodeSearchRequest().
From Database / External Data Sources you will be able to manage the Virtual Database feature of Virtuoso. You are able to administer ODBC Data Sources, how to link remote tables and view, and already linked remote connections.
This tab shows you the available Data Sources. For these one, to which there is no connection, will be shown the link"Connect". For the datasource for which there is already established connection, will be shown the links "Link objects", "Change Credentials" and "Disconnect".
Figure: 184.108.40.206.1.1. Remote Datasources connected to Virtuoso
If you need to alter the authentication details of a particular Data Source then select the "Change Credentials" link. If you want to link new objects, select the "Link objects" link.
This section will allow you to configure the data sources themselves on the remote machine. The table that will be presented to you will contain both User and System data sources. You will be able to edit and create either User or System data sources, however, Virtuoso will only be able to use the User data sources that belong to the user that started the Virtuoso Server.
Figure: 188.8.131.52.2.1. Configuring ODBC Datasources
Follow the buttons on the screen as to how you want to manage a data source. You can create new, edit or remove existing data sources.
Figure: 126.96.36.199.2.2. Configuring A Virtuoso ODBC Datasources
The Virtuoso Server can make use of File Data Sources too. This provides the usual associated conveniences. These enable you to migrate a Virtuoso database to another machine hosting the same ODBC Driver, Virtuoso then has enough information to connect using the installed driver to a remote data source, the tables would not need to be relinked. File DSN's are read from server's root directory. File DSN's can only be read if this directory is contained in the Virtuoso INI file parameter DirsAllows.
Windows NT or 2000 services by default start as the LocalSystem special user account. This account will not contain the same User DSNs as your own user. The Virtuoso service can be started with other users but you must be aware of any possible system permission problems. It is recommended that Virtuoso make use of System or File DSNs wherever possible.
This page will allow you to manage the remote objects that are linked into Virtuoso. You can unlink objects by selecting them and pressing the "Unlink selected" button.
Figure: 18.104.22.168.3.1. Linking Tables from Remote Datasources
To link new tables into Virtuoso select "Link objects" link or go to the "Data Sources" tab. Click the "Connect" link for a data source. If this data source has been used before then the existing authentication details will automatically be provided. Otherwise you will have to provide these details in the username and password fields provided. When you are ready press the "Link objects" link.
As results you should be presented with list of available remote tables and optionally views and procedures. If the connection fails then an error will be returned to the top of the page instead. You should be able to link any of the listed tables or views into Virtuoso. In order for Virtuoso to be able to correctly query the underlying table it needs to be able to uniquely identify each row (record) within the table or view. Tables should always be created with a primary key, and details of which should be available from the data source. With a primary key available Virtuoso will be able to link the table in to the server easily. In some cases and certainly in the case of views Virtuoso may not be able to determine a primary key or what constitutes uniqueness in the table. On the right most column will be an action link to a page that allows you to alter the primary key information about the table or view that is to be linked. Some primary key information is italized to indicate the explicit definition of a primary key.
You will be required to enter primary key information for views before they can be linked.
Select the tables that you want to link into the Virtuoso Server by checking the check box on the left most column of the list for table or view in question. When you are ready press the Link ... button at the bottom of the page.
As result the selected tables will be linked and listed in the first list as Currently Linked.
In order to view the list of remote procedures, you should check the "Stored Procedures" check-box and click the button "Apply". As result the procedures that are already connected to Virtuoso will be shown with checked check-box. You can unlink these by selecting them and pressing the Unlink button.
To link new procedures into Virtuoso select the Data Source from the list of available n t ab "Data Sources". If this data source has been used before then the existing authentication details will automatically be provided. Otherwise you will have to provide these details in the username and password fields provided. When you are ready press the Link Objects link. The page will next require you to select the catalog/owner combination to refine the search list of procedures on the remote datasource. Check the check-box "Stored procedures" and click the "Apply" button to list the available stored procedures.
Figure: 18.104.22.168.4.1. Linking Procedures from Remote Datasources
When the page returns you will be presented with a list of available remote procedures. You should be able to link any of the listed procedures into Virtuoso.
Figure: 220.127.116.11.4.2. Linking Procedures from Remote Datasources
Select the procedures that you want to link into the Virtuoso Server by checking the check box on the left most column of the list for the procedure in question. When you are ready press the Link ... button at the bottom of the page.
You will be presented with a new page that lists the procedures chosen and the data type information regarding them. This gives you an opportunity to alter the data type mappings that Virtuoso will use both internally and for any future interactions with the SOAP server. If you do not want to specify any special type information the details can be left as default.
Figure: 126.96.36.199.4.3. Linking Procedures from Remote Datasources
For each remote procedure you have the option to change how they will be referenced within Virtuoso by making changes to the fields for Local Name, Database, and Schema. These fields define how you will find the linked procedure locally to Virtuoso only and do not affect the remote data source.
For each procedure there are radio buttons for selecting the PL Wrapper Requirements. This option is of particular importance for remote procedures capable of returning a resultset. Remote procedures can be linked using a Virtuoso PL wrapper meaning that Virtuoso procedure language code provides a mechanism for negotiating the result set. The available options are:
There is a description input box for you to write a description or comment for the linked procedure. This comment will only be applicable to procedures that are linked using a PL Wrapper, and is only directly applicable for PL Wrappers for SOAP execution.
The System Admin / Scheduler tab allows you to view, edit and remove events that can be scheduled to run from a particular time at a defined interval.
Figure: 188.8.131.52.1. Event Scheduler
To add a new scheduled event click the "Create New Event" link in tha last column of the shown form. The Event Name is a unique name required to uniquely identify each event. Start Time is when the event will be run for the first time and takes the form of a normal SQL timestamp value. Interval(minutes) is the length of time in minutes to wait to run the event again. SQL is a valid piece of SQL that you want to schedule to run. You can also check for "Enable Error Notification" and enter E-Mail for error notification.
Figure: 184.108.40.206.2. Event Scheduler
Events write possible error messages into the Virtuoso log file.
From System Admin/Parameters you can change the Virtuoso Configuration settings:
Figure: 126.96.36.199.1. Virtuoso (virtuoso.ini) Configuration File Editor
Figure: 22.214.171.124.2. Virtuoso (virtuoso.ini) Configuration File Editor
Figure: 188.8.131.52.3. Virtuoso (virtuoso.ini) Configuration File Editor
Figure: 126.96.36.199.4. Virtuoso (virtuoso.ini) Configuration File Editor
Figure: 220.127.116.11.5. Virtuoso (virtuoso.ini) Configuration File Editor
Figure: 18.104.22.168.6. Virtuoso (virtuoso.ini) Configuration File Editor
Figure: 18.104.22.168.7. Virtuoso (virtuoso.ini) Configuration File Editor
The System Admin/Dashboard consists of a collection of statistical information about your Virtuoso server. This includes general licensing information, locking, webserver hits statistics and more.
Figure: 18.104.22.168.1. Dashboard
The System Admin/Monitor shows in details statistical information about your server.
Figure: 18.104.22.168.2. Monitor - General Information
Figure: 126.96.36.199.3. Monitor - HTTP Usage
Figure: 220.127.116.11.4. Monitor - Index Usage
Figure: 18.104.22.168.5. Monitor - Profiling
From Conductor the "Linked Data" tab allows you to execute/save/load SPARQL queries, to add/edit RDF Mapping, to perform statistics and manage graphs, to import schemas and define namespaces, to generated Linked Data Views and to upload to the Quad Store.
"SPARQL -> Query" offers form form SPARQL query execution:
Figure: 188.8.131.52.1.1. RDF
Also you can save the results in a query or load such:
Figure: 18.104.22.168.1.2. RDF
"SPARQL -> Saved Queries" offers list of saved queries, which can be opened in the "Query" tab in order to be executed:
Figure: 184.108.40.206.2.1. RDF
Shows list of available extractor cartridges. They can be re-ordered by place of appearance, edit or deleted:
Figure: 18.104.22.168.1.1. RDF
You can also add a new extractor cartridge:
Figure: 220.127.116.11.1.2. RDF
Shows list of available meta cartridges. They can be re-ordered by place of appearance, edit or deleted:
Figure: 220.127.116.11.2.1. RDF
You can also add a new meta cartridge:
Figure: 188.8.131.52.2.2. RDF
Shows list of available stylesheets for processing cartridges. From here you can manage these stylesheets by adding new, editing existing ones or deleting them:
Figure: 184.108.40.206.3.1. RDF
Offers tracking cartridges exection. By default is off. When enabled, shows list of sessions per cartridge:
Figure: 220.127.116.11.4.1. RDF
Offers creation of secure endpoints for pre-defiend vitual host:
Figure: 188.8.131.52.5.1. RDF
Offers interface for DB.DBA.RDF_VOID_STORE(graph, to_graph). In the new graph ( field "Publish to") will be saved the VoID statistics data when generated:
Figure: 184.108.40.206.1. RDF
Figure: 22.214.171.124.2. RDF
"Graphs" tab shows list of current graphs in the RDF Quad Store. From here day can be renamed or deleted:
Figure: 184.108.40.206.1. RDF
Shows list of available schemas IRI-s and offers a new schema IRI to be imported:
Figure: 184.108.40.206.1. RDF
Shows list of namespace prefixes and offers a new namespace prefix to be imported:
Figure: 184.108.40.206.1. RDF
Manage Sponger rules by adding new ones, deleting, re-ordering, etc.
This tab is available only when the cartridges_dav.vad is installed.
Figure: 126.96.36.199.1.1. RDF
Here you can manage different WebID Protocol ACLs WebID ACL by granting SPARQL Roles such as "SELECT", "UPDATE", "SPONGE":
This tab is available only when the policy__manager_dav.vad is installed.
Figure: 184.108.40.206.2.1. RDF
Managing a SPARQL Web Service Endpoint
Creating and Using a SPARQL-WebID based Endpoint
Virtuoso uses a SPARQL-based Meta Schema Language to provide RDBMS-to-RDF mapping functionality (also described as, Linked Data Views of SQL data). The language is an extension of the SPARQL query language meshed with Virtuoso's SPASQL (SPARQL-inside-SQL) functionality. The language enables you to declaratively map relational database schema tables, columns, rows, and foreign key relationships to Classes, Attributes, Relationships, and Instances (Objects/Entities/Individuals) defined by RDF Schemas or OWL Ontologies. The mapping process uses a special built-in Virtuoso function to generate IRIs / URIs in "Subject" or "Object" position of a SPARQL graph pattern, en route to building a set of SQL compiler rules and optimizations for translating SPARQL queries into SQL on the fly.
Figure: 220.127.116.11.1. RDF
Automated Generation of Linked Data Views over Relational Data Sources with Virtuoso.
Offers upload to Quad Store from file or Resource URL:
Figure: 22.214.171.124.1. RDF
This tab is available only when the pubsubhub_dav.vad is installed.
Offers Virtuoso's implementation of the PubSubHubBub Protocol to handle Linked Data by subscribing to Linked Data resource URIs.
Figure: 22.214.171.124.1. Subscriptions (PHSB)
Note: the Hub endpoint should be defined ACL in System Admin -> Security -> Access Control -> PSH-SLL
Example of Linked Data Usage of PubSubHubbub Implementation.
Feed subscription via PubSubHub Protocol.
From Conductor the NNTP tab allows you to view and configure Newsgroups associated with the Virtuoso News Server. Like Virtuoso's virtual database, Virtuoso can "link" in newsgroups from remote news servers. This interface allows you to view the configuration and control the newsgroups both local and remote.
The Virtuoso News server component will need to be enabled in the Virtuoso.ini file by specifying the NewsServerPort number.
The tab "NNTP Servers" shows list of the registered News servers.
Figure: 188.8.131.52.1. News Server Administration
Click the "Edit" link to change the news server settings, or click the "Delete" link to remove the news server.
Figure: 22.214.171.124.2. Edit News Server Properties
Click the "Edit Groups" link for a current News Server in order to manage the list of available newsgroups.
Figure: 126.96.36.199.3. News Groups List
You can also update the cache list of newsgroups. Newsgroup names are (re)fetched in a batch background scheduled task. This is because the list can be very long or the connection to the news server could be slow. The status of the fetch is indicated in the grey bar at the foot of the newsgroup list table.
For each newsgroup listed for a news server you can update the messages fetched, view and edit the Properties of the group, or Remove the group from the list. Also you can get previous 500 messages or to get new messages by clicking the links at the bottom of the form shown below.
Figure: 188.8.131.52.4. Manage subscribed for Newsgroup
From the "NNTP Servers" tab click on the "Edit Groups" link for a registered News Server. Then click the Subscribe to newsgroups link to subscribe to newsgroups on the server.
Figure: 126.96.36.199.5.1. Add Newsgroup
Once groups are selected you can use the Subscribe Selected button to add the groups.
Use the Back to servers list link to return to the News Servers List page.
From Conductor NNTP/NNTP Servers you can add remote servers. The values you need to provide in the form are as follows:
Server Address is the IP address or hostname of the external news server.
Server Port is the port number that the news server is listening on. By default news servers listen on port 119.
Username and Password allow you to provide login credentials if the server requires them.
Figure: 126.96.36.199.6.1. News Server Administration
You can view the messages of a newsgroup either using the Conductor UI going to NNTP/NNTP Servers/News Server/News Group, or using the ODS Framework UI. In the second case you need to have the ods_framework_dav.vad package and the ods_discussion_dav.vad package installed. Then you can go from ODS to tab "Discussions" where will be shown the list of available newsgroups. Each one has shown as link its name, which leads to page where are listed its messages.
Figure: 220.127.116.11.7.1. View of messages in a newsgroup in ODS Discussions.
You can perform Free Text Search using the ODS search option.
Database Server Administration
|Chapter Contents
Virtuoso Cluster Operation


text: LifestyleHealth & Fitness London's best: outfit-saving lipsticks Emma McCarthy Thursday 7 February 2013 10:47 BST London's best: outfit-saving lipsticks 5 show all London's best: outfit-saving lipsticks 1/5 She's fresh: A new addition and instant cult classic from Chanel's Rouge Allure range, Excentrique's flattering orangey-red semi-matte hue will do as much for your flagging spirits as a large shot of tequila. (£25, 020 7493 3836) 2/5 Rose-tinted A long-standing favourite amid MAC's extensive lipstick repertoire, Girl About Town is the perfect blue-based fuchsia for a pretty pink pout that packs a punch. (£14, maccosmetics.co.uk) 3/5 Get juiced: If you think you can't pull off tangerine lipstick, you haven't tried Dior Addict Extreme's Riviera shade. The soft sheer hue delivers a wash of juicy colour that's exactly the opposite of scary. (£24, selfridges.com) 4/5 All fired up: When you're in need of a serious pick-me-up, reach for Giorgio Armani's Rouge D'Armani Sheer Lipstick. Its feather-light yet high-pigment formula is a balm and lipstick in one. Try the Red Carpet shade for a perfectly polished result. (£25, armanibeauty.co.uk) 5/5 Night owl: Last-minute dinner date? Tom Ford Lip Colour in Crimson Noir is all you need for instant evening glamour — no matter how dowdy your office attire. Its seductive dark cherry hue is certainly not short of admirers. (£36, harrods.com) Need to look your best when you feel at your worst? A new lease of life is in order — and, therefore, a new lipstick. Here are five of the best outfit-saving lipsticks to leave you ready to face anything. The motto? Go loud or go home. Comments

subset: commoncrawl


text:
Weather Alerts
On eve of I Team reports, coroner defends practicesUPDATED 6:30 PM CDT Apr 29, 2013
On the eve of a series of I team reports into what some say are serious problems at the Orleans Parish Coroner's Office, Dr. Frank Minyard defends the way he does business.
More Video
CommentsThe views expressed are not those of this site, this station or its affiliated companies. By posting your comments you agree to accept our terms of use.blog comments powered by Disqus


text:
- 57Promote
Framed Art Print
another day on the lineby Beverly LeFevre
Choose from a variety of frame styles, colors and sizes to compliment your favorite Society6 gallery, or fine art print - made ready to hang. Fine-crafted from solid woods, premium shatterproof acrylic protects the face of the art print, while an acid free dust cover on the back provides a custom finish. All framed art prints include wall hanging hardware.
fantastic perspective. awesome ttv framing :)
thanks Laura xo
BEAUTIFUL work Beverly!
This is cool, love the border.
thank you Ben and Biff. It's Sandra's TTV texture from her flickr stream
I love this!
Wonderful, Beverly!
thank you Christine and Lisa
great work
OMG, that title is just so true! Made me smile!! sweet color!
Beautiful... I love TTV photos, but I've never been able to make them look right faking it in Photoshop. Obviously I'm doing something wrong.
this one is a real winner!
thanks so much everyone xo
great eye you have, beautiful!
thank you Esther and Libertad
very beautiful! :)
thank you Paula
See More Comments


text:
Most Popular
Advertisement - Continue Reading Below
With washers, nuts, and bolts glazed in gold, Tom Binns gives the toolbox the midas touch. Between its utilitarian edge and slick sheen, we assure you that this pendant will stay secured on our necks for many years.
Necklace, $275; exclusively on editorialist.com.


text:
Edit Article
You're sleeping with a friend. You are both hot and the house is really stuffy. You really want to pull off your clothes but you're feeling self-conscious. To see if it's OK in your friendship and won't test things to an undesired limit, follow these steps.
This article has been tagged as a stub.
That means it's off to a good start, but still has room to grow into a more helpful resource. Until the article reaches its full potential, it will be hidden from search results. Can you help it flourish? If you think the article offers complete and accurate instructions, feel free to remove this tag.
1Ask if your friend minds that you sleep nude. Suggest that your friend can too if wanted but don't add any pressure.
2Take off your clothes.
3Try not to touch your friend.
4Make sure your bodies are well covered. No one wants to see your nakedness.
5Turn your bodies away from each other. It keeps you from being touched and you'll feel more comfortable.
Community Q&A
Ask a Question
- Unless your friend is okay with it, don't get too close to her.
- Don't attempt at all if your friend says no.
- This can possibly ruin a friendship if you do not respect her boundaries.
Article Info
Categories: Stub | Love and Romance
Thanks to all authors for creating a page that has been read 9,819 times.
Did this article help you?


text:
OROVILLE – Mark Varela was on hand at the Tuesday, Sept. 21 Oroville City Council meeting to go over a list of water-related projects the city wants to address in the near future.
Engineer speaks with council about Oroville water projects
Oroville School Board discusses district goals, budget cuts
OROVILLE – The Oroville School Board adopted seven goals for the 2010-2011 school year, as well as heard a report about the potential for additional state cuts to district funding.
The seven goals the board approved were:
NVH addition now up and running
Medical Records employee Kathy Range and Assisted Living employee Linda Brandt, who've both worked at North Valley Hospital since 1973, were chosen to cut the ceremonial ribbon during the Grand Opening of the new hospital addition on Wednesday, Sept. 22
Incumbent Sheriff Frank Rogers has 'nothing to hide'
TONASKET – Okanogan County Sheriff Frank Rogers spoke at the regular Tonasket Chamber of Commerce meeting on Tuesday, Sept. 14, stating that he has nothing to hide.
Coalition partners with Support Center against rural domestic violence
OMAK – The Washington State Coalition Against Domestic Violence is partnering with the Support Center and three other Eastern Washington agencies to help address domestic violence in rural areas, especially among migrant workers.
Second 'Canola in Okanogan County' meeting held at Riverside
RIVERSIDE – The second "Canola in Okanogan County" meeting was held in Riverside at the Mt. Olive Grange Hall in Riverside with 13 people in attendance, attendants coming from as far as Spokane and Lewiston, Idaho.
Tourism Council holds quarterly meeting at Oroville
OROVILLE – The Okanogan County Tourism Council held their quarterly meeting last Friday, Sept. 16 at the Old Oroville Depot Museum.
Tonasket receives transportation enhancement grant
TONASKET – The Tonasket City Council learned the city was recently chosen to receive $126,500 for the Whitcomb Avenue Pedestrian Upgrade project during their meeting on Tuesday, Sept. 14.
Seventh Annual Peace Festival at CCC Saturday
TONASKET – The Seventh Annual Peace Festival will be at the Community Cultural Center on Saturday, Sept. 18 with Dana Lyons performing at 8 p.m.
Oroville council updated on several ongoing projects
OROVILLE – It was an evening of updates for the Oroville City Council at their Tuesday, Sept. 7 meeting.


text:
Readers react to Wayman Tisdale's death
Reaction to the death of Wayman Tisdale: God's basketball team just received their star player. — Greg Cole, Blair Wayman was a great ambassador for the state of Oklahoma and a symbol of hope for thousands of youngsters. — Lanny Sells, Tulsa Oklahoma has lost a legend and a great example for our children. We will truly miss him and his smile. God has gained a great one in the heavenly blues band. — Leon Rippee, Oklahoma City Wayman Tisdale will be greatly missed by both the sports world and the Jazz music world. He will be remembered and honored as a legend in both arenas, and as a man of God with a great smile! — John Crawford, Roseville, Calif. I came to know of his through his music, not his athleticism. A loss for all of the worlds of which he was a part. — Kerry Mitchell, Phoenix, Ariz. What a class act! I followed Wayman during his playing time with the Suns... later met him on a plane going to LA. Was kind, gentle and a overall great person! Thoughts and prayers to his wife and family. — Robert Rehak View/sign the guest book
NewsOK.com has disabled the comments for this article.


text:
Already a paid subscriber but not registered for online access yet? For instructions on how to get premium web access, click here.
Charity Corps begins serving N.Y. nonprofits
State AG and NYSBA join up to provide legal guidance
The first legal assistance applications from nonprofit organizations began arriving at the newly formed Charity Corps attorney group Friday. Charity Corps, a joint initiative of the New York State Bar Association and the New York Attorney General's Office, will provide much needed legal guidance and assistance for nonprofit groups in managing their affairs. "The idea of the ...


text:
Combo Short by KipitzWatch
©2010-2016 Kipitz
Just a short I made after watching some fast-ass stickanims.
AHAH! I love this one!
the blue guy is hyper active especially in this combo
yea.... ppl say it shouldve been slower i added inbetweens double frames and still a bit oo fast so i call it a FAIL
Hehe, looks great man. Though it is a bit too fast.
real nice, but try to slow it down a bit. keep on the good work dude
i know i just wanted it extreamly fast
Way to fast to see what was happening
needs more easing aswell
needs more easing aswell


text:
Geva joins in downtown housing development
Posted July 22nd, 2014 @ 5:39pm by Bud Lowell
Rochester's Geva Theater has partnered with the owner of the neighboring property to develop a housing project next to the downtown theater.
Geva has signed a 10-year lease on One Woodbury Boulevard, 150 steps from their front door. Along with property owner Eduard Nakhamin and developers Patrick and Luke Dutton, they plan to develop 11 studio loft apartments. They'll mainly be used to house the actors appearing in Geva productions. Theater officials say they have to provide housing for Equity actors and stage managers during a production run, and this will be first-class housing that matches the reputation of the theater itself.
They expect to have the conversion finished next year.


text:
New Sportsbook.ag customers: Make your 1st bet, get your 2nd bet free, 100%, winnings paid in cash.Join Now
Already have an account? Click here to view new Exclusive Rewards!
INDIANAPOLIS (AP) - KV Racing will field a fourth car in the Indianapolis 500 for rookie James Davison.
The team announced Saturday it had added a fourth entry for Davison.
The Australian driver raced two seasons in Indy Lights, winning two races and finishing second in the 2009 championship. Davison has spent most of the past four seasons racing sports cars, but ran two IndyCar races last year at Mid-Ohio and Sonoma.
He has one career victory at Indianapolis Motor Speedway, the Formula BMW USA event on the road course in conjunction with the 2005 Formula One U.S. Grand Prix.
Copyright 2016The Associated PressAll Rights Reserved


text:
While virtual machine costs are falling, prices for higher-value cloud services remain firmly affixed, finds a new report from 451 Research.
Enterprises can now more seamlessly incorporate Dropbox Enterprise into their mobile security and management strategies.
Can corporate efforts working in tandem with a foundation produce more results?
The open source software tool turns application code into lightweight bootable images called unikernels.
A common computing experience on all devices will be welcome, but only to a niche audience.
What If Bill Gates Had Blended His Philanthropic Efforts With Running Microsoft?


text:
There is now a regular festival in Ireland known as "TedFest", that honours the show Father Ted and the memory of Dermot Morgan.
In 1997, Dermot, along with his Father Ted co-star Ardal O'Hanlon, took part in a Comic Relief-Father Ted sketch.
In Merrion Square, Dublin, there is a Jester's Chair, dedicated to Dermot's memory.
In 1998, Dermot's three sons brought out a book about him, Our Father ... Tribute to Dermot Morgan, by Dan, Bobby and Ben Morgan.
Dermot reached no. 1 in the Irish Record chart with Thank You Very Much, Mr Eastwood about boxer Barry McGuigan and his manager, Barney Eastwood.
At the BAFTAs in 1999, Dermot won a posthumous award for Best Comedy Performance for Father Ted.
Among the dignitaries at a Requiem Mass for Dermot were the former Irish President and UN Human Rights Commissioner, Mary Robinson, current Irish President Mary McAleese and Irish Deputy Prime Minister Mary Harney. As a further indication of the high esteem Dermot was held in Ireland, even the then Prime Minister Bertie Ahern and former Prime Minister Charles Haughey joined in the tributes.
Dermot was buried at Deansgrange in South Dublin, Ireland.
In the early 90s he hosted a radio satire show along with Gerry Stembridge and Pauline McLynn, called Scrap Saturday. RTE cancelled the show after two seasons.
(on his position on Catholicism and the possible effect of "Father Ted")
Dermot: I'm a lapsed Catholic. I just don't think it's right for priests to hop around the altar telling you what to do. I think in general big organisations are bad news and then there's the whole celibacy thing. Denying your sexuality is an anomaly and it's just not healthy. I've always had a reputation for sailing close to the wind but with something like Father Ted although it's cutting edge I really don't think it's offensive. I guess it's down to personal taste.
(on how the Catholic Church will be affected by "Father Ted")
Dermot: The Church has greater problems than Father Ted. It's a spent force. I've heard they have zero admissions at some seminaries. I'm old enough to recall the clout they had in the 1960s, when people used to talk about "the belt of a crozier" whenever they cracked down on secular society. Now I genuinely sympathise with priests for what is a largely untenable position. Anyone suggesting that it is the infallible will of the Church that priests should remain celebate is talking nonsense. That is going to do far more damage than Father Ted.
(Dermot's thoughts on the church)
Dermot: I don't believe in confessional, any of it. Fascists are people who dress in black and tell you what to do and priests, well, er ...
User Score: 68
User Score: 5
User Score: 2
User Score: 2
User Score: 1


text:
Providing a quality service in support of excellence in research.
Lancaster University Research Committee - EARLY CAREER INTERNAL GRANT (ECIG) 2015/16 - Deadline 19/02/16
The University Research Committee invites research applications from Lancasters academic staff in the early stages of their career. Application can be up to a maximum of £5k in support of research. This fund is intended as pump-prime funding which will lead to external bids for research funding within 6 months of following the end of the award.
Please find attached the call details here along with the application form Application Form
Research Services
The RCSO provides an advice and guidance service in support of externally-funded research grants and projects.
Details of the support provided can be found here:-
- Decision workflow for externally funded projects
- Definition and Accounting for externally funded projects
- Delegated financial approval limits for research and non-research externally funded projects
- Cradle to grave research grant administration: Research Grant and Contracts Administration Procedures
- RCSO Responsibilities
- Data Management Plans
Proposal Writing
Guidance on Proposal Writing
Funding Deadlines
Current Funding Deadlines
News and Events
Research News and Events


text:
222-05 56th Avenue, Room MC-02
Bayside, New York 11364
Phone: (718) 631-6375
Fax: (718) 631-6330
E-mail: firstname.lastname@example.com
*Medical records are not accepted via e-mail.
What is Zika virus disease (Zika)?
Zika is a disease caused by Zika virus that is spread to people primarily through the bite of an infected Aedes species mosquito and sexual contact. The most common symptoms of Zika are fever, rash, joint pain, and conjunctivitis (red eyes). The illness is usually mild with symptoms lasting for several days to a week.
Learn more about the Zika virus at the Centers for Disease Control and Prevention website »
For students: If you're traveling for Spring Break, see the CDC's Zika virus travel tips and precautions »
Queensborough Community College will continue to monitor this situation and will notify you of any further developments. Meanwhile, please do not hesitate to contact us with any questions. You can also visit the NYC Department of Health and Mental Hygiene website for more information on the Zika virus »
It is the mission of the Student Health Services of the City University of New York to make quality health care and health education available to all of its students in order to contribute to their academic success and personal growth.
The provision of these medical and psychological services will be sensitive to the needs of our non-traditional student body and will be tailored to the cultural diversity of the CUNY population.
With guidance from the Health Services Advisory Council, all programs are designed to help meet or exceed The Minimal Standards adopted by the CUNY Board of Trustees in May 2000. In a commitment to retain students who will successfully graduate from The City University, health promotion and disease prevention are our primary goals
To protect the health and safety of our campus community, CUNY has in place an Infectious Disease Protocol that all campuses adhere to in the rare case that an outbreak of an infectious disease is reported. This protocol is posted to University¹s website and can also be viewed here.
Flu: http://www.cuny.edu/about/administration/offices/ehsrm/healthmanagement/flupage.html
Measles, Mumps, and Rubella (MMR): http://www.cuny.edu/about/administration/offices/ehsrm/healthmanagement/mmr.html
Viral Meningitis (NonBacterial Meningitis): http://www.cuny.edu/about/administration/offices/ehsrm/healthmanagement/DOHVM.html
Ebola: http://www.cuny.edu/about/administration/offices/ehsrm/healthmanagement/ebola.html


text:
my opinion is a 66 percent cut is coming soon.
I'll take this analysis over your opinion:
There is a firewall that keeps the MI division isolated from the rest of the company. As long as the other divisions generate enough profits to pay the dividend, they can pay it. IMO the other divisions will generate more than enough money to pay the dividend.
There seems to be a lot of misunderstanding of what will happen if the MI division goes into bankruptcy. If that happens - I don't think it will - but if it does, and the stock sells off, buy all you can. It's a non-event.
I freely admit that I thought ORI was going to move higher before now. I was wrong. Nonetheless, I still think it will move much, much higher. I have 10,000+ shares. Bought more today.
well that seems a bit over exaggerated - more of an issue is the amount of dilution that will be needed to pay back the note with an (inevitable) MI default - they might need to issue 100+ shares at ~6$
according to Aldo: CCI (i.e., ORICS) is within a general ins. subsidiary although ORICS website states they are a division of ORI and policies are underwritten by ORINSCO..so unclear what capital is at risk there...i don't recall hearing there is no capital at risk (ala MI)....good Q for today's call
fair enough...i guess one would expect the risk-premium surrounding paying off the note to dissipate if there was an equity for debt swap so on the one hand there would be more shares but on the other they've ridden themselves of the note....
most likely the convert would be re-struck somewhere around $10 (vs 15.5) so its still "dilutive" but having that monkey off their back should be good
First of all, I don't think they'll have to do either. Like I said, there is no incentive for anyone to force the MI division into bankruptcy. The court would either do what's alreadty happening - or even worse, the creditors could get less or nothing.
Second, I understand your general statement that a new creditor might try to implement restrictions with a loan - which might include a dividend cut. But that assumes ORI would not be in the driver's seat and wouldn't have more than one possible source. I don't believe that's true.
ORI retiredover $300 million in debt already this year. I believe their balance sheet is strengthening. This isn't 2008 where ORI is looking bleak with all the other financial companies, when credit had dried up.
And with their cash flow improving, sans the MI division, I think they'd be able to borrow the money. They could always do it through bonds, and not a bank loan, if the banks were too stingy.
well NC statute says that only the previous year's distribution from MI (zero!) is at risk.
also, looking at NC's order, it appears that they must have (or should have) had prior approval for the spin off
so that leaves us with the GSE's being the most likely candidates who complained -> they want the tax transfers + no CCI
I feel reasonably confident in the firewall...however, CCI liabilities are gnawing at me....they have suits and countersuits against BOA and countrywide...for policies they rescinded...+ still a fair amount of risk in force there
but the cash can't stay in the subs, it is the holdco that pays dividends, not the subs directly, at some point it has to go through the holdco, someone forced the holdco to abandon the spinoff, who was it, and what else can they force the holdco to do, remember, other ori subs have to get approval in all states to operate...
If they issue debt for equity, I don't think it would be considered dilutive.
The MI division is in de facto receivership now. North Carolina is controlling the assets and runoff. They wouldn't gain anything by going through a bk court.
We should get a lot more clarity on Thursday. The dividend is paid from the other divisions, and Al was talking 10% top line growth there. I assume he meant annually. The economy might not be robust, but it is expanding nonetheless. The MI division will no doubt have ugly numbers again, but the rest of the company should look fairly good.
I don't think they will issue equity at 70% of book, or whatever the valuation is now - would make more sense to cut the dividend.
FNF reported good title results today, would expect ORI also had decent quarter in title. Commercial I am expecting relatively flat, maybe up slightly. Agree there will be some slow growth here - when rates eventually move up there could be a very substantial step up in invest income - but that is prob a 2015 event.


text:
Benjamin Button was literally born an old man. He lived a backwards life, for his body grew younger as the years passed him by. Come and listen to the original, unabridged story by F. Scott Fitzgerald which inspired the movie.
Public Domain (P)2007 B.J. Harrison
"A Good Listen"
Once you move past the absurdity of the concept and the preconceived ideas that you might have from watching the movie, this was solid story. It was funny and intriguing, while being short enough to listen to from start to finish without dedicating a whole afternoon or evening to it. Also, BJ Harrison's narration is spot on. This is definitely worth a listen.
"Interesting reflection on the phases of our lives"
B.J. Harrison's reading of this unusual story was excellent. He really reflects emotion and humor very well! F. Scott Fitzgerald's story was most unusual and very funny at times, poignant at others. This makes you glad that this phenomenon doesn't really happen! It also really makes you think about how differently we act at different ages. I haven't seen the movie so I don't know how close it is. This is a nice short book, odd though it may be, and Fitzgerald's lovely writing makes this worth a listen. (Gatsby is a must, though! Jake Gyllenhaal's performance is brilliant, here on Audible!)
Liked it a lot, but thought it would be longer. The narrator was very good.
"love the narrator"
easy to listen to. extremely entertaining! the story I've never read. listening to it was better that reading it in this case.
"loved it great narrator and author would recommenr"
great author and narrator would recommend. excellent price. loved it. you need to get this edition
"What a treat!"
Excellence stands the test of time . With this very entertaining short story clearly worthy of a listen. I enjoyed this clever look at a twist on life, out of sequence and reactions to it.
This is a fascinating look at how it would be to live life backwards. Great book by an amazing author!
Rob Thomas
"But why?"
This was an entertainingly weird story. It was very much like one of those fabulous old Twilight Zone TV show episodes.
The difference, though, is that the Twilight Zone episodes always seemed to have a point. I couldn't see the point of this story.
Still, it was interesting and entertaining.
"Movie is better than the book"
I should be fair, and that is to say the book is an original idea that had so much more potential. That is what the movie capitalized on. In addition, the book is a short story, so was limited in length as to what it could accomplish. The result was a quick rush through the events of Benjamin Button.
The story is dated, and the mores of that era come through. It is chauvinistic in tone and references to the south and pre-war slavery appear, and without apology. Be warned if you have limited tolerance for these issues.
Get this if you are curious (pardon the pun) as to the genesis of the movie plot, but don't invest the time or money if you are looking for more.
"simply amazing"
I saw the movie version but I enjoyed the book so much more. books really needs to be left alone.
"great listen"
Very short - I thought the audio book would a lot longer. BUT very well read and great narrator. ☺
"Our lives are defined by opportunities"
"You're just the romantic age," she continued- "fifty. Twenty-five is too worldly wise; thirty is apt to be pale from overwork; forty is the age of long stories that take a whole cigar to tell; sixty is- oh, sixty is too near seventy; but fifty is the mellow age. I love fifty." - Hildegarde"
― F. Scott Fitzgerald, The Curious Case of Benjamin Button
A life that is lived backward from old to young would seem a nonsensical thing to attempt to write but F. Scott Fitzgerald could write backwards if he wanted to and achieved a story that is sad, humorous, and life affirming in a very short space. A story that has been expanded in play form and film. The play by Eric Roth is also beautifully written and is as quotable as the original. The movie version directed by David Fincher is superb and adds to the original with sensitivity and imagination.
This is the first point to visit Benjamin when he was first born old.
"Wish it was longer"
I thoroughly enjoyed the film and expected the book to be as good or better. It wasn't ... Nowhere near as engaging as the film. But taken on its own, it's very good although only an hour in length...
"beautifully read. .did justice to the book"
beautiful story..brought back memories of the movie..however was shorter than the movie but was good
"Short Story"
Great short story which was made into the now well known movie. Worth the listen.
Have heard of the film of the same name but never knew what it was about until now. Love the way the story was told. It had the feel of 'tales of the unexpected. Good story. Thank you.
"A great sketch of a novella read wonderfully. Thi"
This story has become the victim of the Brad Pitt film. As a novella it has a wonderfully light touch. It was never meant to be a novel. Beautifully read.
"A Quick, Concise Read That Is Interesting"
I chose this as I have seen the film and liked it. This was descriptive and easy to listen to, but I would have liked more detail in some parts. At times I found the narrator's imitation of accents annoying as well as their tone of voice. I wanted the story to be longer but it was a quick read. I read it during the Dewey's 24 Hour Readathon and it's a good book for reading challenges because of the length of the story. Very concise.
Report Inappropriate Content
If you find this review inappropriate and think it should be removed from our site, let us know. This report will be reviewed by Audible and we will take appropriate action.


text:
AMMAN, Jordan (AP) - Jordan's King Hussein, who is undergoing treatment for cancer in the United States, is in critical condition and is expected to arrive home soon.
In the statement faxed to The Associated Press in Amman, Lt. Gen Samir Farraj said Hussein, his American-born wife Queen Noor and other family members were expected to return home. He did not say when.
But other officials in Amman said Hussein was expected to fly from Rochester later today and arrive home on Friday. The officials insisted on anonymity.
The king's plane reportedly is being readied at the Rochester airport.
They said Hussein will undergo further treatment at home.
No other information was immediately available.
The statement of Lt. Gen. Samir Farraj was issued at the Mayo Clinic in Rochester, Minn., where Hussein has been since Jan. 25 receiving treatment for a recurrence of non-Hodgkin's lymphoma cancer.
President Clinton, speaking before a gathering at the National Prayer Breakfast this morning, said: "I ask you to pray for our King Hussein, a wonderful human being, a champion of peace who, I promise you today, is fighting for his life mostly so he can continue to fight for peace."
It was not clear when Clinton spoke whether he was aware of the plan for Hussein's return to Jordan.
A statement issued by Hussein's private physician said the 63-year-old monarch's condition "has become critical due to the failure of the function of internal organs."
On Tuesday, the monarch was reported in stable condition after a bone marrow transplant.
Jordan's ambassador to Washington, Marwan Mouasher, said then that the king had completed a round of chemotherapy and added the next two weeks would be critical in determining if the chemotherapy is working and the transplant was being accepted.
Amarillo Globe-News © 2016. All Rights Reserved. Terms of Service | Privacy Policy / About Our Ads


text:
"Bikes, there not a better Dutch way" Top 5 Page for this destination Bicycle - Cycling Tip by Pavlik_NL
Bicycle - Cycling, Amsterdam: 117 reviews and 156 photos
Amsterdam is crawling with cyclists. Watch out when you cross the streets. Watch out when you walk the sidewalk. They are everywhere. Well, if yo can't beat them join them There are various places where you can rent a bike and for not even that much money. Anyway, it is THE way to see Amsterdam the Dutch way and is always in for a few good laughs. Ah, before I forget: always lock the bike against something fixed. Each year several 10.000 bycicles change owner in the stealing way.
Mode: AROUND
Type: Bicycle
More Transportation in Amsterdam (10)
More Reviews (97)
Local Customs (11)See All Living like luggage
Nightlife (7)See All The place for real Rhythm and Blues
Off The Beaten Path (8)See All Architecture, Amsterdam has a dazzling...
Things to Do (40)See All Churches: "De Krijtberg"
Shopping (5)See All Getting it cheap ... on the market(s)
Hotels (11)See All Looking out on the Vondelpark
Warnings and Dangers (2)See All 80.000 bicycles per year!
Restaurants (3)See All The best local Dutch cuisine in...
Favorites (10)See All "Klok"-gevel (facade) in Amsterdam...
Been to Amsterdam?Share your travels with the world!
Pavlik_NL's Related Pages
"Our dream: one world, without borders"
- Member Rank:
- 0 0 1 8 0
- Forum Rank:
- 0 0 3 8 6
- 3,267 Reviews
- 5,478 Photos
- Add Friend
- Follow
- Send Message
Have you been to Amsterdam?Share Your Travels


text:
I have Sublime Text 3, and I followed the instructions to install the package manager:
Git Install
Since Sublime Text 3 no longer extracts the contents of .sublime-package files by default, and the fact that Package Control needs to read CA cert files from disk for SSL certificate verification, the only viable install method right now is via Git.
Please note, the Packages/ folder listed below refers to the folder that opens when you use the Preferences > Browse Packages… menu.
cd Packages/
git clone https://github.com/wbond/sublime_package_control.git "Package Control"
cd "Package Control"
git checkout python3
However when I search for the package control command by pressing Ctrl+Shift+P, I don't see it.
How do I properly install the package manager?


text:
If you've ever looked at your Android keyboard and thought, "Man, that thing is just too opaque," then this is a big day for you. Fleksy keyboard has left beta and is available for download in Google Play. This alternative input method uses aggressive autocorrect and gestures to do away with much of the keyboard UI – even making it completely transparent.
Fleksy seems to be one of those things that either works for you or doesn't – Not a lot of middle ground.Read More


text: Since our inception, Sulky of America has been a leader in education to the home sewing enthusiast. We love teaching you how to use our products, inspire you to go to greater heights and enhance your creativity so you can "Create with Confidence". Our national Sulky Educators will guide you, step-by-step.


text:
This all sounds very fun! But hey I'm a huge geek
I've accomplished all of that but using the DIR-615.
Black spots are a huge pain in the a*se, like you said just run a cable to another Access point (AP) that will cover the black spot. You could look at powerline adapters if you didn't want to run cables here there and everywhere. I'll link a few at the bottom. They run your network through, effectively, you home power cables. It's rather awesome!
If you were to run a cable or powerline to a new AP. I would recommend doing this next to your PS3 and then using a port on the new AP for your PS3 connection.
NAS is very easy to setup, Synology are very reliable and easy to use. I think thats your best bet, just hook it up to your main router and config the settings and your off.
Before you go buying anything, check out the Slingboxes, I'll link it below. Excellent TV streaming system!
Powerline // http://www.amazon.co.uk/TP-Link-PA411KIT-AV500-Powerline-Adapter/dp/B0084Y9N3O/ref=sr_1_1?ie=UTF8&qid=1366543918&sr=8-1&keywords=powerline+adaptors+triple
Slingbox // http://uk.slingbox.com/
Hello everyone!
So here is what I am trying to accomplish.
Right now I only have a DIR-655, a have computer, my PS3 and a printer connected to it wirelessly.
Only using the DIR-655 creates a few dead zones in my house. I thought about placing another router/access point and bringing a network cable from the 655 to this new device in my living room, that way I would be able to eliminate the dead zones and connect my PS3 to network using wires instead of the wireless.
I am also planning of adding a NAS to my network for backup and streaming, I had a look online and the Synology 213 so far is my pick and I also might add a WD live hub so I can stream it's content (.mkv) to multiple devices.
From my researches I found that a DAP-1522 would be a good choice, however another DIR-655 would be the exactly same price! So, which one should I go for? Other alternatives are always valid as well! I just never had problems with D-Link!
If you guys have any other idea or tips, please let me know! This is what I am trying to accomplish:
*Eliminate the dead zone
*Connect my PS3 to the network using wire
*Add a NAS (Synology 213 probably) to the network for backup
*Add a device so I can stream form my NAS (Maybe a WD Tv live hub)