Using Multiple Puppet Masters
To scale beyond a certain size, or for geographic distribution or disaster recovery, a deployment may warrant having more than one puppet master server. This document outlines options for deployments with multiple masters.
Note: As of this writing, this document does not cover:
- How to expand Puppet Enterprise’s orchestration or live management features
- How to use multiple PE console or Puppet Dashboard servers
In brief:
- Determine the method you will use to distribute the agent load among the available masters
- Centralize all certificate authority functions
- Bring up additional puppet master servers
- Centralize reporting, inventory service, and storeconfigs (if necessary)
- Keep manifests and modules in sync across your puppet masters
- Implement agent load distribution
Distributing Agent Load
First things first; the rest of your configuration will depend on how you’re planning on distributing the agent load. You have several options available. Determine what your deployment will look like now, but implement this as the last step, only after you have the infrastructure in place to support it.
Option 1: Statically Designate Servers on Agent Nodes
Manually or with Puppet, change the server
setting in each agent node’s puppet.conf
file such that the nodes are divided more or less evenly among the available masters.
This option is labor-intensive and will gradually fall out of balance, but it will work without additional infrastructure.

For instance, if all of your agent nodes are configured with server = puppet.example.com
, you’ll configure a DNS name such as:
# IP address of master 1:
puppet.example.com. IN A <IP_ADDRESS>
# IP address of master 2:
puppet.example.com. IN A <IP_ADDRESS>
For this option, you’ll need to configure your masters with dns_alt_names
before their certificate request is made — see below.
Option 3: Use a Load Balancer
You can also use a hardware load balancer or a load balancing proxy webserver to redirect requests more intelligently. Depending on how it’s configured for SSL (either raw TCP proxying, or acting as its own SSL endpoint), you’ll need to use a combination of the other procedures in this document.
Configuring a load balancer is beyond the scope of this document.
Option 4: DNS SRV
Records
This option is new in Puppet 3.0, and will only work if your entire Puppet infrastructure is on 3.0 or newer.
Note: Designating Puppet services with SRV records is an experimental feature. It is currently being used in production at several large sites, but there are still some issues with the implementation to be wary of. Specifically: it makes a large number of DNS requests, request timeouts are completely under the DNS server’s control and agents cannot bail early, the way it divides services does not map perfectly to the pre-existing
server
/ca_server
/etc. settings, and SRV records don’t interact well with static servers set in the config file (i.e. static settings can’t be used for failover, it’s one or the other). Please keep these potential pitfalls in mind when configuring your DNS!
You can use DNS SRV
records to assign a pool of puppet masters for agents to communicate with. This requires a DNS service capable of SRV
records — all major DNS software including Windows Server’s DNS and BIND are compatible.
Each of your puppet nodes will be configured with a srv_domain
instead of a server
in their puppet.conf
:
[main]
use_srv_records = true
srv_domain = example.com
..then they will look up a SRV
record at _x-puppet._tcp.example.com
when they need to talk to a puppet master.
# Equal-weight load balancing between master-a and master-b:
_x-puppet._tcp.example.com. IN SRV 0 5 8140 master-a.example.com.
_x-puppet._tcp.example.com. IN SRV 0 5 8140 master-b.example.com.
Advanced configurations are also possible. For instance, if all devices in site A are configured with a srv_domain
of site-a.example.com
and all nodes in site B are configured to site-b.example.com
, you can configure them to prefer a master in the local site, but fail over to the remote site:
# Site A has two masters - master-1 is beefier, give it 75% of the load:
_x-puppet._tcp.site-a.example.com. IN SRV 0 75 8140 master-1.site-a.example.com.
_x-puppet._tcp.site-a.example.com. IN SRV 0 25 8140 master-2.site-a.example.com.
_x-puppet._tcp.site-a.example.com. IN SRV 1 5 8140 master.site-b.example.com.
# For site B, prefer the local master unless it's down, then fail back to site A
_x-puppet._tcp.site-b.example.com. IN SRV 0 5 8140 master.site-b.example.com.
_x-puppet._tcp.site-b.example.com. IN SRV 1 75 8140 master-1.site-a.example.com.
_x-puppet._tcp.site-b.example.com. IN SRV 1 25 8140 master-2.site-a.example.com.
Centralize the Certificate Authority
The additional puppet masters at a site should only share the burden of compiling and serving catalogs; any certificate authority functions should be delegated to a single server. Choose one server to act as the CA, and ensure that it is reachable at a unique hostname other than (or in addition to) puppet
.
There are two main options for centralizing the CA:
Option 1: Direct agent nodes to the CA Master
Method A: Individual Agent Configuration
On every agent node, you must set the ca_server
setting in puppet.conf
(in the [main]
configuration block) to the hostname of the server acting as the certificate authority.
- If you have a large number of existing nodes, it is easiest to do this by managing
puppet.conf
with a Puppet module and a template. - Be sure to pre-set this setting when provisioning new nodes — they will be unable to successfully complete their initial agent run if they’re not communicating with the correct
ca_server
.
Method B: DNS SRV
Records
If you are utilizing SRV
records for agents, then you can use the _x-puppet-ca._tcp.$srv_domain
DNS name to configure clients to point to a single specific CA server, while the _x-puppet._tcp.$srv_domain
DNS name will be handling the majority of their requests to masters and can be a set of puppet masters without CA capabilities.
Option 2: Proxy Certificate Traffic
Alternately, if your nodes don’t have direct connectivity to your CA master, you aren’t using SRV
records, or you do not wish to change every node’s puppet.conf
, you can configure the web server on the puppet masters other than your CA master to proxy all certificate-related traffic to the designated CA master.
This method only works if your puppet master servers are using a web server that provides a method for proxying requests, like Apache with Passenger.
All certificate related URLs begin with /<NAME OF PUPPET ENVIRONMENT>/certificate
; simply catch and proxy these requests using whatever capabilities your web server offers.
Example: Apache configuration with
mod_proxy
In the scope of your puppet master vhost, add the following configuration:
SSLProxyEngine On # Proxy all requests that start with things like /production/certificate to the CA ProxyPassMatch ^/([^/]+/certificate.*)$ https://puppetca.example.com:8140/$1
This change must be made to the Apache configuration on every puppet master server other than the one serving as the CA. No changes need to be made to agent nodes’ configurations.
Additionally, the CA master must allow the nodes to download the certificate revocation list via the proxy, without authentication — certificate requests and retrieval of signed certificates are allowed by default, but not CRLs. Add the following to the CA master’s
auth.conf
:path /certificate_revocation_list auth any method find allow *
Create New Puppet Master Servers
Install Puppet
To add a new puppet master server to your deployment, begin by installing and configuring Puppet as per normal.
Like with any puppet master, you’ll need to use a production-grade web server rather than the default WEBrick server. We generally assume that you know how to do this if you’re already at the point where you need multiple masters, but see Scaling with Passenger for one way to do it.
Before Running puppet agent
or puppet master
- In
puppet.conf
, do the following:- Set
ca
tofalse
in the[master]
config block. -
If you’re using the individual agent configuration method of CA centralization:
Set
ca_server
to the hostname of your CA server in the[main]
config block. - If an
ssldir
is configured, make sure it’s configured in the[main]
block only.
- Set
If you’re using the DNS round robin method of agent load balancing, or a load balancer in TCP proxying mode, your non-CA masters will need certificates with DNS Subject Alternative Names:
Configure
dns_alt_names
in the[main]
block ofpuppet.conf
.It should be configured to cover every DNS name that might be used by a node to access this master.
dns_alt_names = puppet,puppet.example.com,puppet.site-a.example.com
If the agent or master has been run and already created a certificate, blow it away by running
sudo rm -rf $(puppet master --configprint ssldir)
. If a cert has been requested from the master, you’ll also need to delete it there to re-issue a new one with the alt names:puppet cert clean master-2.example.com
.
- Request a new certificate by running
puppet agent --test --waitforcert 10
. -
Log into the CA server and run
puppet cert sign master-2.example.com
.(You’ll need to add
--allow-dns-alt-names
to the command ifdns_alt_names
were in the certificate request.)
Centralize Reports, Inventory Service, and Catalog Searching (storeconfigs)
If you are using Puppet Dashboard or another HTTP report processor, you should point all of your puppet masters at the same shared Dashboard server; otherwise, you won’t be able to see all of your nodes’ reports.
If you are using the inventory service or exported resources, it’s complex and impractical to use any of the older (activerecord) backends in a multi-master environment. You should definitely switch to PuppetDB, and point all of your puppet masters at a shared PuppetDB instance. A reasonably robust PuppetDB server can handle many puppet masters and many thousands of agent nodes.
See the PuppetDB manual for instructions on setting up PuppetDB. You will need to deploy a PuppetDB server, then configure each puppet master to use it.
Keep Manifests and Modules in Sync Across Your Puppet Masters
You will need to find some way to ensure that all of your puppet masters have identical copies of your manifests, Puppet modules, and external node classifier data. Some options are:
- Use a version control system such as Git, Mercurial, or Subversion to manage and sync your manifests, modules, and other data.
- Run an out-of-band rsync task via cron.
- Configure puppet agent on each master node to point to a designated model puppet master, then use Puppet itself to distribute the modules.
Implement Load Distribution
Now that your other masters are ready, you can implement the agent load balancing mechanism that you selected above.


