You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

Vocabulary

Resource = a record of a "thing" in eagle-i. A resource is an instance of a class defined in the eagle-i ontology (e.g. "My nifty DNA Microarray" is an instance of the class "DNA MicroArray", which is a subclass of "Instrument")

Configuration

# General

# What general type of resources we are dealing with

baseType=http://purl.obolibrary.org/obo/ERO_0000071

# What organization are the resources "attached" to (all resources in eagle-i need to belong to an organization)

virtualOrganization=http://harvard.eagle-i.net/i/xyz\\

# What properties to show in the overview record

# Literal properties (i.e. properties whose value is a simple string)

lp1=http://purl.obolibrary.org/obo/ERO_0000480

# Object properties (i.e. properties whose value is a link to another resource or ontology term)

op1=http://purl.obolibrary.org/obo/ERO_0001719

op2=http://purl.obolibrary.org/obo/ERO_0000078

========= More advanced version with open-ended lists, potentially using yaml (but need to get the syntax right ;-)

# What properties to show in the overview record

# Literal properties (i.e. properties whose value is a simple string)

literalProperties:

   propertyUri: http://purl.obolibrary.org/obo/ERO_0000480

# Object properties (i.e. properties whose value is a link to another resource or ontology term)

objectProperties: 

  propertyUri: http://purl.obolibrary.org/obo/ERO_0001719

  propertyUri: http://purl.obolibrary.org/obo/ERO_0000078

# What properties to show on the left nav

# What properties to filter on

# => TBD with Richard

Queries

 

Query for base, unfiltered dataset:

Find all instances of baseType affiliated with virtualOrganization, returns a table with a column per  query variable defined in property configuration above

Option 1 one query

PREFIX ei: <http://purl.obolibrary.org/obo/>

PREFIX eiapp: <http://eagle-i.org/ont/app/1.0/>

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>

SELECT 

?resourceUri

?resourceLabel

?resourceDescription

?lp1Label

?lp1Value

?op1Label

?op1ValueLabel

?op1ValueUri

?op2Label

?op2ValueLabel

?op2ValueUri

 WHERE {

     ?resourceUri a <$

Unknown macro: {baseType}

> .

     ?resourceUri ei:ERO_0000070 <$

Unknown macro: {virtualOrganization}

> .

     ?resourceUri rdfs:label ?resourceLabel .

     OPTIONAL { 

          ?resourceUri eiapp:resource_description ?resourceDescription .

          ?resourceUri <$

Unknown macro: {lp1}

> ?lp1Value . <$

> eiapp:preferredLabel ?lp1Label .

          ?resourceUri <$

Unknown macro: {op1}

> ?op1ValueUri . ?op1ValueUri rdfs:label ?op1ValueLabel . <$

> eiapp:preferredLabel ?op1Label .

          ?resourceUri <$

Unknown macro: {op2}

> ?op2ValueUri . ?op2ValueUri rdfs:label ?op2ValueLabel . <$

> eiapp:preferredLabel ?op2Label .

     }

}

Option 2 split in two queries (one for Ontology labels, one for instances) = > this may be preferable

Note that if desired props don't have preferred label we'll need to alter query 1

Query 1 => to be executed only once (labels don't change)

 

PREFIX eiapp: <http://eagle-i.org/ont/app/1.0/>

SELECT 

?lp1Label

?op1Label

?op2Label

 WHERE {

     OPTIONAL { 

          <$

Unknown macro: {lp1}

> eiapp:preferredLabel ?lp1Label .

          <$

Unknown macro: {op1}

> eiapp:preferredLabel ?op1Label .

          <$

Unknown macro: {op2}

> eiapp:preferredLabel ?op2Label .

     }

}

Query 2

 

PREFIX ei: <http://purl.obolibrary.org/obo/>

PREFIX eiapp: <http://eagle-i.org/ont/app/1.0/>

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>

SELECT 

?resourceUri

?resourceLabel

?resourceDescription

?lp1Value

?op1ValueLabel

?op1ValueUri

?op2ValueLabel

?op2ValueUri

 WHERE {

     ?resourceUri a <$

> .

     ?resourceUri ei:ERO_0000070 <$

Unknown macro: {virtualOrganization}

> .

     ?resourceUri rdfs:label ?resourceLabel .

     OPTIONAL { 

          ?resourceUri eiapp:resource_description ?resourceDescription .

          ?resourceUri <$

Unknown macro: {lp1}

> ?lp1Value .

          ?resourceUri <$

Unknown macro: {op1}

> ?op1ValueUri . ?op1ValueUri rdfs:label ?op1ValueLabel . 

          ?resourceUri <$

Unknown macro: {op2}

> ?op2ValueUri . ?op2ValueUri rdfs:label ?op2ValueLabel . 

     }

}



Example with substituted values (option 1)

PREFIX ei: <http://purl.obolibrary.org/obo/>

PREFIX eiapp: <http://eagle-i.org/ont/app/1.0/>

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>

SELECT 

?resourceUri

?resourceLabel

?resourceDescription

?lp1Label

?lp1Value

?op1Label

?op1ValueLabel

?op1ValueUri

?op2Label

?op2ValueLabel

?op2ValueUri

 WHERE {

     ?resourceUri a <http://purl.obolibrary.org/obo/ERO_0000071> .

     ?resourceUri rdfs:label ?resourceLabel .

     OPTIONAL

Unknown macro: {            ?resourceUri eiapp}

}

  • No labels