Page History
...
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
Code Block | ||
---|---|---|
| ||
\\ *Configuration* \# General \# What general type of resources we are dealing with\\ baseType=[http://purl.obolibrary.org/obo/ERO_0000071|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|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|http://purl.obolibrary.org/obo/ERO_0001719] op2=[http://purl.obolibrary.org/obo/ERO_0000078|http://purl.obolibrary.org/obo/ERO_0000078]\\ \\ |
=========
...
More
...
advanced
...
version
...
with
...
open-ended
...
lists,
...
potentially
...
using
...
yaml
...
(but
...
need
...
to
...
get
...
the
...
syntax right
Code Block | ||
---|---|---|
| ||
right \;-) \# What properties to show in the overview record \# Literal properties (i.e. properties whose value is a simple string) literalProperties: propertyUri: [ propertyUri: http://purl.obolibrary.org/obo/ERO_0000480|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|http://purl.obolibrary.org/obo/ERO_0001719] propertyUri: [http://purl.obolibrary.org/obo/ERO_0000078| 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 |
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
Code Block | ||
---|---|---|
| ||
PREFIX ei: <http 1 one query* PREFIX ei: <[http://purl.obolibrary.org/obo/|http://purl.obolibrary.org/obo/ERO_0000070]> PREFIX eiapp: <[http<http://eagle-i.org/ont/app/1.0/|http://eagle-i.org/ont/app/1.0/]> PREFIX rdfs: <[http<http://www.w3.org/2000/01/rdf-schema#|http://www.w3.org/2000/01/rdf-schema]>\\schema#> SELECT ?resourceUri ?resourceLabel ?resourceDescription ?lp1Label ?lp1Value ?op1Label ?op1ValueLabel ?op1ValueUri ?op2Label ?op2ValueLabel ?op2ValueUri\\ WHERE { ?resourceUri a <${baseType}> . ?resourceUri ei:ERO_0000070 <${virtualOrganization}> . ?resourceUri ?resourceUri rdfs:label ?resourceLabel . OPTIONAL { ?resourceUri eiapp:resource_description ?resourceDescription . ?resourceUri <${lp1}> ?lp1Value . <${lp1}> eiapp:preferredLabel ?lp1Label . ?resourceUri <${op1}> ?op1ValueUri . ?op1ValueUri rdfs:label ?op1ValueLabel . <${op1}> eiapp:preferredLabel ?op1Label . ?resourceUri <${op2}> ?op2ValueUri . ?op2ValueUri rdfs:label ?op2ValueLabel . <${op2}> 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 |
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)
Code Block | ||
---|---|---|
| ||
PREFIX eiapp: <http 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/|http://eagle-i.org/ont/app/1.0/]> SELECT \\ ?lp1Label ?op1Label ?op2Label\\ WHERE { OPTIONAL { <${lp1}> eiapp:preferredLabel ?lp1Label . <${op1}> eiapp:preferredLabel ?op1Label . <${op2}> eiapp:preferredLabel ?op2Label . } }\\ \\ *Query 2* * * |
Query 2
Code Block | ||
---|---|---|
| ||
PREFIX ei: <[http <http://purl.obolibrary.org/obo/|http://purl.obolibrary.org/obo/ERO_0000070]> PREFIX eiapp: <[http://eagle-i.org/ont/app/1.0/|http<http://eagle-i.org/ont/app/1.0/]> PREFIX rdfs: <[http<http://www.w3.org/2000/01/rdf-schema#|http://www.w3.org/2000/01/rdf-schema]>\\schema#> SELECT ?resourceUri ?resourceLabel ?resourceDescription ?lp1Value ?op1ValueLabel ?op1ValueUri ?op2ValueLabel ?op2ValueUri\\ WHERE { ?resourceUri a <${baseType}> . ?resourceUri ei:ERO_0000070 <${virtualOrganization}> . ?resourceUri ?resourceUri rdfs:label ?resourceLabel . OPTIONAL { ?resourceUri eiapp:resource_description ?resourceDescription . ?resourceUri <${lp1}> ?lp1Value . ?resourceUri <${op1}> ?op1ValueUri . ?op1ValueUri rdfs:label ?op1ValueLabel . ?resourceUri <${op2}> ?op2ValueUri . ?op2ValueUri rdfs:label ?op2ValueLabel . } } |
Example with substituted values (option 1)
Code Block | ||
---|---|---|
| ||
PREFIX ei: <http } }\\ \\ \\ \\ *Example with substituted values (option 1)* PREFIX ei: <[http://purl.obolibrary.org/obo/|http://purl.obolibrary.org/obo/ERO_0000070]> PREFIX eiapp: <[http<http://eagle-i.org/ont/app/1.0/|http://eagle-i.org/ont/app/1.0/]> PREFIX rdfs: <[http<http://www.w3.org/2000/01/rdf-schema#|http://www.w3.org/2000/01/rdf-schema]>\\schema#> SELECT ?resourceUri ?resourceLabel ?resourceDescription ?lp1Label ?lp1Value ?op1Label ?op1ValueLabel ?op1ValueUri ?op2Label ?op2ValueLabel ?op2ValueUri\\ WHERE { ?resourceUri a <[http<http://purl.obolibrary.org/obo/ERO_0000071|http://purl.obolibrary.org/obo/ERO_0000071]>0000071> . ?resourceUri ?resourceUri rdfs:label ?resourceLabel . OPTIONAL { ?resourceUri eiapp:resource_description ?resourceDescription . ?resourceUri <[http<http://purl.obolibrary.org/obo/ERO_0000480|http://purl.obolibrary.org/obo/ERO_0000480]>0000480> ?lp1Value . <[http <http://purl.obolibrary.org/obo/ERO_0000480|http://purl.obolibrary.org/obo/ERO_0000480]> 0000480> eiapp:preferredLabel ?lp1Label . ?resourceUri <[http<http://purl.obolibrary.org/obo/ERO_0001719|http://purl.obolibrary.org/obo/ERO_0001719]>0001719> ?op1ValueUri . ?op1ValueUri rdfs:label ?op1ValueLabel . <[http <http://purl.obolibrary.org/obo/ERO_0001719|http://purl.obolibrary.org/obo/ERO_0001719]> 0001719> eiapp:preferredLabel ?op1Label . ?resourceUri <[http<http://purl.obolibrary.org/obo/ERO_0000078|http://purl.obolibrary.org/obo/ERO_0000078]>0000078> ?op2ValueUri . ?op2ValueUri rdfs:label ?op2ValueLabel . <[http <http://purl.obolibrary.org/obo/ERO_0000078|http://purl.obolibrary.org/obo/ERO_0000078]> 0000078> eiapp:preferredLabel ?op2Label . } } } |