New Photos: Coen Brother's Burn After Reading | FirstShowing.net
Apr 29, 2008 . The Coen Brother's hotly anticipated Burn After Reading (tentatively titled) is getting a lot of love this week. First we learn (via Yahoo) that the .
http://www.firstshowing.net/2008/new-photos-coen-brothers-burn-after-reading/
Treatment for Herniated or Bulging Discs
Burn After Reading movie quotes
Burn After Reading quotes, together with mistakes, trivia and more. . In the first meeting room at the Russian Embassy, the picture behind Linda and Chad .
http://www.moviemistakes.com/film7550/quotes
Pictures & Photos from Burn After Reading - IMDb
View photos from Burn After Reading (2008) on IMDb!
http://www.imdb.com/media/rm491558656/tt0887883
burm after reading pictures Herniated or Bulging Discs
Burn After Reading | Trailer and Cast - Yahoo!  Movies. An ousted CIA official's memoir accidentally falls into the .
http://movies.yahoo.com/movie/burn-after-reading/
Burn After Reading Pictures, News, Reviews, Summary, Great Film ...
Burn After Reading Pictures, News, Reviews, Summary, Great Film Moments, Cast and Crew, Videos.
http://www.starpulse.com/Movies/Burn_After_Reading/
Burn After Reading - Movie News - TV Guide
Burn After Reading Trailer, Reviews, Schedule, Photos and Burn After Reading Cast on TVGuide.com.
http://movies.tvguide.com/burn-after-reading/293231
Official Impairment Listing for Spinal Disorders
Burn after Reading [Original Motion Picture Soundtrack] - Amazon.com
Amazon.com: Burn after Reading [Original Motion Picture Soundtrack]: Carter Burwell: Music.
http://www.amazon.com/Reading-Original-Motion-Picture-Soundtrack/dp/B001DZN5W6
- toronto dirty dancing show (narrowing of the spine)
Burn After Reading Pictures, Photos & Images - IMDb
View the latest pictures, photos and images from Burn After Reading - Osbourne Cox, a Balkan expert, is fired at the CIA, so he begins a memoir. His ...
http://www.imdb.com/title/tt0887883/mediaindexBurn After Reading Picture 14
George Clooney stars as Harry Pfarrer and Tilda Swinton stars as Katie Cox in Focus Features' Burn After Reading (2008). Photo credit by Macall Polay.
http://www.aceshowbiz.com/still/00003782/burn_after_reading14.html
Burn After Reading (2008) - IMDb
Photos. Still of Ethan Coen and Joel Coen in Burn After Reading · Still of John Malkovich in Burn After Reading · Ethan Coen at event of Burn After Reading .
http://www.imdb.com/title/tt0887883/
Burn After Reading Photos
178 photos of Burn After Reading - Photo Gallery. Latest Burn After Reading Images. Recent Photo of Burn After Reading.
http://photos.lucywho.com/burn-after-reading-photos-t618014.html
Medical-Vocational Allowance for Herniated Disc
Burn After Reading - Movie Trailers - iTunes
Burn After Reading (Original Motion Picture Soundtrack). Album Burn After Reading (Original Motion Picture Soundtrack) Get in iTunes. Other Movies by .
http://trailers.apple.com/trailers/focus_features/burnafterreading/
Burn After Reading - Wikipedia, the free encyclopedia
Burn After Reading is a 2008 black comedy film written, produced, edited . With her husband out of the picture, Katie invites her lover, Harry Pfarrer to move in.
http://en.wikipedia.org/wiki/Burn_After_Reading
Burn After Reading Photos - Hollywood Movies - About.com
Photos from the movie Burn After Reading featuring George Clooney, Brad Pitt, Frances McDormand, Tilda Swinton, and John Malkovich. Burn After Reading .
http://movies.about.com/od/burnafterreading/ig/Burn-After-Reading-Photos/
Appealing a Denial of Benefits
Burn After Reading Pictures (Movie) photo 1 - Zap2it
See picture from Burn After Reading (movie): Poster Art.
http://movies.zap2it.com/movies/burn-after-reading/photo-gallery-detail/175517/184008
Burn after Reading [Original Motion Picture Soundtrack] - Carter ...
Sep 2, 2008 . Find album reviews, stream songs, credits and award information for Burn after Reading [Original Motion Picture Soundtrack] - Carter Burwell .
http://www.allmusic.com/album/burn-after-reading-original-motion-picture-soundtrack-mw0000800636


The Thirteenth Floor (1999) A capsule review by Nathaniel R. Atcheson
Director: Josef Rusnak Cast: Craig Bierko, Gretchen Mol, Armin Mueller-Stahl, Vincent D'Onofrio, Dennis Haysbert, Steve Schub Screenplay: Josef Rusnak, Ravel Centeno-Rodriguez Producers: Roland Emmerich, Ute Emmerich, Marco Weber Runtime: US Distribution: Columbia Rated R: Violence, language
Copyright 1999 Nathaniel R. Atcheson
The Thirteenth Floor is a bland, obligatory exercise in genre film-making. If I hadn't recently watched The Matrix and Open Your Eyes -- both of which are similar but far superior -- I might have been a little nicer to this picture. Craig Bierko makes an adequate hero as Douglas Hall, the rich co-creator of a perfect human world simulation who is suddenly blamed for the murder of his boss (Armin Mueller-Stahl). Everything that was subtle and smart about the previously mentioned films is battered over our heads in this one, and characters stare at each other for maddeningly-long periods of time and refuse to communicate on any realistic level. The acting is okay, but the film suffers from every logical flaw one could think of, and features a script (co-penned by director Josef Rusnak) loaded with cliches and stock characters. There are individual scenes and ideas that work -- I like the thought of a sentient computer program -- but none of the film's strengths are recognized to any meaningful degree. Producer Roland Emmerich, based on this and his previous directorial efforts, seems hell-bent on bringing us the ultimate standard in mediocre science-fiction.
Psychosis Rating: 4/10
Visit FILM PSYCHOSIS at http://www.pyramid.net/natesmovies
Nathaniel R. Atcheson
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


| Service | Price | Person in charge |
|---|---|---|
| iPhone | 100 usd | Michel |
| iPad | 160 usd | Michel Michel |
| iMac | 350 usd | Michel Michel Michel |
| 3D printing | Contact us for a quote | Michel |
| Special order | Contact us for a quote | Michel Michel |
| Service | Price | Person in charge |
|---|---|---|
| iPhone | 100 usd | Michel |
| iPad | 160 usd | Michel Michel |
| iMac | 350 usd | Michel Michel Michel |
| 3D printing | Contact us for a quote | Michel |
| Special order | Contact us for a quote | Michel Michel |


{% extends "base.html" %} {% load bulma_tags %} {% block content %} {{ website_name }} : Redirect Attention {{site_name}} service has found that The website that you were trying to access has been flagged and can be potentianly unsafe . You can still click on the link and it's upto your decesion to continue to the website. {{ link }} Go Back to {{ website_name }} {% endblock content %}
{{site_name}} service has found that The website that you were trying to access has been flagged and can be potentianly unsafe . You can still click on the link and it's upto your decesion to continue to the website. {{ link }}


Visit https://widget.knstats.com/widget/config to config the Kyber Widget.
Please set https://kyberpay-sample.knstats.com/callback
as the callback URL.
To get the list of transaction in JSON format, click /list.
To clear transaction history, click /clear.
This list auto-updates, so no need to refresh page.


copBasic: General Bivariate Copula Theory and Many Utility Functions
Extensive functions for bivariate copula (bicopula) computations and related
operations concerning oft cited bicopula theory described by Nelsen (2006), Joe (2014), and
other selected works. The lower, upper, product, and select other bicopula are implemented.
Arbitrary bicopula expressions include the diagonal, survival copula, the dual of a copula,
co-copula, numerical bicopula density, and maximum likelihood estimation. Level
curves (sets), horizontal and vertical sections also are supported. Numerical derivatives and
inverses of a bicopula are provided; simulation by the conditional distribution method thus is
supported. Bicopula composition, convex combination, and products are provided. Support
extends to Kendall Function as well as the Lmoments thereof, Kendall Tau, Spearman Rho and
Footrule, Gini Gamma, Blomqvist Beta, Hoeffding Phi, Schweizer-Wolff Sigma, tail dependency
(including pseudo-polar representation) and tail order, skewness, and bivariate Lmoments.
Evaluators of positively/negatively quadrant dependency, left increasing and right
decreasing are available. Kullback-Leibler divergence, Vuong's procedure, Spectral Measure,
and Lcomoments for copula inference are available. Quantile and median regressions for
V with respect to U and U with respect to V are available. Empirical copulas (EC) are supported.
Downloads:
Reverse dependencies:
Linking:
Please use the canonical form
https://CRAN.R-project.org/package=copBasic
to link to this page.


