func (this W3IDSecurityV1PublicKeyPropertyIterator) JSONLDContext() map[string]string {
	m := map[string]string{"https://w3id.org/security/v1": this.alias}
	var child map[string]string
	if this.IsW3IDSecurityV1PublicKey() {
		child = this.Get().JSONLDContext()
	}
	for k, v := range child {
		m[k] = v
	}
	return m
}
JSONLDContext returns the JSONLD URIs required in the context string for this
property and the specific values that are set. The value in the map is the
alias used to import the property's value or values.
package propertypublickey
import (
	"fmt"
	vocab "github.com/go-fed/activity/streams/vocab"
	"net/url"
)
type W3IDSecurityV1PublicKeyPropertyIterator struct {
	w3idsecurityv1PublicKeyMember vocab.W3IDSecurityV1PublicKey
	unknown                       interface{}
	iri                           *url.URL
	alias                         string
	myIdx                         int
	parent                        vocab.W3IDSecurityV1PublicKeyProperty
}
func NewW3IDSecurityV1PublicKeyPropertyIterator() *W3IDSecurityV1PublicKeyPropertyIterator {
	return &W3IDSecurityV1PublicKeyPropertyIterator{alias: ""}
}
func deserializeW3IDSecurityV1PublicKeyPropertyIterator(i interface{}, aliasMap map[string]string) (*W3IDSecurityV1PublicKeyPropertyIterator, error) {
	alias := ""
	if a, ok := aliasMap["https://w3id.org/security/v1"]; ok {
		alias = a
	}
	if s, ok := i.(string); ok {
		u, err := url.Parse(s)
		if err == nil && len(u.Scheme) > 0 {
			this := &W3IDSecurityV1PublicKeyPropertyIterator{
				alias: alias,
				iri:   u,
			}
			return this, nil
		}
	}
	if m, ok := i.(map[string]interface{}); ok {
		if v, err := mgr.DeserializePublicKeyW3IDSecurityV1()(m, aliasMap); err == nil {
			this := &W3IDSecurityV1PublicKeyPropertyIterator{
				alias:                         alias,
				w3idsecurityv1PublicKeyMember: v,
			}
			return this, nil
		}
	}
	this := &W3IDSecurityV1PublicKeyPropertyIterator{
		alias:   alias,
		unknown: i,
	}
	return this, nil
}
func (this W3IDSecurityV1PublicKeyPropertyIterator) Get() vocab.W3IDSecurityV1PublicKey {
	return this.w3idsecurityv1PublicKeyMember
}
func (this W3IDSecurityV1PublicKeyPropertyIterator) GetIRI() *url.URL {
	return this.iri
}
func (this W3IDSecurityV1PublicKeyPropertyIterator) GetType() vocab.Type {
	if this.IsW3IDSecurityV1PublicKey() {
		return this.Get()
	}
	return nil
}
func (this W3IDSecurityV1PublicKeyPropertyIterator) HasAny() bool {
	return this.IsW3IDSecurityV1PublicKey() || this.iri != nil
}
func (this W3IDSecurityV1PublicKeyPropertyIterator) IsIRI() bool {
	return this.iri != nil
}
func (this W3IDSecurityV1PublicKeyPropertyIterator) IsW3IDSecurityV1PublicKey() bool {
	return this.w3idsecurityv1PublicKeyMember != nil
}