Comments (18)
This is the query: https://github.com/monarch-initiative/monarch-cypher-queries/blob/master/src/main/cypher/golr-loader/gene-anatomy.yaml
I suggest adding an additional tag to the yaml to indicate what paths should be used for subject and object closure, what do you think @kshefchek?
from golr-loader.
E.g.
query: |
MATCH path=(subject:gene)-[relation:RO:0002206]->(object:`anatomical entity`)
RETURN DISTINCT path,
subject, object, relation,
'gene' AS subject_category,
'anatomy' AS object_category,
'direct' AS qualifier
object_closure: "SubClassOf|BFO:0000050"
(with equivalence being implicit)
from golr-loader.
I have a test case for this, should I go ahead and put it in src/test/resources?
from golr-loader.
If I'm understanding this right, there should be optional keys for subject_closure
, object_closure
, relation_closure
, and evidence_closure
. Each value should be a pipe-delimited list of curies which will be converted into IRIs.
Right now the default closure types and directions are defined as:
subclass
, outgoingtype
, outgoingsubproperty
, outgoingequivalent_class
, bothsame_as
, both
If equivalence is implicit, does that mean equivalent_class
and same_as
should be implicitly added to the list of custom closure relationships? What about type
and subproperty
?
The CypherUtil
module also defines a !
entailment operator. I'm not sure if that is relevant in this context or not.
Also, if the values are pipe-delimited curies, should the example object_closure
value be "rdfs:subClassOf|BFO:0000050"
instead of "SubClassOf|BFO:0000050"
?
from golr-loader.
from golr-loader.
What should the default DirectedRelationship be? OUTGOING
? or BOTH
? Or should I define matching keys subject_closure_symmetric
, object_closure_symmetric
for adding closure relationships with both directions?
from golr-loader.
OUTGOING. No use case for BOTH/INCOMING
from golr-loader.
@cmungall Do you have that test case you mentioned? If not I can try and write a test case for this.
from golr-loader.
@cmungall How can I use the .ttl file to test this out? From what I've been able to figure out, golr-loader takes a neo4j graph configuration and a directory of queries and produces a directory of .json files to be loaded by solr. Is there a way to create a neo4j graph database and configuration file from the .ttl file?
from golr-loader.
@benwbooth I can create a small test file for bgee.ttl, which contains the gene-anatomy data, some test files are automatically generated during the pipeline: https://data.monarchinitiative.org/ttl/
Over the next week or so I was planning on updating the golr loader to batch insert documents into solr, instead of the intermediate json step, and also fix #30 (which I think may be more a neo4j/scigraph issue)
from golr-loader.
Use @kshefchek's rather than mine.
The docs for loading a ttl file into scigraph are here: https://github.com/SciGraph/SciGraph
However for an automated test you want to do this programmatically directly within the junit test.
from golr-loader.
Here is a test file for bgee:
https://data.monarchinitiative.org/dev/bgee_test.ttl
There also a number of small test files in https://data.monarchinitiative.org/dev/, and https://data.monarchinitiative.org/ttl/ that could be of use. We previously had integration tests set up but these are stalled:
https://github.com/monarch-initiative/dipper-integration-test
from golr-loader.
Will this allow us to implement #26 ?
If equivalence is implicit, what would configuring these closures look like? I assume we need some sort of way to say that a field is a closure.
from golr-loader.
@kshefchek yes it would and good point. I guess relying on conventions in the string not so good
from golr-loader.
Use @kshefchek's example data file, but you will also need to load in uberon
so the yaml config will have:
- bgee_test.ttl
- http://purl.obolibrary.org/obo/uberon.owl
For the prefixes, just use the prefixes in bgee_test.ttl, but you will also need
BFO: http://purl.obolibrary.org/obo/BFO_
from golr-loader.
Hi @cmungall,
I loaded hippocampus.ttl using SciGraph. I do see a single relationship with type "RO_0002206", but I don't see any nodes with label "gene". I also tried bgee_test.ttl and didn't see any nodes with the "gene" label either. Does the query need to be modified?
from golr-loader.
from golr-loader.
I wrote a pull request for this (see #34), please review and let me know what you think.
from golr-loader.
Related Issues (20)
- Investigate on slow queries HOT 1
- Queries should accept CURIEs in START statements
- chromose queries throw NPE
- Consider aligning getNeighbors and getClosure methods
- add flag to delete json as soon as they're indexed
- Use de-reification in evidence graphs HOT 3
- Extend golr pattern to include subj/obj equivalents and xrefs HOT 2
- Solr indexing sometimes fails HOT 13
- NotInTransactionException in golr loader HOT 2
- Rewrite golr loader to convert results to SolrInputDocument instead of JSON HOT 2
- Indexing behavior when a sub-object pair is linked by multiple relations HOT 6
- Version mismatch? HOT 3
- Consider indexing non clique leaders
- Too many values for UnInvertedField faceting on field object_closure HOT 10
- Remove IRI field from search core HOT 2
- Index all associations instead of merging subject-object pairs per query
- Index synonyms from non-clique leader IDs
- ArrayIndexOutOfBoundsException when splitting curies
- English spelling/synonyms HOT 3
- Filter out obsoleted terms from search HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from golr-loader.