Open Letter to David Bennett - Prisoners not clients?
by Richard MajorPrisoners not clients? …..
Saturday 23 November 2019
Dear Mr Bennett
In reference to your Press release 22 November 2019
“David Bennett – They’re prisoners, not clients Kelvin”
I question how you can somehow construe that the title of a prisoner, inmate, convict, men in care, women in care or clients is somehow a “soft on crime approach”.
How does the definition of a person incarcerated have any relevance whatsoever to a Governments stance on crime?
And just to be clear, there is a duty of care for prisoners. Otherwise are you implying the repeat drink driver should be left to their own devices against a serious violent offender? Or the drug addict who has been swept under the legal carpet should face off with a gang member who is earning their stripes?
Not all “persons in care” pose the danger to New Zealand citizens as you refer. In fact, most are inside through an unavoidable culture of criminal activity that they have had no say in from a young age. In a lot of cases they are the victims.
Reducing numbers in prison is a positive step, if handled in the right manner by politicians, or member’s or civil servants or whatever you wish to be called. And trust me, there are many names the general public gives politicians which, either way, has no impact on your performance or the way you are viewed.
An “informed” civil servant would know prison is not a holiday and freeing up the funds associated with incarceration and directing them towards a more positive form of crime reduction education is taxpayer’s money better spent.
Also, to “politicise” Christchurch or any other heinous crime in order to get your point across is not acceptable. I have no party preference but take serious offence to that political tactic.
END


{% include header.html %} {% include about.html %} {% include one.html %}
{% include two.html %} {% include coreservice.html %} {% include
three.html %} {% include four.html %} {% include teammobile.html %} {%
include teammobileTwo.html %} {% include advisor.html %} {% include
roadmap.html %} {% include investors.html %} {% include partners.html %}
{% include press.html %} {% include footer.html %}


Regal Art Search App
This app utilizes the Harvard Art Museum and the Digital Public Libray of America API's to allow you to search for view and research your favorite paintings and artists.
View App Github RepoThrive Recipe Search
Full-stack React App to simplify recipe searches that cater to users' dietary and lifestyle needs.
View App Github RepoNews Scraper
This app scrapes the New York Times home page, populates the articles' titles, summaries, and links while allowing the user to add personal notes pertaining to articles of their choosing.
View App Github RepoCrystal Collector
This is a simple game where the user has to select crystals of unkown values to and try to get them to add up to the random computer generated number displayed on the screen.
View App Github Repo


My To Do List:
My next task...
Add task
Things to do
2
Buy cat food
Task done!
Delete me!
Write up notes from this week's lecture
Task done!
Delete me!
Completed Tasks:
1
Pick up parcel from the post office
Not done
Delete me!


Caesars Cipher
Explanation: Shifts the letters by some set amount. A common modern use is the ROT13 cipher, where the values of the letters are shifted by 13 places: 'A' ↔ 'N', 'B' ↔ 'O' and so on.
Cryptography
The Caesar cipher
Explanation: Shifts the letters by some set amount. A common modern use is the ROT13 cipher, where the values of the letters are shifted by 13 places: 'A' ↔ 'N', 'B' ↔ 'O' and so on.


MARGIN vs BORDER vs PADDING
CSS Margin
The CSS margin properties are used to create space around elements, outside of any defined borders. With CSS, you have full control over the margins.
CSS Border
The CSS border properties allow you to specify the style, width, and color of an element's border.
CSS Padding
The CSS padding properties are used to generate space around an element's content, inside of any defined borders. With CSS, you have full control over the padding.
Similarities
All of which have the same values for setting the their respective properties for each side of the imaginary box:
- Top
- Right
- Bottom
- Left
Differences
Margin changes the space around the object and has the ability to move the target object by doing so.
Border outlines the object and can help adjust the shape of the content.
Padding adds onto the object from within.
The Box Model
In CSS, the term "box model" is used when talking about design and layout.
It is essentially a box that wraps around every HTML element. It consists of: margins, borders, padding, and the actual content. The image below illustrates the box model:
content
As seen in the figure above, the following statements are true along with the colors shown below:
- Margin sits outside of the content.
- Border sits on the content and outlines the border.
- Padding sits inside the content.


src.networks.cnn¶
File: cnn.py | Created on the 2019-02-22 | Github: https://github.com/pl19n72019
This file contains the network.CNN class which provides useful functions to init, train, load, and save cnn models.
-
class
src.networks.cnn.
CNN
(model=None, dataset_path=None, batch_size=128, load_models=None, version=0)[source]¶ Bases:
object
Global functionalities of the convolutional neural networks.
This class allows to train convolutional network (define in the package models), and to perform all classic operations on the neural networks.
-
__init__
(model=None, dataset_path=None, batch_size=128, load_models=None, version=0)[source]¶ Creation of the CNN functionalities treatment object.
It loads and create the dataset and the models. Only 80% of the load data are used for the training phase. The other 20% are use to validate the model during the fitting phase. Moreover, the shape of the data (train and test) are fitting to run on 2-dimensional convolutional neural network (which offers the best results). If other network are used, reshape the data at the input of the network. A generator approach is used for loading the data, which means that the data is loaded batch per batch.
Parameters: - model – Model of cnn (should be created in the package models) (default: None). Set it to None if you’re loading an existing model.
- dataset_path (str) – Path to the dataset (default: None). If it is set to None, the current path is selected. Note that you need to point toward a dataset folder as described in the maintenance section of the documentation.
- batch_size (int) – Size of the batch (default: 128).
- load_models (str) – Model to load (default: None). If it is set to None, no model is loaded. In that case model shoul not be set at None.
- version (int) – Version of encoder to load (default: 0). If load_models is not None, it refers to the version of encoder to load. By default, it loads the first model created by the outer-loop.
Note
This file should not be modified to be adapter to other networks. Only the package models and the main script should be modified.
-
compile
(optimizer='adadelta', loss='mean_squared_error')[source]¶ Compile the complete model.
This method should be call only on new neural network.
Parameters: - optimizer (str (name of optimizer) or optimizer instance) – Optimizer used to train the neural network (default: ‘adadelta’).
- loss (str (name of objective function) ob objective function) – Objective function used to analyze the network during the different phases (default: ‘mean_squared_error’).
Note
This method should not be modified to be adapter to other networks. Only the package models and the main script should be modified.
-
fit
(epochs=50, repeat=1, fname='cnn', verbose=1)[source]¶ Trains the model for a given number of epochs (iterations on a dataset).
This method should be call only on new neural network.
Parameters: - epochs (int) – Number of epochs to run on each outer-loop (default: 50). At the end of each epoch iterations, the neural networks are saved.
- repeat (int) – Number of outer-loops (default: 1). At the end of the training phase, epochs * repeats epochs are performed. Moreover, repeat networks are saved on the disk.
- fname (str) – Name of the complete neural network on the disk (default: ‘cnn’).
- verbose (int, 0, 1, or 2) – Verbosity mode (default: 1). 0 = silent, 1 = progress bar, 2 = one line per epoch.
Returns: A record of training loss values and metrics values at successive epochs, as well as validation loss values and validation metrics values (if applicable).
Note
This method should not be modified to be adapter to other networks. Only the package models and the main script should be modified.
-
load_losses
(fname='cnn')[source]¶ Loads the history given as input.
This method can be call on every instantiation (the flag load_models is not intended to be set to None).
Parameters: fname (str) – Name of the file to load (default: ‘cnn’). Note
This method should not be modified to be adapter to other networks. Only the package models and the main script should be modified.
-
load_weights
(fname='cnn', version=0)[source]¶ Loads the weights of the networks.
This method can be call on every instantiation.
Parameters: - fname (str) – Name of the file to save (default: ‘cnn’).
- version (int or str) – Version of the network weights to load (default: 0). It refers to the repeat flag in the fitting method.
Note
This method should not be modified to be adapter to other networks. Only the package models and the main script should be modified.
-
predict
(x, batch_size=128, smooth=False, smooth_args=(53, 2))[source]¶ Generates complete predictions for the input samples.
This method should be call only on new neural network.
Parameters: - x (numpy.ndarray like) – Input data.
- batch_size (int) – Number of samples per pass (default: 128).
- smooth (bool) – Smoothing flag (default: False). If it is set to True, the output is smoothed using the smooth_args parameters.
- smooth_args (tuple) – Smooth algorithm parameters (default: (53, 2)).
Returns: Numpy array(s) of reshaped predictions (for displaying).
Note
This method should not be modified to be adapter to other networks. Only the package models and the main script should be modified.
-
save_architecture
(fname='cnn')[source]¶ Saves the architectures of the networks.
This method can be call on every instantiation.
Parameters: fname (str) – Name of the file to save (default: ‘cnn’). Note
This method should not be modified to be adapter to other networks. Only the package models and the main script should be modified.
-
save_losses
(history, fname='cnn')[source]¶ Saves the history given as input.
This method can be call on every instantiation.
Parameters: - history (dict) – History the save on disk.
- fname (str) – Name of the file to save (default: ‘cnn’).
Note
This method should not be modified to be adapter to other networks. Only the package models and the main script should be modified.
-
save_weights
(fname='cnn', architecture=True)[source]¶ Saves the weights of the networks.
This method can be call on every instantiation.
Parameters: - fname (str) – Name of the file to save (default: ‘cnn’).
- architecture (bool) – Architecture flag (default: True). If architecture is set to True, the architecture the the network related to the flag full is saved in a JSON format.
Note
This method should not be modified to be adapter to other networks. Only the package models and the main script should be modified.
-


The idea of digital currency was first introduced in 1985 in a writing by David Chaum.
1998, Wei Dai published a description of b-money, an anonymous, distributed electronic cash system. Shortly thereafter, Nick Szabo created Bit Gold. Other efforts were attempted and failed.
The first decentralized cryptocurrency, bitcoin, was created in 2009 by pseudonymous developer Satoshi Nakamoto.
Many other cryptocurrencies have been created though few have been successful. Other cryptocurrencies are often referred to as Altcoins.


