Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Command :argument1 value1 :argument2 value2 etc

Code Block
asset.get :id ASSET-ID
asset.get :id "path=FULL-PATH-TO-FILE"

Metadata templates

The doc type shows the metadata that can be queried and specified.

Custom doc types can be made.

Asset is a special "first-order" type attached to everything.

Custom doc types get added under the <meta> element.

Code Block
asset.doc.type.describe :type asset



Populating first class metadata
This is equivalent to a rename:


Code Block
asset.set :id ASSET-ID :name "new filename"


A more complex example, where we assign a geospatial location (in this case a point) to an asset:

Code Block
asset.set :id 1234 :geoshape < :point < :latitude -31.95 :longitude 115.86 :elevation 10.0 > >


This last case is an example of specifying an XML document that details the xpath + value for metadata items.

It is equivalent to an XML metadata document that looks like this:

Code Block
<geoshape>
	<point>
		<latitude> -31.95 </latitude>
		<longitude> 115.86 </longitude>
		<elevation> 10.0 </elevation>
	</point>
</geoshape>


If we wanted to extract one of those pieces of information we could do:

Code Block
asset.get :id 1234 :xpath geoshape/point/elevation

value = 10.0


Some arguments to mediaflux require an XML document as input. A common use case might be: populating a metadata template on an asset.


Metadata templates

The doc type shows the metadata that can be queried and specified.

Custom doc types can be made.

Asset is a special "first-order" type attached to everything.

Custom doc types get added under the <meta> element.

Code Block
asset.doc.type.describe :type asset






Populating custom metadata

asset.set :id ASSET-ID :meta < :mf-note "This is my note >

Code Block
asset.query :where "LOGICAL-EXPRESSION"


asset.query :where "namespace='/projects/Demo'"
asset.query :where "namespace>='/projects/Demo' and name='*.jpg'"
asset.query :where "namespace>='/projects/Data Team/sean' and (name='*.JPG' or name='*.PNG')"


Simple actions on the results

Code Block
asset.query :where "namespace>='/projects/Data Team/sean' and name='*.jpg'" :action get-value :xpath -ename name name


Exercises

Exercise 1 - upload a file and then inspect the metadata in the system.

Expand
titleSolution to exercise 1

put IMG_0222.PNG

asset.get :id "path=/projects/Data Team/sean/IMG_0222.PNG"


asset = None    { version=4 id=1377760 vid=74319092 }

    type = image/png

    namespace = /projects/Data Team/sean

    path = /projects/Data Team/sean/IMG_0222.PNG

    name = IMG_0222.PNG

    meta = None    { stime=74319092 }

etc


Exercise - querying metadata - geospatial search? TODO - import some geoshape attached 





...