NAME
FAIR::Profile::Property - to represent a Property in a FAIR Profile
VERSION
version 0.20
SYNOPSIS
use FAIR::Profile::Class;
use FAIR::Profile::Property;
my $ProfileClass = FAIR::Profile::Class->new(
class_type => FAIR."dataset", # DCAT is an exported constant
URI => "http://example.org//ProfileClasses/ThisClass.rdf",
label => "core metadata for the thesis submission"
);
my $TitleProperty = FAIR::Profile::Property->new(
property_type => DCT.'title', # DCT is an exported constant
allow_multiple => "false",
);
$TitleProperty->set_RequirementStatus('required');
$TitleProperty->add_ValueRange(XSD."string");
$ProfileClass->add_Property($TitleProperty);
DESCRIPTION
FAIR Property describes a single metadata element, and its possible values. It IS NOT a containers for this metadata, it only describes what that metadata should look like (meta-meta-data :-) )
Effectively, in RDF terms, this is the predicate associated with the metadata, and it's ranges
NAME
FAIR::Profile::Property - a module representing a DCAT Profile Property
AUTHORS
Mark Wilkinson (markw at illuminae dot com)
METHODS
new
Title : new
Usage : my $Property = FAIR::Profile::Property->new();
Function: Builds a new FAIR::Profile::Property
Returns : FAIR::Profile::Property
Args : label => $string
property_type => $URI (possibly an OWL predicate URI)
allow_multiple => $boolean ('true'/'false')
URI => $URI (optional - a unique URI will be auto-generated)
label
Title : label
Usage : $label = $Property->label($label);
Function: get/set the RDF label for this object when serialized
Returns : string
Args : string
property_type
Title : property_type
Usage : $property_type = $Property->property_type($property_type);
Function: get/set the property type (should be a URI, e.g. of an ontology predicate)
Returns : string (URI)
Args : string (URI)
URI
Title : URI
Usage : $uri = $Property->URI($uri);
Function: get/set the URI for this Property - the URI in the RDF
Returns : string (should be a URI)
Args : string (should be a URI)
notes: if this is not supplied, a unique URI will be automatically generated
set_MinCount
Title : set_MinCount
Usage : $req = $Property->set_MinCount($int);
Function: minimum number of occurrences of this property
Returns : int
Args : int
set_MinCount
Title : set_MaxCount
Usage : $req = $Property->set_MaxCount($int);
Function: maximum number of occurrences of this property
Returns : int
Args : int
add_ValueRange
Title : add_ValueRange
Usage : $Property->add_ValueRange($URI);
Function: add a range restriction for this predicate
Returns : none
Args : string - the string should be a URI...
Notes: This is the "critical bit" of the FAIR Profile. The ranges
can be defined by one of: the URI of an XSD datatype, the URI
to a SKOS view of a set of ontology terms (according to Jupp et al, 2013)
or the URI to another FAIR::Profile (in this way, profiles can be hierarchical)
allowedValues
Title : allowedValues
Usage : $req = $Property->allowedValues();
Function: retrieve the value ranges for the property
Returns : listref of URIs (see add_ValueRange for details)
Args : none
AUTHOR
Mark Denis Wilkinson (markw [at] illuiminae [dot] com)
COPYRIGHT AND LICENSE
This software is Copyright (c) 2015 by Mark Denis Wilkinson.
This is free software, licensed under:
The Apache License, Version 2.0, January 2004