Please refer to the errata for this document, which may include some normative corrections.
Copyright © 2010-2013 W3C® (MIT, ERCIM, Keio, Beihang), All Rights Reserved. W3C liability, trademark and document use rules apply.
The last couple of years have witnessed a fascinating evolution: while the Web was initially built predominantly for human consumption, web content is increasingly consumed by machines which expect some amount of structured data. Sites have started to identify a page's title, content type, and preview image to provide appropriate information in a user's newsfeed when she clicks the "Like" button. Search engines have started to provide richer search results by extracting fine-grained structured details from the Web pages they crawl. In turn, web publishers are producing increasing amounts of structured data within their Web content to improve their standing with search engines.
A key enabling technology behind these developments is the ability to add structured data to HTML pages directly. RDFa (Resource Description Framework in Attributes) is a technique that allows just that: it provides a set of markup attributes to augment the visual information on the Web with machine-readable hints. In this Primer, we show how to express data using RDFa in HTML, and in particular how to mark up existing human-readable Web page content to express machine-readable data.
This document provides only a Primer to RDFa 1.1. The complete specification of RDFa, with further examples, can be found in the RDFa 1.1 Core [rdfa-core], RDFa Lite [rdfa-lite], XHTML+RDFa 1.1 [xhtml-rdfa], and the HTML5+RDFa 1.1 [rdfa-in-html] specifications.
This section describes the status of this document at the time of its publication. Other documents may supersede this document. A list of current W3C publications and the latest revision of this technical report can be found in the W3C technical reports index at http://www.w3.org/TR/.
This document was published by the RDFa Working Group as a Working Group Note. If you wish to make comments regarding this document, please send them to<EMAIL_ADDRESS>(subscribe, archives). All comments are welcome.
Publication as a Working Group Note does not imply endorsement by the W3C Membership. This is a draft document and may be updated, replaced or obsoleted by other documents at any time. It is inappropriate to cite this document as other than work in progress.
This document was produced by a group operating under the 5 February 2004 W3C Patent Policy. W3C maintains a public list of any patent disclosures made in connection with the deliverables of the group; that page also includes instructions for disclosing a patent. An individual who has actual knowledge of a patent which the individual believes contains Essential Claim(s) must disclose the information in accordance with section 6 of the W3C Patent Policy.
The web is a rich, distributed repository of interconnected information. Until recently, it was organized primarily for human consumption. On a typical web page, an HTML author might specify a headline, then a smaller sub-headline, a block of italicized text, a few paragraphs of average-size text, and, finally, a few single-word links. Web browsers will follow these presentation instructions faithfully. However, only the human mind understands what the headline expresses-a blog post title. The sub-headline indicates the author, the italicized text is the article's publication date, and the single-word links are subject categories. Computers do not understand the nuances between the information; the gap between what programs and humans understand is large.
What if the browser, or any machine consumer such as a Web crawler, received information on the meaning of a web page's visual elements? A dinner party announced on a blog could be copied to the user's calendar, an author's complete contact information to the user's address book. Users could automatically recall previously browsed articles according to categorization labels (i.e., tags). A photo copied and pasted from a web site to a school report would carry with it a link back to the photographer, giving him proper credit. A link shared by a user to his social network contacts would automatically carry additional data pulled from the original web page: a thumbnail, an author, and a specific title. When web data meant for humans is augmented with hints meant for computer programs, these programs become significantly more helpful, because they begin to understand the data's structure.
RDFa allows HTML authors to do just that. Using a few simple HTML attributes, authors can mark up human-readable data with machine-readable indicators for browsers and other programs to interpret. A web page can include markup for items as simple as the title of an article, or as complex as a user's complete social network.
Historically, RDFa 1.0 [rdfa-syntax] was specified only for XHTML. RDFa 1.1 [rdfa-core] is the newer version and the one used in this document. RDFa 1.1 is specified for both XHTML [xhtml-rdfa] and HTML5 [rdfa-in-html]. In fact, RDFa 1.1 also works for any XML-based languages like SVG [SVG11]. This document uses HTML in all of the examples; for simplicity, we use the term "HTML" throughout this document to refer to all of the HTML-family languages.
RDFa is based on attributes. While some of the HTML attributes (e.g., href
,
src
) have been re-used, other RDFa attributes are new. This is important
because some of the (X)HTML validators may not properly validate the HTML code until they
are updated to recognize the new RDFa attributes. This is rarely a problem in practice
since browsers simply ignore attributes that they do not recognize. None of the
RDFa-specific attributes have any effect on the visual display of the HTML content.
Authors do not have to worry about pages marked up with RDFa looking any different to a
human being from pages not marked up with RDFa.
We begin the introduction to RDFa by using a subset of all the possibilities called RDFa Lite 1.1 [rdfa-lite]. The goal, when defining that subset, was to define a set of possibilities that can be applied to most simple to moderate structured data markup tasks, without burdening the authors with additional complexities. Many Web authors will not need to use more than this minimal subset.
Consider Alice, a blogger who publishes a mix of professional and personal articles
at http://example.com/alice
. We will construct markup examples to
illustrate how Alice can use RDFa. A more complete markup of these examples is
available on a
dedicated page.
The previous example demonstrated how Alice can markup text to make it machine readable. She would also like to mark up the links in a machine-readable way, to express the type of link being described. RDFa lets the publisher add a "flavor", i.e., a label, to an existing clickable link that processors can understand. This makes the same markup help both humans and machines.
In her blog's footer, Alice already declares her content to be freely reusable, as long as she receives due credit when her articles are cited. The HTML includes a link to a Creative Commons [CC-ABOUT] license:

All content on this site is licensed under  a Creative Commons License. ©2011 Alice Birpemswick.

A human clearly understands this sentence, in particular the meaning of the link with respect to the current document: it indicates the document's license, the conditions under which the page's contents are distributed. Unfortunately, when Bob visits Alice's blog, his browser sees only a plain link that could just as well point to one of Alice's friends or to her CV. For Bob's browser to understand that this link actually points to the document's licensing terms, Alice needs to add some flavor, some indication of what kind of link this is.
She can add this flavor using again the property
attribute. Indeed,
when the element contains the href
(or src
) attribute,
property
is automatically associated with the value of this
attribute rather than the textual content of the a
element. The
value of the attribute is the http://creativecommons.org/ns#license
,
defined by the Creative Commons:

All content on this site is licensed under

a Creative Commons License. ©2011 Alice Birpemswick.

With this small update, Bob's browser will now understand that this link has a flavor: it indicates the blog's license:
Alice is quite pleased that she was able to add only structured-data hints via RDFa, never having to repeat the content of her text or the URL of her clickable links.
In a number of simple use cases, such as our example with Alice's blog, HTML
authors will predominantly use a single vocabulary. However, while generating
full URLs via a CMS system is not a particular problem, typing these by hand may
be error prone and tedious for humans. To alleviate this problem RDFa introduces
the vocab
attribute to let the author declare a single vocabulary
for a chunk of HTML. Thus, instead of:
  ...   ...
The Trouble with Bob

Date: 2011-09-10
 ...
Alice can write:
  ...   ...
The Trouble with Bob

Date: 2011-09-10
 ...
Note how the property values are single "terms" now; these are simply
concatenated to the URL defined via the vocab
attribute. The
attribute can be placed on any HTML element (i.e., not only on the
body
element like in the example) and its effect is valid for all
the elements below that point.
Default vocabularies and full URIs can be mixed at any time. I.e., Alice could have written:
  ...   ...
The Trouble with Bob

Date: 2011-09-10
 ...
Perhaps a more interesting example is the combination of the header with the licensing segment of her web page:
  ...   ...
The Trouble with Bob

Date: 2011-09-10
 ...
All content on this site is licensed under  a Creative Commons License. ©2011 Alice Birpemswick.

The full URL for the license term is necessary to avoid mixing vocabularies. As
an alternative, Alice could have also chosen to use the vocab
attribute again:
  ...   ...
The Trouble with Bob

Date: 2011-09-10
 ...
All content on this site is licensed under  a Creative Commons License. ©2011 Alice Birpemswick.

because the vocab
in the license paragraph overrides the definition
inherited from the body of the document.
The vocab
attribute references structured data vocabularies, identified using URLs.
RDFa does not limit the form of these URLs or the document formats accessible by de-referencing them;
however users SHOULD aim to use widely shared, conventional values for identifying such vocabularies,
following conventions of case, spelling etc. established by their publishers.
Alice's blog page may contain, of course, multiple entries. Sometimes, Alice's
sister Eve guest blogs, too. The front page of the blog lists the 10 most recent
entries, each with its own title, author, and introductory paragraph. How, then,
should Alice mark up the title of each of these entries individually even though
they all appear within the same web page? RDFa provides resource
, an
attribute for specifying the "context", i.e., the exact URL to which the
contained RDFa markup applies:
 ...

The trouble with Bob

Date: 2011-09-10

Alice
 ...
 ...

Jo's Barbecue

Date: 2011-09-14

Eve
 ...
 ...
(Note that we used relative URLs in the example; the value of
resource
could have been any URLs, i.e., relative or
absolute.) We can represent this, once again, as a diagram connecting URLs to
properties:
Alice can use the same technique to give her friend Bob proper credit when she posts one of his photos:

The trouble with Bob
 ... The trouble with Bob is that he takes much better photos than I do: ...
  Beautiful Sunset by Bob.

