FAIR::Profile::Property - to represent a Property in a FAIR Profile
version 0.216
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);
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
FAIR::Profile::Property - a module representing a DCAT Profile Property
Mark Wilkinson (markw at illuminae dot com)
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)
Title : label Usage : $label = $Property->label($label); Function: get/set the RDF label for this object when serialized Returns : string Args : string
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)
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
Title : set_MinCount Usage : $req = $Property->set_MinCount($int); Function: minimum number of occurrences of this property Returns : int Args : int
Title : set_MaxCount Usage : $req = $Property->set_MaxCount($int); Function: maximum number of occurrences of this property Returns : int Args : int
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)
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
Mark Denis Wilkinson (markw [at] illuminae [dot] com)
This software is Copyright (c) 2015 by Mark Denis Wilkinson.
This is free software, licensed under:
The Apache License, Version 2.0, January 2004
To install FAIR::Data, copy and paste the appropriate command in to your terminal.
cpanm
cpanm FAIR::Data
CPAN shell
perl -MCPAN -e shell install FAIR::Data
For more information on module installation, please visit the detailed CPAN module installation guide.