Notice how the innermost resource
value,
http://example.com/bob/photos/sunset.jpg
, "overrides" the outer
value /alice/posts/trouble_with_bob
for all markup inside the
containing div
. Once again, here is a diagram that represents the
underlying data of this new portion of markup:
We have seen, in a previous section, how Alice can use RDFa to include Creative Commons statements on her blog. However, the solution in that section assigned these statements to the whole page, and not to individual blog items. This may be an issue if the page includes multiple items. Indeed, Alice may be forced to repeat the relevant statements like this:
 ...

The trouble with Bob

Date: 2011-09-10

Alice
 ...
All content on this blog item is licensed under  a Creative Commons License. ©2011 Alice Birpemswick.

 ...

I was at Jim's concert the other day

Date: 2011-10-22

Alice
 ...
All content on this blog item is licensed under  a Creative Commons License. ©2011 Alice Birpemswick.

 ...
which may be tedious and error prone.
HTML+RDFa introduces the notion of "Property copying" to alleviate this situation. Using this feature Alice can "collect" a number of statements as a pattern, and refer to that pattern from other parts of the page. This is done using the magic property rdfa:copy
and the magic type rdfa:Pattern
as follows:
 ...

The trouble with Bob

Date: 2011-09-10

Alice
 ... <link property="rdfa:copy" href="#ccpattern"/>
 ...

I was at Jim's concert the other day

Date: 2011-10-22

Alice
 ... <link property="rdfa:copy" href="#ccpattern"/>
 ...

All content on this blog item is licensed under  a Creative Commons License. ©2011 Alice Birpemswick.

(Alice may choose to use CSS to make the CC statements invisible on the screen if she wants.) The effect of this structure is to, conceptually, "copy" all the RDFa statements appearing in the pattern to replace the link
element, yielding the following structure:
Alice may want to add her personal data to her individual blog items, too. She decides to combine her FOAF data with the blog items, i.e.:

The trouble with Bob

...

Alice Birpemswick,
Email: <a property="mbox" href="mailto:alice<EMAIL_ADDRESS>Phone: +1<PHONE_NUMBER>

...

...

The structured data she generates looks like this:
Unfortunately, this solution is not optimal in two respects. First of all, notice
that Alice had to use the full URI for the creator
property: this is
because the vocab
attribute is used to set the FOAF terms, i.e., the
simple creator
value would have been misinterpreted. We will come back
to the issue of using several vocabularies in another
section below.
The other issue is that Alice would like to design her Web page so that her personal data would not appear on the page in each individual blog item but, rather, in one place like a footnote or a sidebar. I.e., what she would like to see is something like:
If the FOAF data was included into each blog item, Alice would have to create a complex set of CSS rules to achieve the visual effect she wants.
To solve this, Alice decides to make use of the structure she already used for her
FOAF data but, this time, assigning it a separate URI using the resource
attribute:

Alice Birpemswick,
Email: <a property="mbox" href="mailto:alice<EMAIL_ADDRESS>Phone: +1<PHONE_NUMBER>

...

It is actually considered as a good practice to use real URIs whenever possible, i.e., Alice's new alternative should be preferred in general. Indeed, if a real URI is used, then it becomes possible to unambiguously refer to that particular piece of information, whereas that becomes more complicated with blank nodes.
The resource="#me"
markup is a FOAF convention: the URL that represents
the person Alice is http://example.com/alice#me
. It should not
be confused with Alice's homepage, http://example.com/alice
. Of course,
Alice could have used a different URI if, for example, her blog and her personal
homepage were kept separate; e.g., she could have used
resource="http://alice.example.com/alice/home#myself"
instead of
resource="#me"
.
Using the explicit URI for her FOAF data Alice can add a direct reference to the blog
item using again the resource
attribute:

The trouble with Bob

Alice

...

...

Alice Birpemswick,
Email: <a property="mbox" href="mailto:alice<EMAIL_ADDRESS>Phone: +1<PHONE_NUMBER>

...

The resource
attribute appears, in this case, together with
property
on the same element: in this situation
resource
indicates the "target" of the relation. Usage of this attribute
allows Alice to "distribute" the various parts of her structured data on her page.
What she gets is a slightly modified version of the previous structure, where the
only difference is the usage of an explicit URI instead of a blank node:
Using this approach, it becomes very easy to also add references to the same data from different blogs:

The trouble with Bob

Alice
 ...

 ...

I will post my photos nevertheless…

Alice
 ...

 ...

 Alice Birpemswick, Email: <a property="mbox" href="mailto:alice<EMAIL_ADDRESS>Phone: +1<PHONE_NUMBER>
 ...

Leading to the following structure:
Combined with property
, the resource
attribute plays
exactly the same role as href
, already used for "links with flavor",
except that it does not provide a clickable link to the browser like
href
does. Also, the resource
attribute can be used on
any HTML element, as opposed to href
whose usage is restricted,
in HTML, to the a
and link
elements.
There is a similarity between this issue and its solution and the issue and the approach taken in the section on property copying. There is, however, a subtle but important difference between the two. The solution using the resource
attribute introduces a new node in the graph, as shown on Figure 12, whereas copying the properties does not. Which of the two approaches should be adopted is often based on the vocabulary that is used.
The previous examples show that, for more complex cases, multiple vocabularies have to be used to express the various aspects of structured data. We have seen Alice using the Dublin Core, as well as the FOAF and the Creative Commons vocabularies, but there may be more. For example. Alice may want to add vocabulary elements defined by search engines on their schema.org site [schema].
Alice can use either full URLs for all the terms, or can use the vocab
attribute to abbreviate the terms for the predominant vocabulary. But, in some cases,
the vocabularies cannot be separated easily, which means that the usage of
vocab
may become awkward. Here is, for example, the kind of HTML she
might end up with:
  ...

The trouble with Bob
 ...
Alice

The trouble with Bob is that he takes much better photos than I do:

 ...
 ...
Note that the schema.org and the Dublin Core terms are intertwined for a specific
blog, and it becomes an arbitrary choice whether to use the vocab
attribute for http://purl.org/dc/terms/
or for
http://schema.org/
. We have seen the same problem in a previous section when FOAF and Dublin Core terms were
mixed.
To alleviate this problem, RDFa offers the possibility of using prefixed
terms: a special prefix
attribute can assign prefixes to represent URLs
and, using those prefixes, the vocabulary elements themselves can be abbreviated. The
prefix:reference
syntax is used: the URL associated with
prefix
is simply concatenated to reference
to create a full
URL. (Note that we have already used this convention to simplify our figures.) Here
is how the HTML of the previous example looks like when prefixes are used:
  ...

The trouble with Bob
 ...
Alice

The trouble with Bob is that he takes much better photos than I do:

 ...

The usage of prefixes can greatly reduce possible errors by concentrating the
vocabulary choices to one place in the file. Just like vocab
, the
prefix
attribute can appear anywhere in the HTML file, only affecting
the elements below. prefix
and vocab
can also be mixed, for
example:
  ...

The trouble with Bob
 ...
Alice

The trouble with Bob is that he takes much better photos than I do:

 ...

html
element contains a large number
of prefix declarations. The character encoding (i.e., UTF-8, UTF-16, ASCII, etc.)
used for an HTML5 file is declared using a meta
element in the header.
In HTML5 this meta declaration must fall within the first 512 bytes of the page, or
the HTML5 processor (browser, parser, etc.) will try to detect the encoding using
some heuristics. A very "long" html
tag may therefore lead to problems.
One way of avoiding the issue is to place most of the prefix declarations on the
body
element.
The previous example, whereby the Dublin Core and the schema.org vocabularies are
used within the same blog post, raises another issue. It so happens that not only
Dublin Core, but also schema.org has a property called creator
.
Because RDFa uses URIs to denote properties that, by itself, is not a problem.
However, if Alice wants to use both these properties in the same blog
post (e.g., because she wants search engines to manage her blog post but, at the
same times, she wants Dublin Core aware applications, like catalogs, to handle
her blog post, too) this is what she may have to do:
  ...

The trouble with Bob
 ...
Alice

The trouble with Bob is that he takes much better photos than I do:

 ...

Which is a bit awkward. Fortunately, RDFa allows the value of a
property
attribute to be a list of values, i.e., she can also write:

...

The trouble with Bob

...

Alice

The trouble with Bob is that he takes much better photos than I do:

...

yielding the structure:
Similarly to property
, typeof
also accepts a list of values. For example,
schema.org also has a notion of a Person, similar to FOAF; Alice may choose to use both:

Alice Birpemswick,
Email: <a property="foaf:mbox" href="mailto:alice<EMAIL_ADDRESS>Phone: +1<PHONE_NUMBER>

...

A number of vocabularies are very widely used by the Web community with well-known prefixes—the Dublin Core vocabulary is a good example. These common vocabularies tend to be defined over and over again, and sometimes Web page authors forget to declare them altogether.
To alleviate this issue, RDFa introduces the concept of an initial context that defines a set of default prefixes. These prefixes, whose list is maintained and regularly updated by the W3C, provide a number of pre-defined prefixes that are known to the RDFa processor. Prefix declarations in a document always override declarations made through the defaults, but if a web page author forgets to declare a common vocabulary such as Dublin Core or FOAF, the RDFa Processor will fall back to those. The list of default prefixes are available on the Web for everyone to read.
For example, the following example does not declare the dc:
prefix using a prefix
attribute:
  ...

The trouble with Bob
 ...
Alice
 ...

However, an RDFa processor still recognizes the dc:title
and
dc:creator
short-hands and expands the values to the corresponding
URLs. The RDFa processor is able to do this because the dc
prefix is
part of the default prefixes in the initial context.
Default prefixes are used as a mechanism to correct RDFa documents where authors
accidentally forgot to declare common prefixes. While authors may rely on these
to be available for RDFa documents, the prefixes may change over the course
of 5-10 years, although the policy of W3C is that once a prefix is defined as
part of a default profile, that particular prefix will not be changed or
removed. Nevertheless, the best way to ensure that the prefixes that document
authors use always map to the intent of the author is to use the
prefix
attribute to declare these prefixes.
Since default prefixes are meant to be a last-resort mechanism to help novice document authors, the markup above is not recommended. The rest of this document will utilize authoring best practices by declaring all prefixes in order to make the document author's intentions explicit.
As we have seen in the previous sections, RDFa Lite is fairly powerful. Alice could indeed express complex sets of structured information. However, there are cases when the set of attributes presented so far does not cover all the needs, or make the resulting HTML structure a bit awkward and possibly error-prone. In those cases additional RDFa possibilities, provided through additional RDFa attributes, may come to the rescue; some of these will be presented in this section.
RDFa Lite does not define a separate class of RDFa processors. In other words conforming RDFa processors are supposed to handle all RDFa features, not only those listed used by RDFa Lite.
content
attribute
When creating her blog, Alice decided to use this simple structure to add Dublin Core information to her blog post (see also Figure 2):
  ...   ...
The Trouble with Bob

Date: 2011-09-10
 ...
However, to do that, Alice had to accept a small compromise. Indeed, although the string "2011-09-10" unambiguously identifies a date for a machine, it does not looks very natural for a human reader. Surely a native English reader would prefer something like "10th of September, 2011". On the other hand, although it is of course possible for a machine to parse and interpret that string as a date, too, it is clearly more complicated to do so. The problem is that, as a default, RDFa uses the textual content of the element for the property value. While this works well in most of the cases, sometimes, like in this example, this has awkward consequences.
To alleviate this problem RDFa makes it possible to re-use the content
attribute of HTML. The blog entry could be written as follows:

...

...

The Trouble with Bob

Date: 10th of September, 2011

...

The resulting structure is exactly the same as before (i.e., Figure
2). The difference is the presence of the content
attribute: it
instructs the RDFa processor to overrule the default behavior of using the textual
content, and to use the value of the content
attribute instead. Using
this attribute Alice could provide a more readable date, while maintaining an
unambiguous content for machines using the structured data.
The content
attribute has another important usage. The "traditional"
approach to add simple metadata to a Web page has been to use the document header
through the link
and the meta
elements. While there is no
problem using link
in RDFa Lite (which uses the href
attribute, i.e., can be used to define "flavored" links), the fact that, in a
conforming HTML file, the meta
element may have no text content means
that the only way of using the header for such statements is to use the
content
attribute. For example, using the meta
element is
the approach suggested by Facebook for the Open Graph Protocol [OGP] vocabulary;
i.e., if Alice wants to make use of the "Like" button in her posts, this is what she
would add to her header:
  ... <meta property="og:title" content="The Trouble with Bob" /> <meta property="og:type" content="text" /> <meta property="og:image" content="http://example.com/alice/bob-ugly.jpg" /> ...   ...
In this example the prefix for the Open Graph Protocol vocabulary is defined via the
prefix
attribute. Alas, many authors forget to do so. Fortunately, the
og
prefix is part of the initial context for RDFa, i.e., the resulting
information will be valid even without the prefix declaration…
Alice has already put license information on her page:

All content on this site is licensed under  a Creative Commons License. ©2011 Alice Birpemswick.

but she would like to complete this by recording the date of her copyright statement
as a structured data, too. She can use the date
term of Dublin Core:

All content on this site is licensed under

a Creative Commons License. ©2011 Alice Birpemswick.

However, the value used for the date may be ambiguous for machines. Of course, if a
program "knows" that that http://purl.org/dc/terms/date
refers to a
date, then of course it can find out that the string "2011" stands for a year. But
there may be processors that, for example, provide a visual presentation of all the
structured data on a specific page, and would like to use a different "widget" to
represent a year and again another one to represent, say, an integer number. How
would such a processor know which one to choose?
Alice may decide to be helpful by adding an additional information to that item in
the form of a datatype. This additional information can be conveyed to the
RDFa processor using the datatype
RDFa attribute as follows:

All content on this site is licensed under

a Creative Commons License. ©2011 Alice Birpemswick.

where xsd:gYear
stands for
http://www.w3.org/2001/XMLSchema#gYear
, and is one of the standard
datatypes defined by W3C's Datatype
specification [xmlschema11-2] which contains such types as booleans, integers, dates,
or doubles. (xsd
is one of the default
prefixes for RDFa.)
about
Alice has used the following patterns to define structured data for the individual blogs:

The trouble with Bob

Alice
 ...

The role of the resource
attribute in the div
element is to
set the "context", i.e., the subject for all the subsequent statements. Also, when
combined with the property
attribute, resource
can be used
to set the "target", i.e., the object for the statement (much as href
).
This pattern is perfectly fine, but it may become too verbose in some cases. Indeed, let us suppose that Alice would like to set up a separate index page for all her blogs, and the only information she would like to put there, as structured data, is references to the titles. Following the same pattern, she would have to do something like:

The trouble with Bob

Jo's Barbecue
 ...

This of course works, but it is a bit convoluted. Merging the information into one element, i.e.:

The trouble with Bob
 ...

would not be correct; the combination of property
and
resource
would generate a different statement than originally intended.
RDFa introduces a separate attribute, called about
, that can be used as
an alternative to resource
in setting the the context. Using that
attribute, Alice could write:

The trouble with Bob

Jo's Barbecue
 ...

The fundamental difference between about
and resource
is
that the former is only used to set the context, whether combined with the
property
attribute on the same element or not. This also means that, for
such usage, about
and resource
are interchangeable; i.e.,
in her original blog item, Alice could have chosen to write:

The trouble with Bob

Alice

...

rel
Another pattern that Alice used in her code is as follows:

 Bob

 Eve

 Manu

Each "branch" in the list sets a separate object (blank nodes in this example) and
the same property (foaf:knows
) is used to bind them to the same context.
The property="knows"
had to be repeated in each list element to define
the corresponding property. If this structure is generated by some CMS systems, this
is of course not a problem. However, if such structure is authored manually, it is
clearly error prone: the property name can be misspelled or forgotten.
Instead, Alice could use another RDFa attribute, namely rel
. Using this
attribute the corresponding HTML would look as:

Bob

Eve

Manu

In contrast to property
, rel
never considers the
textual content of an element (or the value of the content
attribute).
Instead, if no clear target has been specified for a link via, e.g., a
resource
or an href
attribute, the processor is supposed to
go “down” and find one or more targets in the hierarchy and use those. This is what
happens in this case: the knows
attribute on the ul
element does not include any obvious target; however, the processor finds those in
the individual li
elements and will use those. This
pattern is typical for the usage of rel
.
In many situations, property
and rel
are interchangeable
when the intended structured data involves (flavored) links. There are, however,
subtle differences involving, for example, “chaining” that must be used with care.
The interested reader should consult the relevant section of the RDFa 1.1
specification for further details.
In general, it is advised to use property
, when possible.
RDFa benefits from the power of RDF [rdf-primer], the W3C's standard for interoperable machine-readable data. Although readers of this document are not expected to understand RDF, some may be interested in how these two specifications interrelate.
RDF, the Resource Description Framework, is the abstract data representation we have drawn out as graphs in the examples above. Each arrow in the graph is represented as a subject-property-object triple: the subject is the node at the start of the arrow, the property is the arrow itself, and the object is the node or literal at the end of the arrow. A set of such RDF triples is often called an "RDF graph", and is typically stored in what is often called a "Triple Store" or a "Graph Store".
Consider the first example graph:
The two RDF triples for this graph are written, using the Turtle syntax [turtle] for RDF, is as follows:
<http://www.example.com/alice/posts/trouble_with_bob> <http://purl.org/dc/terms/title> "The Trouble with Bob" ; <http://purl.org/dc/terms/created> "2011-09-10" .
The TYPE arrows we drew are no different from other arrows. The
TYPE is just another property that happens to be a core RDF property, namely
rdf:type
. The rdf
vocabulary is located at
http://www.w3.org/1999/02/22-rdf-syntax-ns#
. The contact information example
from above should thus be diagrammed as:
The point of RDF is to provide a universal language for expressing data and relationships. A unit of data can have any number of properties that are expressed as URLs. These URLs can be reused by any publisher, much like any web publisher can link to any web page, even ones they did not create themselves. Using data in the form of RDF triples, collected from various locations, and also using the RDF query language SPARQL [sparql11-query], one can search for "friends of Alice's who created items whose title contains the word 'Bob'," whether those items are blog posts, videos, calendar events, or other data types.
RDF is an abstract data model meant to maximize the reuse of vocabularies. RDFa is a way to express RDF data within HTML, in a way that is machine-readable, and by reusing the existing human-readable data in the document.
As Alice marks up her page with RDFa, she may discover the need to express data, such as her favorite photos, that is not covered by existing vocabularies. If she needs to, Alice can create a custom vocabulary suited for her needs. Once a vocabulary is created, it can be used in RDFa markup like any other vocabulary.
The instructions on how to create a vocabulary, also known as an RDF Schema, are available in the RDF Primer [rdf-primer]. At a high level, the creation of a vocabulary for RDFa involves:
http://example.com/photos/vocab#
.
Photo
and Camera
, as well
as the property takenWith
that relates a photo to the camera with which it
was taken.
vocab
attribute
or with the prefix declaration mechanism. For example: prefix="photo:
http://example.com/photos/vocab#"
and typeof="photo:Camera"
.
It is worth noting that anyone who can publish a document on the Web can publish a vocabulary and thus define new data fields they may wish to express. RDF and RDFa allow fully distributed extensibility of vocabularies.
There is a wide variety of tools that can be used to generate or process RDFa data. Good sources for these are the RDFa page of the W3C Semantic Web Wiki, although care should be taken that some tools may be related to a previous version of RDFa. Another source may be the RDFa community site’s implementation page. Both these sources are constantly evolving. By the way, the latter is part of a more general community page that contains further examples for using RDFa, general information, as well as information on how to get involved. In particular, RDFa fragments can be tested using the real-time RDFa 1.1 editor that can also display a visual representation of the underlying structural data.
At the time of publication, the active members of the RDF Web Application Working Group were:
Thanks also to Grant Robertson and Guus Schreiber who, though not part of the Working Group, have provided useful comments on earlier drafts of this note.


JavaScript is disabled on your browser.
Skip navigation links
Package
Class
Tree
Index
Help
Prev Letter
Next Letter
Frames
No Frames
All Classes
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
H
HALF_PI
- Static variable in class JProcessing.
Processing
The PI constant divide by 2 (=1.5707964 or 90°)
HAND
- Static variable in class JProcessing.
Processing
Mouse cursor -- the hand cursor type
heading()
- Method in class JProcessing.
Processing.PVector
heading2D()
- Method in class JProcessing.
Processing.PVector
Deprecated.
height
- Variable in class JProcessing.
Processing
Height of the GUI window not including borders (Read-Only)
height
- Variable in class JProcessing.
Processing.PImage
Height of the
PImage
(Read-Only)
hex(int)
- Static method in class JProcessing.
Processing
hex(Color)
- Static method in class JProcessing.
Processing
hex(Color, int)
- Static method in class JProcessing.
Processing
hex(int, int)
- Static method in class JProcessing.
Processing
hour()
- Static method in class JProcessing.
Processing
HSB
- Static variable in class JProcessing.
Processing
Color mode -- specify input color in HSB color mode
hue(int)
- Method in class JProcessing.
Processing
hue(Color)
- Method in class JProcessing.
Processing
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
Skip navigation links
Package
Class
Tree
Index
Help
Prev Letter
Next Letter
Frames
No Frames
All Classes


Pagination allows a user to navigate back and forwards through a URL based dataset, or jump directly to any specific URL in that set.
Pagination controls may reload the entire page, or update the results immediately on the client via JavaScript.
Server-side pagination uses links that reload the entire page when clicked.
Anchor tags can be replaced with buttons if the result set is not intended to be deep linkable. This is a rare & unlikely scenario - therefore please exercise caution!
NOTE: No JavaScript behaviour or state has been implemented in this simple demo.
Apply the pagination--fluid modifier class to fill all available horizontal space. Horizontal space will be distributed around each item as necessary.
Apply an extra item with … before the last item in the pagination lists. Then you should hide all extra items and only show them when in the correct range. The dots and the last page should always be visible, unless there is a clear range to the last page.


Joe Mann Bosloop Cross
Best NED
Race Winners
(60 runnings)
5.8 km
24 Feb
2008
11.6 km 37:47 5.8 km 22:40 11 Feb
2007
11.6 km 38:42
5.8 km 21:17
19 Feb
2006
11.6 km 37:00
5.8 km 20:19
20 Feb
2005
11.6 km
38:08
5.8 km 20:24
15 Feb
2004
11.6 km
35:11
5.8 km 20:19
23 Feb
2003
11.6 km
37:39
5.41 km 18:29
17 Feb
2002
11.28 km
38:16
4.84 km 20:20
18 Feb
2001
11.28 km
38:05
5.41 km 20:52
20 Feb
2000
11.28 km
36:57
5.41 km 20:34
21 Feb
1999
11.28 km
38:17
5.41 km 19:03
15 Feb
1998
11.6 km
37:55
5.41 km 21:54
16 Feb
1997
11.6 km
37:26
5.41 km 21:26
11 Feb
1996
11.6 km
39:07
5.41 km 21:08
19 Feb
1995
11.6 km
38:22
5.41 km 20:32
20 Feb
1994
11.6 km
36:55
5.41 km
21:30
14 Feb
1993
12.06 km
37:20
3.55 km
15:23
16 Feb
1992
12.06 km
36:14
3.55 km
15:34
17 Feb
1991
12.06 km
35:17
3.55 km
14:15
18 Feb
1990
12.06 km
35:20
3.55 km
14:16
19 Feb
1989
12.06 km
36:25
3.55 km
14:37
21 Feb
1988
12.06 km
36:01
3.55 km
15:27
22 Feb
1987
11.78 km
36:49
3.65 km
12:08
16 Feb
1986
11.78 km
37:08
3.65 km
13:00
10 Feb
1985
11.78 km
38:13
3.65 km
14:47
12 Feb
1984
11.78 km
36:09
3.65 km
12:41
20 Feb
1983
11.78 km
37:46
3.65 km
12:50
07 Feb
1982
11.78 km
37:08
3.65 km
15:14
22 Feb
1981
11.78 km
36:14
3.65 km
13:37
02 Mar
1980
11.78 km
37:11
3.634 km
13:31
11 Mar
1979
11.78 km
38:52
3.634 km
13:46
26 Feb
1978
11.78 km
37:43
3.5 km
13:33
27 Feb
1977
11.78 km
36:40
3.5 km
12:08
14 Mar
1976
12.1 km
38:39
4.0 km
18:06
02 Mar
1975
10.04 km
n/a
3.27 km
n/a
10 Mar
1974
10.0 km
n/a
2.5 km
n/a
25 Feb
1973
10.0 km
n/a
2.5 km
n/a
12 Mar
1972
9.0 km
n/a
2.25 km
n/a
28 Mar
1971
9.0 km
n/a
2.25 km
n/a
08 Mar
1970
9.36 km
n/a
1.56 km
n/a
02 Mar
1969
8.04 km
26:01
25 Feb
1968
9.2 km
28:15
12 Mar
1967
9.2 km
28:17
18 Mar
1966
4.6 km
14:31
28 Mar
1965
4.6 km
14:06
05 Apr
1964
4.6 km
13:59
10 Mar
1963
4.6 km
13:58
25 May
1962
4.6 km
14:10
19 Mar
1961
4.6 km
14:44
27 May
1960
4.6 km
14:25
05 Apr
1959
4.6 km
14:11
23 Mar
1958
4.6 km
14:05
Notes: 1958 was the inaugural year.
20 Jan
2017
10.8 km
38:31
Sen Souwer (NED)
7.44 km
31:50
Rian vanderBurgh-2
31 Jan
2016
10.8 km
38:51
Casper vanPutten (NED)
7.44 km
31:21
Gwynny Hamilton (BEL)
01 Mar
2015
10.4 km
34:47
Harm Sengers (NED)
5.2 km
22:01
Marleen vanAartrijk (NED)
23 Feb
2014
11.6 km
43:42
Paul Ervine (NED)
5.8 km
21:30
Linda Korten (NED)
24 Feb
2013
11.6 km
39:29
Jos
Elfring (NED)
5.8 km
20:56
Ruth vanderMeijden-2
04 Mar
2012
11.6 km
38:43
Gijs Jacobs (NED)
5.8 km
22:19
Rian vanderBurgh (NED)
27 Feb
2011
11.6 km
39:21
Rik vanLaarhoven (NED)
5.8 km
21:45
Corine Spaans-3
28 Feb
2010
11.6 km
38:15
Mohamed Ali Mohamed (SOM)
5.8 km
20:26
Ruth vanderMeijden (NED)
15 Feb
2009
11.6 km
39:15
Patrick Franken (NED)
21:06
Corine Spaans-2
Said Hayek (NED)
Corine Spaans (NED)
Christophe Stoelinga (NED)
Marlien vanBeek-2
Rik vanLaarhoven-2
Daphne Panhuijzen (NED)
Ad deBruyn-2
Susan Kuijken-2
Guus Jansen (NED)
Susan Kuijken (NED)
Timothy Karanu (KEN)
Marlien vanBeek (NED)
Ad deBruyn (NED)
Wendy Mutsaarts (NED)
Rik vanLaarhoven (NED)
Ann Rindt-3
Gustaf Ombouma (NED)
Anita Ophey (NED)
Ad Peeters (NED)
Connie vandenOuweland (NED)
Koos Verwey (NED)
Ingrid Jansen (NED)
Wilfred Kiplagat (KEN)
Rianne vandeBurgt (NED)
Wichard deBenis (NED)
Anja Bunthof (NED)
Fransua Woldemariam (NED)
Annette Bezemer (NED)
Ronald Schut (NED)
Cecil vanDongen (NED)
Leon Weyers (NED)
Doreth Teunissen (NED)
Nico Hamers (NED)
Monique vandeVen (NED)
Luc Krotwaar (NED)
Annie vanStiphout-9
Henk Gommer (NED)
Annie vanStiphout-8
Aart Stigter (NED)
Annie vanStiphout-7
Mark Jaspers (NED)
Jolanda Simons (NED)
Theo vandeVoort
Annie vanStiphout-6
Roger Jaspers (NED)
Rita Delnoye (NED)
Piet deHaas-2
Mieke Roefs (NED)
John vandeWansum (NED)
Annie vanStiphout-5
Harrie Driessen (NED)
Annie vanStiphout-4
Jan vanOs-3
M Sandbrink (NED)
Jan vanOs-2
Jose Seegers (NED)
Piet deHaas (NED)
Ann Rindt-2
Ton vanHoessel (NED)
Ann Rindt (NED)
Jan vanOs (NED)
Annie vanStiphout-3
Cor Vriend-4
Annie vanStiphout-2
Cor Vriend-3
Rikie vanGils (NED)
Theo Geutjes (NED)
Cilia vanKleef (NED)
Cor Vriend-2
Rikie Dirks (NED)
Jac Denis (NED)
Lian Pelders (NED)
Cor Vriend (NED)
M Brinkman (NED)
Jo vandeHoogen-3
Annie vanStiphout (NED)
Haico Scharn (NED)
Gerrie Steenbakkers (NED)
Rinie Marijnissen (NED)
Jo vandeHoogen-2
Jo vandeHoogen (NED)
Fons Veldhuizen-7
Fons Veldhuizen-6
Fons Veldhuizen-5
Fons Veldhuizen-4
Fons Veldhuizen-3
Henk Christ-2
Henk Christ (NED)
Fons Veldhuizen-2
Fons Veldhuizen (NED)
Most Wins
(1958-date)
Men
7
Fons Veldhuizen (NED)
1958-59,1962-66
Women
9
Annie vanStiphout (NED)
1971,1977-78,1983-84,1987,1989-91
Prize Money
(ADR qualified runners)
No information on prize money has been received for this race.
Race Time Bias
(sec/km)
Insufficient data to calculate the race time bias.
Competitive Level
(1990-date)
Insufficient data to calculate the competitive level.
Last Updated on 23 Nov 2017
Contributors: Klaas Loonstra (50), Juraj Gasparovic (40), Wim vanHemert (8), Paul Michiels (16)


You've known since you've started working with
Evil Enterprise
that they're shady.
What will you do?

YOU HAVE A CHANCE OF TAKING OUT THEM. YOU'LL DO IT WITHOUT THINKING IT TWICE!.
MAYBE IF I ASK MR. MAGOO I'LL KNOW WHAT TO DO.


This demo has two windows, both with different values for "
durations
" option.
Minimize, maximize, restore and show windows to feel the different durations applied.


This weeks featured game is Dark Souls III a game of valleys and peaks, down through dungeons and up over castle walls. It's a plummet into places we shouldn't be, an escape from places we don't belong.
But of course, we fight our way through the darkness, and find our way out. There are a few stumbles along the way, but in the end, Dark Souls III is well worth the riveting climb. Final Fantasy 15 will launch on September 30, 2016 publisher Square Enix has announced. The date was revealed during the Uncovered: Final Fantasy XV event, which is being held in Los Angeles.
In addition to the September release date, Square Enix revealed a lot of big news coming soon to Final Fantasy XV. Read it all here. This Highly-anticipated role-playing game Final Fantasy XV is getting its own anime prequel series, it was revealed tonight during the Uncovered: Final Fantasy XV event in Los Angeles. You can watch the entire event and get a rundown of today's Final Fantasy news right here.
| Game Cover | Game Name | Release Date | Rating |
|---|---|---|---|
| Halo 5 Guardians | First Released Oct 27, 2015 | ||
| Fall Out Four | First Released Nov 9th, 2015 | ||
| Jotun | First Released Dec 31, 2015 | ||
| Hyper Light Drifter | First Released Mar 13, 2016 |


 The new update has a lot of surprises when you level up
[dscrdeql] <adriana> idc about surprises
[dscrdeql] <c2k> hey guys she just woke up ...give her a few minutes to have her 2nd coffee
[dscrdeql] <c2k>
[dscrdeql] <Buddz1993> It’s all good
[dscrdeql] <
edsky
> Or 3rd
[dscrdeql] <Buddz1993> Grumpy mood it’s acceptable
[dscrdeql] <adriana> i woke up
[dscrdeql] <Buddz1993>
[dscrdeql] <Catalyst> Shower Thoughts Chefs that cook in front of you at a restaurant are the lap dancers of the fine dining industry.
[dscrdeql] <adriana> 12h ago
[dscrdeql] <
edsky
> Haha
[dscrdeql] <RyanInSiam> Did I hear someone say something about coffee? Can I have one?
[dscrdeql] <
edsky
>

[dscrdeql] <c2k>
[dscrdeql] <Buddz1993> Another one
[dscrdeql] <Catalyst>
[dscrdeql] <Catalyst> here you go
[dscrdeql] <
KQweci
-Mod>
and another one
[dscrdeql] <Jonathan-Mod> It's
here
[dscrdeql] <
KQweci
-Mod>
[dscrdeql] <
edsky
> I’ll have both
[dscrdeql] <
edsky
>

[dscrdeql] <
KQweci
-Mod> How I wish am on that beer right now
[dscrdeql] <Buddz1993> I just finished my 2nd glass of red wine
[dscrdeql] <
Jellysmash
> Thanks for the coffees guys
[dscrdeql] <Buddz1993> Ready to go@to bed in due time
[dscrdeql] <
Jellysmash
> It's my morning
[dscrdeql] <Buddz1993>
[dscrdeql] <
Jellysmash
> So they're appreciated
[dscrdeql] <
Jellysmash
>
[dscrdeql] <
Jellysmash
>
[dscrdeql] <Jonathan-Mod> maybe
is a better combination? (irish coffee)
[dscrdeql] <
edsky
>
or whiskey
[dscrdeql] <
edsky
> The way the market is
[dscrdeql] <Buddz1993> Jack Daniels with some ice
[dscrdeql] <
Jellysmash
> Haha
[dscrdeql] <
Jellysmash
> I tried Irish coffee
[dscrdeql] <
Jellysmash
> Don't like it
[dscrdeql] <Buddz1993> We are touching the 200 b market cap
[dscrdeql] <Buddz1993> What happens from now on
[dscrdeql] <
Jellysmash
> more and more
[dscrdeql] <
edsky
> Whiskey on the rocks
[dscrdeql] <
Jellysmash
> More volume
[dscrdeql] <RyanInSiam> I'll take that red wine instead. Hehehe.
[dscrdeql] <Buddz1993> Red digits all over
[dscrdeql] <Buddz1993> To combine with the market
[dscrdeql] <
KQweci
-Mod> haha
[dscrdeql] <
edsky
> Ive refrained from looking at Blockfolio
[dscrdeql] <Buddz1993> I just checked cmc for global market cap
[dscrdeql] <adriana> i want to withdraw
[dscrdeql] <Buddz1993> It’s intense there
[dscrdeql] <adriana> idc
[dscrdeql] <
KQweci
-Mod> I smile towards the future when I look at my blockfolio
[dscrdeql] <
KQweci
-Mod> Not till you get to level 5 @adriana
[dscrdeql] <adriana> boi .
[dscrdeql] <Buddz1993> Yep that’s exactly my thoughts
[dscrdeql] <adriana> i will fite
[dscrdeql] <
KQweci
-Mod> Chat and rain to gain xp and level up
[dscrdeql] <adriana> im not gonna rain
[dscrdeql] <
Jellysmash
> Why
[dscrdeql] <Buddz1993> Just do it
[dscrdeql] <
Jellysmash
> Haha
[dscrdeql] <adriana> i rained 400 last night and my levels are gone
[dscrdeql] <
edsky
> It’s all good
[dscrdeql] <Buddz1993> I rained a lot and my levels are back on
[dscrdeql] <
KQweci
-Mod> Thats cool lol
[dscrdeql] <Buddz1993> Simple
[dscrdeql] <Buddz1993> And chatted too
[dscrdeql] <Buddz1993> That’s important
[dscrdeql] <
KQweci
-Mod> With the new update you level fast
[dscrdeql] <
KQweci
-Mod> Its not hard @adriana
[dscrdeql] <
Jellysmash
> You went from 1 to 5 @Buddz1993 in about 3 hours
[dscrdeql] <
Jellysmash
> Literally
[dscrdeql] <Buddz1993> Yep that was me
[dscrdeql] <Buddz1993> I’m 6 btw
[dscrdeql] <
KQweci
-Mod> He rain a lot after the reset
[dscrdeql] <
edsky
> Not wasting any tome are you
[dscrdeql] <Buddz1993> Just needed to spread some loveee
[dscrdeql] <RyanInSiam> Madness.
[dscrdeql] <Buddz1993> People need it
[dscrdeql] <RyanInSiam> I've only been in this discord a few days, but this is the most active I've seen it yet.
[dscrdeql] <
edsky
> When I first joined it was nuts
[dscrdeql] <Buddz1993> Yep it probably is
[dscrdeql] <Buddz1993> Tells you a lot about this project
[dscrdeql] <akomismo> More xp rain
[dscrdeql] <
edsky
> Yah it’s great
[dscrdeql] <
edsky
> Level up nice