From fc3dd3735935bf017a7bb33060423cc02c15e7fc Mon Sep 17 00:00:00 2001 From: yshalivskyy Date: Sat, 12 Aug 2017 16:23:38 +0300 Subject: [PATCH 1/2] [rdf] add sparql example script and data --- .../2010-04-16-ab_cutoff_300_contrast_20%.ttl | 515 ++++++++++++++++++ doc/example_rdfs/sparql_example_queries.py | 62 +++ 2 files changed, 577 insertions(+) create mode 100644 doc/example_rdfs/example_data/2010-04-16-ab_cutoff_300_contrast_20%.ttl create mode 100644 doc/example_rdfs/sparql_example_queries.py diff --git a/doc/example_rdfs/example_data/2010-04-16-ab_cutoff_300_contrast_20%.ttl b/doc/example_rdfs/example_data/2010-04-16-ab_cutoff_300_contrast_20%.ttl new file mode 100644 index 00000000..ad0b4b12 --- /dev/null +++ b/doc/example_rdfs/example_data/2010-04-16-ab_cutoff_300_contrast_20%.ttl @@ -0,0 +1,515 @@ +@prefix odml: . +@prefix rdf: . +@prefix rdfs: . +@prefix xml: . +@prefix xsd: . + +odml:Hub odml:hasDocument odml:cd24b60f-1d5e-4040-9881-5e5a597baef7 . + + a rdf:Bag ; + rdf:li "136.8" . + + a odml:Property ; + odml:hasDtype "string" ; + odml:hasName "File" ; + odml:hasValue . + + a rdf:Bag ; + rdf:li "Good" . + + a odml:Property ; + odml:hasDtype "string" ; + odml:hasName "Software" ; + odml:hasValue odml:c2b12f4a-848b-4b50-8e5b-0989d1df1738 . + + a odml:Property ; + odml:hasDtype "string" ; + odml:hasName "Immobilization" ; + odml:hasValue odml:bb12bdda-ace5-4f3e-a88b-9f02a8254a7d . + + a rdf:Bag ; + rdf:li 3e-01 . + + a odml:Property ; + odml:hasDtype "string" ; + odml:hasName "Mode" ; + odml:hasValue odml:e0c22fd8-17c5-4c51-a538-2dbbfee867a7 . + + a odml:Property ; + odml:hasDtype "string" ; + odml:hasName "LocalAnaesthesia" ; + odml:hasValue . + + a rdf:Bag ; + rdf:li "in vivo" . + + a odml:Property ; + odml:hasDtype "string" ; + odml:hasName "Firing Rate1" ; + odml:hasUnit "Hz" ; + odml:hasValue odml:cc49ae23-e1a0-4b05-8c17-5c8fa4fdf9a6 . + + a rdf:Bag ; + rdf:li "0.9.6 (04/12/10)" . + + a odml:Property ; + odml:hasDtype "string" ; + odml:hasName "Date" ; + odml:hasValue odml:f5623a2f-669c-4587-8cb9-384e8222a375 . + + a odml:Property ; + odml:hasDtype "float" ; + odml:hasName "UpperCutoffFrequency" ; + odml:hasUnit "Hz" ; + odml:hasValue . + + a odml:Property ; + odml:hasDtype "string" ; + odml:hasName "Lab" ; + odml:hasValue . + + a rdf:Bag ; + rdf:li "0.202" . + + a odml:Property ; + odml:hasDtype "string" ; + odml:hasName "Address" ; + odml:hasValue odml:b044e629-800d-4c45-b236-49e8bb0ae6a2 . + + a odml:Section ; + odml:hasName "Cell" ; + odml:hasProperty , + , + , + , + odml:d6ca1018-ac58-4b63-a6a5-8c5ca28c7c99 ; + odml:hasType "Cell" . + + a odml:Section ; + odml:hasName "Subject" ; + odml:hasProperty , + , + , + , + ; + odml:hasType "Subject" . + + a odml:Property ; + odml:hasDtype "string" ; + odml:hasName "Time" ; + odml:hasValue odml:b7e5151d-fc8a-4107-b3be-dc5f5986942a . + + a odml:Property ; + odml:hasDtype "string" ; + odml:hasName "Folder" ; + odml:hasValue . + + a rdf:Bag ; + rdf:li "Jan Benda" . + + a rdf:Bag ; + rdf:li "true" . + + a rdf:Bag ; + rdf:li "20.0" . + + a odml:Property ; + odml:hasDtype "string" ; + odml:hasName "P-Value1" ; + odml:hasValue odml:eadb867d-34df-47a9-b863-4d62e11d2046 . + + a rdf:Bag ; + rdf:li "/home/efish/stimuli/whitenoise/gwn300Hz10s0.3.dat" . + + a odml:Section ; + odml:hasName "Setup" ; + odml:hasProperty , + , + , + , + , + , + odml:a76a3bab-695f-4e68-a88c-27eae1942576, + odml:eb0f32a8-8d54-402a-9023-1230229216b4 ; + odml:hasType "Setup" . + + a rdf:Bag ; + rdf:li "13.0" . + + a rdf:Bag ; + rdf:li "unknown" . + + a odml:Property ; + odml:hasDtype "string" ; + odml:hasName "LocalAnaesthetic" ; + odml:hasValue odml:dbe9af39-54df-4a9d-9167-c973a3898f16 . + + a rdf:Bag ; + rdf:li 3e+02 . + + a odml:Section ; + odml:hasName "Stimulus" ; + odml:hasProperty , + , + , + , + , + , + odml:afbc3b09-1026-4fe3-844d-88733a725590, + odml:c4eb4dd6-3325-472b-84b4-616a9fca98c6, + odml:ca686128-b4a8-433f-8e47-011ef7cf30db, + odml:dd337c00-e453-4952-a3c6-eb4a5e7f8eb2 ; + odml:hasType "stimulus/white_noise" . + + a odml:Property ; + odml:hasDtype "string" ; + odml:hasName "Gender" ; + odml:hasValue . + + a odml:Property ; + odml:hasDtype "string" ; + odml:hasName "Type" ; + odml:hasValue . + + a odml:Property ; + odml:hasDtype "string" ; + odml:hasName "Department" ; + odml:hasValue odml:f6cd6f60-f730-446b-b49a-5b977ab0224b . + + a odml:Property ; + odml:hasDtype "string" ; + odml:hasName "CV" ; + odml:hasValue . + + a rdf:Bag ; + rdf:li "0.0" . + + a odml:Property ; + odml:hasDtype "string" ; + odml:hasName "Additional noise upper cutoff" ; + odml:hasUnit "Hz" ; + odml:hasValue odml:ace37319-07de-4e03-91af-e6f2e3256692 . + + a odml:Property ; + odml:hasDtype "string" ; + odml:hasName "Location" ; + odml:hasValue odml:d3043a3a-9fd2-4e94-a1e0-af89655f8e5c . + + a rdf:Bag ; + rdf:li "120.0" . + + a odml:Property ; + odml:hasDtype "string" ; + odml:hasName "Identifier" ; + odml:hasValue odml:e512a606-9bf7-49c9-bef2-75848e800b1d . + + a rdf:Bag ; + rdf:li 1e+01 . + + a rdf:Bag ; + rdf:li "0.0" . + + a odml:Property ; + odml:hasDtype "string" ; + odml:hasName "Baseline rate" ; + odml:hasUnit "Hz" ; + odml:hasValue . + + a rdf:Bag ; + rdf:li "1.82" . + + a rdf:Bag ; + rdf:li "Henriette Walz" . + + a odml:Property ; + odml:hasDtype "string" ; + odml:hasName "Transdermal amplitude" ; + odml:hasUnit "mV" ; + odml:hasValue . + + a odml:Property ; + odml:hasDtype "string" ; + odml:hasName "CellType" ; + odml:hasValue odml:e56c9deb-fbf6-4922-b14d-61e0aad9cad8 . + + a odml:Property ; + odml:hasDtype "string" ; + odml:hasName "Additional noise lower cutoff" ; + odml:hasUnit "Hz" ; + odml:hasValue . + + a rdf:Bag ; + rdf:li "Jan Benda" . + + a rdf:Bag ; + rdf:li "weak response" . + + a odml:Property ; + odml:hasDtype "string" ; + odml:hasName "Size" ; + odml:hasUnit "cm" ; + odml:hasValue . + + a rdf:Bag ; + rdf:li "Jan Benda" . + + a rdf:Bag ; + rdf:li "/home/efish/relacs/plugins/efish/2010-04-16-ab" . + + a odml:Section ; + odml:hasName "Preparation" ; + odml:hasProperty , + , + , + , + odml:e01a58c5-51c9-4944-94da-6ffbb587ca3c, + odml:ee0db711-3f22-4de5-b699-f1acfc1e3a8c, + odml:f76074c7-c60d-4b7c-9b62-00d9d55e8d7e ; + odml:hasType "Preparation" . + + a odml:Property ; + odml:hasDtype "string" ; + odml:hasName "Recording quality" ; + odml:hasValue . + + a odml:Section ; + odml:hasName "Recording" ; + odml:hasProperty , + , + , + , + , + , + , + odml:c1747b35-e6b2-4b7f-80b9-cbead0243ce0, + odml:ca2f5e6b-3dd8-43b1-9741-94f00a42d8b8, + odml:d7b64566-73ea-43fc-9f5c-d6adb335e078, + odml:e9e8a0ab-7bff-43e4-9fa6-a3018c2002b4, + odml:eecba499-0e45-472e-8772-27b4aebabfcc ; + odml:hasType "Recording" . + + a rdf:Bag ; + rdf:li "Apteronotus albifrons" . + + a odml:Property ; + odml:hasDtype "string" ; + odml:hasName "Species" ; + odml:hasValue . + + a odml:Property ; + odml:hasDtype "string" ; + odml:hasName "Additional noise" ; + odml:hasValue odml:dff463e6-824d-4a8d-96f6-307b4dd24858 . + + a rdf:Bag ; + rdf:li "metadata.xml" . + + a odml:Property ; + odml:hasDtype "string" ; + odml:hasName "University" ; + odml:hasValue odml:ed7fabf1-c60d-4018-a300-268be56dcf40 . + + a odml:Property ; + odml:hasDtype "string" ; + odml:hasName "Depth" ; + odml:hasUnit "um" ; + odml:hasValue odml:a315b32b-e448-411a-b046-76a953813595 . + + a odml:Property ; + odml:hasDtype "string" ; + odml:hasName "Contrast" ; + odml:hasUnit "%" ; + odml:hasValue . + + a rdf:Bag ; + rdf:li "MS 222" . + + a odml:Property ; + odml:hasDtype "string" ; + odml:hasName "EOD Frequency" ; + odml:hasUnit "Hz" ; + odml:hasValue odml:e9ad1688-9b13-4bd7-9ea0-1256def1b2f4 . + + a odml:Property ; + odml:hasDtype "string" ; + odml:hasName "Recording duration" ; + odml:hasUnit "m" ; + odml:hasValue odml:d0d98aec-042c-445c-9ae9-9c21e2cf3adc . + + a rdf:Bag ; + rdf:li 1e-03 . + + a rdf:Bag ; + rdf:li "Nerve" . + + a rdf:Bag ; + rdf:li "true" . + +odml:a315b32b-e448-411a-b046-76a953813595 a rdf:Bag ; + rdf:li "0.0" . + +odml:a76a3bab-695f-4e68-a88c-27eae1942576 a odml:Property ; + odml:hasDtype "string" ; + odml:hasName "Creator" ; + odml:hasValue . + +odml:ace37319-07de-4e03-91af-e6f2e3256692 a rdf:Bag ; + rdf:li "0.0" . + +odml:afbc3b09-1026-4fe3-844d-88733a725590 a odml:Property ; + odml:hasDtype "float" ; + odml:hasName "Duration" ; + odml:hasUnit "s" ; + odml:hasValue . + +odml:b044e629-800d-4c45-b236-49e8bb0ae6a2 a rdf:Bag ; + rdf:li " 82152 Planegg-Martinsried", + " Germany", + "Grosshaderner Str. 2" . + +odml:b7e5151d-fc8a-4107-b3be-dc5f5986942a a rdf:Bag ; + rdf:li "16:35:51" . + +odml:ba6da178-db8b-4dcb-b6d1-182bd12cf89c a odml:Section ; + odml:hasName "Cell properties" ; + odml:hasProperty , + , + odml:bebd5743-79d0-4a57-8b96-ad48435103e1 ; + odml:hasType "Cell properties" . + +odml:bb12bdda-ace5-4f3e-a88b-9f02a8254a7d a rdf:Bag ; + rdf:li "Pancuronium bromide" . + +odml:bebd5743-79d0-4a57-8b96-ad48435103e1 a odml:Property ; + odml:hasDtype "string" ; + odml:hasName "EOD Frequency" ; + odml:hasUnit "Hz" ; + odml:hasValue odml:c7fb9b47-1443-4a03-afe3-8dc1d7d0fd89 . + +odml:c1747b35-e6b2-4b7f-80b9-cbead0243ce0 a odml:Property ; + odml:hasDtype "string" ; + odml:hasName "Comment" ; + odml:hasValue . + +odml:c2b12f4a-848b-4b50-8e5b-0989d1df1738 a rdf:Bag ; + rdf:li "RELACS" . + +odml:c4eb4dd6-3325-472b-84b4-616a9fca98c6 a odml:Property ; + odml:hasDtype "float" ; + odml:hasName "StandardDeviation" ; + odml:hasValue . + +odml:c7fb9b47-1443-4a03-afe3-8dc1d7d0fd89 a rdf:Bag ; + rdf:li "1007.0" . + +odml:ca2f5e6b-3dd8-43b1-9741-94f00a42d8b8 a odml:Property ; + odml:hasDtype "string" ; + odml:hasName "Software version" ; + odml:hasValue . + +odml:ca686128-b4a8-433f-8e47-011ef7cf30db a odml:Property ; + odml:hasDtype "float" ; + odml:hasName "SampleRate" ; + odml:hasUnit "s" ; + odml:hasValue . + +odml:cc49ae23-e1a0-4b05-8c17-5c8fa4fdf9a6 a rdf:Bag ; + rdf:li "136.0" . + +odml:cd24b60f-1d5e-4040-9881-5e5a597baef7 a odml:Document ; + odml:hasAuthor "grewe" ; + odml:hasSection , + , + , + , + , + , + odml:ba6da178-db8b-4dcb-b6d1-182bd12cf89c . + +odml:d0d98aec-042c-445c-9ae9-9c21e2cf3adc a rdf:Bag ; + rdf:li "13.9" . + +odml:d3043a3a-9fd2-4e94-a1e0-af89655f8e5c a rdf:Bag ; + rdf:li "D01-043" . + +odml:d6ca1018-ac58-4b63-a6a5-8c5ca28c7c99 a odml:Property ; + odml:hasDtype "string" ; + odml:hasName "Structure" ; + odml:hasValue . + +odml:d7b64566-73ea-43fc-9f5c-d6adb335e078 a odml:Property ; + odml:hasDtype "string" ; + odml:hasName "Experimenter" ; + odml:hasValue . + +odml:dbe9af39-54df-4a9d-9167-c973a3898f16 a rdf:Bag ; + rdf:li "Lidocaine" . + +odml:dd337c00-e453-4952-a3c6-eb4a5e7f8eb2 a odml:Property ; + odml:hasDtype "string" ; + odml:hasName "Additional noise contrast" ; + odml:hasUnit "%" ; + odml:hasValue . + +odml:dff463e6-824d-4a8d-96f6-307b4dd24858 a rdf:Bag ; + rdf:li "none" . + +odml:e01a58c5-51c9-4944-94da-6ffbb587ca3c a odml:Property ; + odml:hasDtype "string" ; + odml:hasName "Anaesthetic" ; + odml:hasValue . + +odml:e0c22fd8-17c5-4c51-a538-2dbbfee867a7 a rdf:Bag ; + rdf:li "Acquisition" . + +odml:e512a606-9bf7-49c9-bef2-75848e800b1d a rdf:Bag ; + rdf:li "eFish-Setup" . + +odml:e56c9deb-fbf6-4922-b14d-61e0aad9cad8 a rdf:Bag ; + rdf:li "P-unit" . + +odml:e9ad1688-9b13-4bd7-9ea0-1256def1b2f4 a rdf:Bag ; + rdf:li "1003.4" . + +odml:e9e8a0ab-7bff-43e4-9fa6-a3018c2002b4 a odml:Property ; + odml:hasDtype "string" ; + odml:hasName "Name" ; + odml:hasValue odml:fa022209-60df-4a7a-b895-8ba3c2e74f27 . + +odml:eadb867d-34df-47a9-b863-4d62e11d2046 a rdf:Bag ; + rdf:li "0.14" . + +odml:eb0f32a8-8d54-402a-9023-1230229216b4 a odml:Property ; + odml:hasDtype "string" ; + odml:hasName "Maintainer" ; + odml:hasValue . + +odml:ed7fabf1-c60d-4018-a300-268be56dcf40 a rdf:Bag ; + rdf:li " Munich", + "Ludwig-Maximilian University" . + +odml:ee0db711-3f22-4de5-b699-f1acfc1e3a8c a odml:Property ; + odml:hasDtype "string" ; + odml:hasName "AnaestheticDose" ; + odml:hasUnit "mg" ; + odml:hasValue . + +odml:eecba499-0e45-472e-8772-27b4aebabfcc a odml:Property ; + odml:hasDtype "string" ; + odml:hasName "File" ; + odml:hasValue . + +odml:f5623a2f-669c-4587-8cb9-384e8222a375 a rdf:Bag ; + rdf:li "2010-04-16" . + +odml:f6cd6f60-f730-446b-b49a-5b977ab0224b a rdf:Bag ; + rdf:li " LMU-Munich", + "Department Biology II" . + +odml:f76074c7-c60d-4b7c-9b62-00d9d55e8d7e a odml:Property ; + odml:hasDtype "string" ; + odml:hasName "Anaesthesia" ; + odml:hasValue . + +odml:fa022209-60df-4a7a-b895-8ba3c2e74f27 a rdf:Bag ; + rdf:li "2010-04-16-ab" . diff --git a/doc/example_rdfs/sparql_example_queries.py b/doc/example_rdfs/sparql_example_queries.py new file mode 100644 index 00000000..7e821370 --- /dev/null +++ b/doc/example_rdfs/sparql_example_queries.py @@ -0,0 +1,62 @@ +from rdflib import Graph, Namespace, RDF +from rdflib.plugins.sparql import prepareQuery + +g = Graph() +g.parse( + "/home/rick/g-node/python-odml/rdf_dev/for_copy/test_v1_1_odml_turtle/2010-04-16-ab_cutoff_300_contrast_20%.ttl", + format='turtle') +q1 = prepareQuery("""SELECT * + WHERE { + ?d rdf:type odml:Document . + ?d odml:hasSection ?s . + ?s rdf:type odml:Section . + ?s odml:hasName "Stimulus" . + ?s odml:hasProperty ?p . + ?p odml:hasName "Contrast" . + ?p odml:hasValue ?v . + ?p odml:hasUnit "%" . + ?v rdf:type rdf:Bag . + ?v rdf:li "20.0" . + }""", initNs={"odml": Namespace("https://g-node.org/projects/odml-rdf#"), + "rdf": RDF}) + +g = Graph() +g.parse( + "/home/rick/g-node/python-odml/rdf_dev/for_copy/test_v1_1_odml_turtle/2010-04-16-ab_cutoff_300_contrast_20%.ttl", + format='turtle') +q2 = prepareQuery("""SELECT * + WHERE { + ?d rdf:type odml:Document . + ?d odml:hasSection ?s . + ?s rdf:type odml:Section . + ?s odml:hasName "Stimulus" . + ?s odml:hasProperty ?p . + + ?p odml:hasName "Contrast" . + ?p odml:hasValue ?v . + ?p odml:hasUnit "%" . + ?v rdf:type rdf:Bag . + ?v rdf:li "20.0" . + + + ?d odml:hasSection ?s1 . + ?s1 odml:hasName "Cell" . + ?s1 odml:hasProperty ?p1 . + + ?p1 odml:hasName "CellType" . + ?p1 odml:hasValue ?v1 . + ?v1 rdf:li "P-unit" . + }""", initNs={"odml": Namespace("https://g-node.org/projects/odml-rdf#"), + "rdf": RDF}) + +print("q1") +for row in g.query(q1): + print("Doc: {0}, Sec: {1}, \n" + "Prop: {2}, Bag: {3}".format(row.d, row.s, row.p, row.v)) + +print("q2") +for row in g.query(q2): + print("Doc: {0}, Sec: {1}, \n" + "Prop: {2}, Bag: {3}".format(row.d, row.s, row.p, row.v)) + print("Doc: {0}, Sec: {1}, \n" + "Prop: {2}, Bag: {3}".format(row.d, row.s1, row.p1, row.v1)) From 212bae315eb368b06fa3be37ba4d232d16a838b6 Mon Sep 17 00:00:00 2001 From: yshalivskyy Date: Mon, 14 Aug 2017 15:29:39 +0300 Subject: [PATCH 2/2] [rdf] add query with subclasses example --- .../2010-04-16-ab_cutoff_300_contrast_20%.ttl | 355 +++++++++--------- doc/example_rdfs/sparql_example_queries.py | 36 +- 2 files changed, 208 insertions(+), 183 deletions(-) diff --git a/doc/example_rdfs/example_data/2010-04-16-ab_cutoff_300_contrast_20%.ttl b/doc/example_rdfs/example_data/2010-04-16-ab_cutoff_300_contrast_20%.ttl index ad0b4b12..98408db7 100644 --- a/doc/example_rdfs/example_data/2010-04-16-ab_cutoff_300_contrast_20%.ttl +++ b/doc/example_rdfs/example_data/2010-04-16-ab_cutoff_300_contrast_20%.ttl @@ -6,75 +6,88 @@ odml:Hub odml:hasDocument odml:cd24b60f-1d5e-4040-9881-5e5a597baef7 . - a rdf:Bag ; - rdf:li "136.8" . + a rdf:Bag ; + rdf:li " Munich", + "Ludwig-Maximilian University" . a odml:Property ; odml:hasDtype "string" ; odml:hasName "File" ; - odml:hasValue . - - a rdf:Bag ; - rdf:li "Good" . + odml:hasValue . a odml:Property ; odml:hasDtype "string" ; odml:hasName "Software" ; - odml:hasValue odml:c2b12f4a-848b-4b50-8e5b-0989d1df1738 . + odml:hasValue odml:ab7572bb-854c-467e-a908-352f112ef109 . + + a rdf:Bag ; + rdf:li "Good" . + + a rdf:Bag ; + rdf:li "16:35:51" . a odml:Property ; odml:hasDtype "string" ; odml:hasName "Immobilization" ; - odml:hasValue odml:bb12bdda-ace5-4f3e-a88b-9f02a8254a7d . + odml:hasValue . - a rdf:Bag ; - rdf:li 3e-01 . + a rdf:Bag ; + rdf:li "136.8" . a odml:Property ; odml:hasDtype "string" ; odml:hasName "Mode" ; - odml:hasValue odml:e0c22fd8-17c5-4c51-a538-2dbbfee867a7 . + odml:hasValue . + + a rdf:Bag ; + rdf:li "P-unit" . a odml:Property ; odml:hasDtype "string" ; odml:hasName "LocalAnaesthesia" ; - odml:hasValue . - - a rdf:Bag ; - rdf:li "in vivo" . + odml:hasValue odml:e33108e2-72cc-4833-a1e6-e5439df682f0 . a odml:Property ; odml:hasDtype "string" ; odml:hasName "Firing Rate1" ; odml:hasUnit "Hz" ; - odml:hasValue odml:cc49ae23-e1a0-4b05-8c17-5c8fa4fdf9a6 . + odml:hasValue odml:e9417a2c-20ac-4f0d-99ab-5de3c36ef73d . - a rdf:Bag ; - rdf:li "0.9.6 (04/12/10)" . + a rdf:Bag ; + rdf:li "0.0" . a odml:Property ; odml:hasDtype "string" ; odml:hasName "Date" ; - odml:hasValue odml:f5623a2f-669c-4587-8cb9-384e8222a375 . + odml:hasValue . a odml:Property ; odml:hasDtype "float" ; odml:hasName "UpperCutoffFrequency" ; odml:hasUnit "Hz" ; - odml:hasValue . + odml:hasValue odml:adb90936-7e05-4a7b-bff2-ebe60fa1d6ba . a odml:Property ; odml:hasDtype "string" ; odml:hasName "Lab" ; - odml:hasValue . + odml:hasValue . - a rdf:Bag ; - rdf:li "0.202" . + a rdf:Bag ; + rdf:li "120.0" . + + a rdf:Bag ; + rdf:li "in vivo" . a odml:Property ; odml:hasDtype "string" ; odml:hasName "Address" ; - odml:hasValue odml:b044e629-800d-4c45-b236-49e8bb0ae6a2 . + odml:hasValue odml:ee931e48-ee0b-474d-a59a-fa89b0b69443 . + + a rdf:Bag ; + rdf:li "Jan Benda" . + + a rdf:Bag ; + rdf:li 1e+01 . a odml:Section ; odml:hasName "Cell" ; @@ -85,6 +98,9 @@ odml:Hub odml:hasDocument odml:cd24b60f-1d5e-4040-9881-5e5a597baef7 . odml:d6ca1018-ac58-4b63-a6a5-8c5ca28c7c99 ; odml:hasType "Cell" . + a rdf:Bag ; + rdf:li "Henriette Walz" . + a odml:Section ; odml:hasName "Subject" ; odml:hasProperty , @@ -94,32 +110,29 @@ odml:Hub odml:hasDocument odml:cd24b60f-1d5e-4040-9881-5e5a597baef7 . ; odml:hasType "Subject" . + a rdf:Bag ; + rdf:li "13.0" . + a odml:Property ; odml:hasDtype "string" ; odml:hasName "Time" ; - odml:hasValue odml:b7e5151d-fc8a-4107-b3be-dc5f5986942a . + odml:hasValue . a odml:Property ; odml:hasDtype "string" ; odml:hasName "Folder" ; - odml:hasValue . + odml:hasValue odml:a13e3cf0-1d76-420f-aa48-8da7278355c5 . - a rdf:Bag ; - rdf:li "Jan Benda" . - - a rdf:Bag ; - rdf:li "true" . + a rdf:Bag ; + rdf:li "/home/efish/stimuli/whitenoise/gwn300Hz10s0.3.dat" . - a rdf:Bag ; - rdf:li "20.0" . + a rdf:Bag ; + rdf:li "Pancuronium bromide" . a odml:Property ; odml:hasDtype "string" ; odml:hasName "P-Value1" ; - odml:hasValue odml:eadb867d-34df-47a9-b863-4d62e11d2046 . - - a rdf:Bag ; - rdf:li "/home/efish/stimuli/whitenoise/gwn300Hz10s0.3.dat" . + odml:hasValue . a odml:Section ; odml:hasName "Setup" ; @@ -133,19 +146,13 @@ odml:Hub odml:hasDocument odml:cd24b60f-1d5e-4040-9881-5e5a597baef7 . odml:eb0f32a8-8d54-402a-9023-1230229216b4 ; odml:hasType "Setup" . - a rdf:Bag ; - rdf:li "13.0" . - - a rdf:Bag ; - rdf:li "unknown" . + a rdf:Bag ; + rdf:li "Apteronotus albifrons" . a odml:Property ; odml:hasDtype "string" ; odml:hasName "LocalAnaesthetic" ; - odml:hasValue odml:dbe9af39-54df-4a9d-9167-c973a3898f16 . - - a rdf:Bag ; - rdf:li 3e+02 . + odml:hasValue odml:f1f790f6-e72f-42a8-95a8-06dc28acfc36 . a odml:Section ; odml:hasName "Stimulus" ; @@ -164,97 +171,89 @@ odml:Hub odml:hasDocument odml:cd24b60f-1d5e-4040-9881-5e5a597baef7 . a odml:Property ; odml:hasDtype "string" ; odml:hasName "Gender" ; - odml:hasValue . + odml:hasValue odml:acb39fae-4a71-4d87-b06f-ab06991cb70c . + + a rdf:Bag ; + rdf:li "1003.4" . a odml:Property ; odml:hasDtype "string" ; odml:hasName "Type" ; - odml:hasValue . + odml:hasValue . a odml:Property ; odml:hasDtype "string" ; odml:hasName "Department" ; - odml:hasValue odml:f6cd6f60-f730-446b-b49a-5b977ab0224b . + odml:hasValue . a odml:Property ; odml:hasDtype "string" ; odml:hasName "CV" ; - odml:hasValue . - - a rdf:Bag ; - rdf:li "0.0" . + odml:hasValue . a odml:Property ; odml:hasDtype "string" ; odml:hasName "Additional noise upper cutoff" ; odml:hasUnit "Hz" ; - odml:hasValue odml:ace37319-07de-4e03-91af-e6f2e3256692 . + odml:hasValue . a odml:Property ; odml:hasDtype "string" ; odml:hasName "Location" ; - odml:hasValue odml:d3043a3a-9fd2-4e94-a1e0-af89655f8e5c . + odml:hasValue odml:c8e610ef-0f50-4630-8c32-f6a7d49e5f13 . - a rdf:Bag ; - rdf:li "120.0" . + a rdf:Bag ; + rdf:li "20.0" . + + a rdf:Bag ; + rdf:li "Jan Benda" . a odml:Property ; odml:hasDtype "string" ; odml:hasName "Identifier" ; - odml:hasValue odml:e512a606-9bf7-49c9-bef2-75848e800b1d . + odml:hasValue odml:aad9b7c9-7f6d-4a98-9ec6-bedc62edb9e0 . - a rdf:Bag ; - rdf:li 1e+01 . - - a rdf:Bag ; - rdf:li "0.0" . + a rdf:Bag ; + rdf:li " LMU-Munich", + "Department Biology II" . a odml:Property ; odml:hasDtype "string" ; odml:hasName "Baseline rate" ; odml:hasUnit "Hz" ; - odml:hasValue . - - a rdf:Bag ; - rdf:li "1.82" . + odml:hasValue . - a rdf:Bag ; - rdf:li "Henriette Walz" . + a rdf:Bag ; + rdf:li "Jan Benda" . a odml:Property ; odml:hasDtype "string" ; odml:hasName "Transdermal amplitude" ; odml:hasUnit "mV" ; - odml:hasValue . + odml:hasValue . a odml:Property ; odml:hasDtype "string" ; odml:hasName "CellType" ; - odml:hasValue odml:e56c9deb-fbf6-4922-b14d-61e0aad9cad8 . + odml:hasValue . a odml:Property ; odml:hasDtype "string" ; odml:hasName "Additional noise lower cutoff" ; odml:hasUnit "Hz" ; - odml:hasValue . - - a rdf:Bag ; - rdf:li "Jan Benda" . - - a rdf:Bag ; - rdf:li "weak response" . + odml:hasValue odml:d59a760f-12a9-4738-87ba-c1691d86cbc3 . a odml:Property ; odml:hasDtype "string" ; odml:hasName "Size" ; odml:hasUnit "cm" ; - odml:hasValue . + odml:hasValue . - a rdf:Bag ; - rdf:li "Jan Benda" . + a rdf:Bag ; + rdf:li "Acquisition" . - a rdf:Bag ; - rdf:li "/home/efish/relacs/plugins/efish/2010-04-16-ab" . + a rdf:Bag ; + rdf:li "none" . a odml:Section ; odml:hasName "Preparation" ; @@ -270,7 +269,10 @@ odml:Hub odml:hasDocument odml:cd24b60f-1d5e-4040-9881-5e5a597baef7 . a odml:Property ; odml:hasDtype "string" ; odml:hasName "Recording quality" ; - odml:hasValue . + odml:hasValue . + + a rdf:Bag ; + rdf:li "0.0" . a odml:Section ; odml:hasName "Recording" ; @@ -288,133 +290,143 @@ odml:Hub odml:hasDocument odml:cd24b60f-1d5e-4040-9881-5e5a597baef7 . odml:eecba499-0e45-472e-8772-27b4aebabfcc ; odml:hasType "Recording" . - a rdf:Bag ; - rdf:li "Apteronotus albifrons" . - a odml:Property ; odml:hasDtype "string" ; odml:hasName "Species" ; - odml:hasValue . + odml:hasValue . + + a rdf:Bag ; + rdf:li "0.202" . a odml:Property ; odml:hasDtype "string" ; odml:hasName "Additional noise" ; - odml:hasValue odml:dff463e6-824d-4a8d-96f6-307b4dd24858 . + odml:hasValue . - a rdf:Bag ; - rdf:li "metadata.xml" . + a rdf:Bag ; + rdf:li "0.14" . + + a rdf:Bag ; + rdf:li "true" . + + a rdf:Bag ; + rdf:li "2010-04-16" . a odml:Property ; odml:hasDtype "string" ; odml:hasName "University" ; - odml:hasValue odml:ed7fabf1-c60d-4018-a300-268be56dcf40 . + odml:hasValue . a odml:Property ; odml:hasDtype "string" ; odml:hasName "Depth" ; odml:hasUnit "um" ; - odml:hasValue odml:a315b32b-e448-411a-b046-76a953813595 . + odml:hasValue . a odml:Property ; odml:hasDtype "string" ; odml:hasName "Contrast" ; odml:hasUnit "%" ; - odml:hasValue . - - a rdf:Bag ; - rdf:li "MS 222" . + odml:hasValue . a odml:Property ; odml:hasDtype "string" ; odml:hasName "EOD Frequency" ; odml:hasUnit "Hz" ; - odml:hasValue odml:e9ad1688-9b13-4bd7-9ea0-1256def1b2f4 . + odml:hasValue . + + a rdf:Bag ; + rdf:li "0.9.6 (04/12/10)" . a odml:Property ; odml:hasDtype "string" ; odml:hasName "Recording duration" ; odml:hasUnit "m" ; - odml:hasValue odml:d0d98aec-042c-445c-9ae9-9c21e2cf3adc . + odml:hasValue odml:b6665829-517c-4e1f-98bb-3440520c99ee . - a rdf:Bag ; - rdf:li 1e-03 . + a rdf:Bag ; + rdf:li "1.82" . - a rdf:Bag ; - rdf:li "Nerve" . +odml:a0427b00-0c00-446d-9a8e-4cbfc4bf3189 a rdf:Bag ; + rdf:li "metadata.xml" . - a rdf:Bag ; - rdf:li "true" . +odml:a13e3cf0-1d76-420f-aa48-8da7278355c5 a rdf:Bag ; + rdf:li "/home/efish/relacs/plugins/efish/2010-04-16-ab" . -odml:a315b32b-e448-411a-b046-76a953813595 a rdf:Bag ; - rdf:li "0.0" . +odml:a1625c83-8dff-464e-af87-d17c1004dc7b a rdf:Bag ; + rdf:li "2010-04-16-ab" . odml:a76a3bab-695f-4e68-a88c-27eae1942576 a odml:Property ; odml:hasDtype "string" ; odml:hasName "Creator" ; - odml:hasValue . + odml:hasValue . -odml:ace37319-07de-4e03-91af-e6f2e3256692 a rdf:Bag ; - rdf:li "0.0" . +odml:aad9b7c9-7f6d-4a98-9ec6-bedc62edb9e0 a rdf:Bag ; + rdf:li "eFish-Setup" . + +odml:ab7572bb-854c-467e-a908-352f112ef109 a rdf:Bag ; + rdf:li "RELACS" . + +odml:acb39fae-4a71-4d87-b06f-ab06991cb70c a rdf:Bag ; + rdf:li "unknown" . + +odml:adb90936-7e05-4a7b-bff2-ebe60fa1d6ba a rdf:Bag ; + rdf:li 3e+02 . odml:afbc3b09-1026-4fe3-844d-88733a725590 a odml:Property ; odml:hasDtype "float" ; odml:hasName "Duration" ; odml:hasUnit "s" ; - odml:hasValue . - -odml:b044e629-800d-4c45-b236-49e8bb0ae6a2 a rdf:Bag ; - rdf:li " 82152 Planegg-Martinsried", - " Germany", - "Grosshaderner Str. 2" . + odml:hasValue . -odml:b7e5151d-fc8a-4107-b3be-dc5f5986942a a rdf:Bag ; - rdf:li "16:35:51" . +odml:b6665829-517c-4e1f-98bb-3440520c99ee a rdf:Bag ; + rdf:li "13.9" . -odml:ba6da178-db8b-4dcb-b6d1-182bd12cf89c a odml:Section ; +odml:ba6da178-db8b-4dcb-b6d1-182bd12cf89c a odml:CellProperties ; odml:hasName "Cell properties" ; odml:hasProperty , , odml:bebd5743-79d0-4a57-8b96-ad48435103e1 ; odml:hasType "Cell properties" . -odml:bb12bdda-ace5-4f3e-a88b-9f02a8254a7d a rdf:Bag ; - rdf:li "Pancuronium bromide" . +odml:bdde80d8-a944-485c-9fd2-2c3f96f871fa a rdf:Bag ; + rdf:li "1007.0" . odml:bebd5743-79d0-4a57-8b96-ad48435103e1 a odml:Property ; odml:hasDtype "string" ; odml:hasName "EOD Frequency" ; odml:hasUnit "Hz" ; - odml:hasValue odml:c7fb9b47-1443-4a03-afe3-8dc1d7d0fd89 . + odml:hasValue odml:bdde80d8-a944-485c-9fd2-2c3f96f871fa . odml:c1747b35-e6b2-4b7f-80b9-cbead0243ce0 a odml:Property ; odml:hasDtype "string" ; odml:hasName "Comment" ; - odml:hasValue . - -odml:c2b12f4a-848b-4b50-8e5b-0989d1df1738 a rdf:Bag ; - rdf:li "RELACS" . + odml:hasValue odml:e6bd7a4f-2205-4197-b334-61c9d4babf6c . odml:c4eb4dd6-3325-472b-84b4-616a9fca98c6 a odml:Property ; odml:hasDtype "float" ; odml:hasName "StandardDeviation" ; - odml:hasValue . + odml:hasValue odml:d44d9c3f-53e2-4676-9ab1-4341ecddc3f6 . -odml:c7fb9b47-1443-4a03-afe3-8dc1d7d0fd89 a rdf:Bag ; - rdf:li "1007.0" . +odml:c7c6cae0-64bb-4f0d-b852-37a8dc8d8983 a rdf:Bag ; + rdf:li "0.0" . + +odml:c8e610ef-0f50-4630-8c32-f6a7d49e5f13 a rdf:Bag ; + rdf:li "D01-043" . + +odml:c9156c75-4cf9-43b8-b1d5-57780e3651a0 a rdf:Bag ; + rdf:li "MS 222" . odml:ca2f5e6b-3dd8-43b1-9741-94f00a42d8b8 a odml:Property ; odml:hasDtype "string" ; odml:hasName "Software version" ; - odml:hasValue . + odml:hasValue . odml:ca686128-b4a8-433f-8e47-011ef7cf30db a odml:Property ; odml:hasDtype "float" ; odml:hasName "SampleRate" ; odml:hasUnit "s" ; - odml:hasValue . - -odml:cc49ae23-e1a0-4b05-8c17-5c8fa4fdf9a6 a rdf:Bag ; - rdf:li "136.0" . + odml:hasValue odml:d32e9dbf-c485-4d8d-90d6-a34ba02c9422 . odml:cd24b60f-1d5e-4040-9881-5e5a597baef7 a odml:Document ; odml:hasAuthor "grewe" ; @@ -426,90 +438,79 @@ odml:cd24b60f-1d5e-4040-9881-5e5a597baef7 a odml:Document ; , odml:ba6da178-db8b-4dcb-b6d1-182bd12cf89c . -odml:d0d98aec-042c-445c-9ae9-9c21e2cf3adc a rdf:Bag ; - rdf:li "13.9" . +odml:d32e9dbf-c485-4d8d-90d6-a34ba02c9422 a rdf:Bag ; + rdf:li 1e-03 . -odml:d3043a3a-9fd2-4e94-a1e0-af89655f8e5c a rdf:Bag ; - rdf:li "D01-043" . +odml:d44d9c3f-53e2-4676-9ab1-4341ecddc3f6 a rdf:Bag ; + rdf:li 3e-01 . + +odml:d59a760f-12a9-4738-87ba-c1691d86cbc3 a rdf:Bag ; + rdf:li "0.0" . odml:d6ca1018-ac58-4b63-a6a5-8c5ca28c7c99 a odml:Property ; odml:hasDtype "string" ; odml:hasName "Structure" ; - odml:hasValue . + odml:hasValue odml:fa67ea93-1640-4a2c-bc67-2915bb2955c9 . odml:d7b64566-73ea-43fc-9f5c-d6adb335e078 a odml:Property ; odml:hasDtype "string" ; odml:hasName "Experimenter" ; - odml:hasValue . - -odml:dbe9af39-54df-4a9d-9167-c973a3898f16 a rdf:Bag ; - rdf:li "Lidocaine" . + odml:hasValue . odml:dd337c00-e453-4952-a3c6-eb4a5e7f8eb2 a odml:Property ; odml:hasDtype "string" ; odml:hasName "Additional noise contrast" ; odml:hasUnit "%" ; - odml:hasValue . - -odml:dff463e6-824d-4a8d-96f6-307b4dd24858 a rdf:Bag ; - rdf:li "none" . + odml:hasValue odml:c7c6cae0-64bb-4f0d-b852-37a8dc8d8983 . odml:e01a58c5-51c9-4944-94da-6ffbb587ca3c a odml:Property ; odml:hasDtype "string" ; odml:hasName "Anaesthetic" ; - odml:hasValue . - -odml:e0c22fd8-17c5-4c51-a538-2dbbfee867a7 a rdf:Bag ; - rdf:li "Acquisition" . + odml:hasValue odml:c9156c75-4cf9-43b8-b1d5-57780e3651a0 . -odml:e512a606-9bf7-49c9-bef2-75848e800b1d a rdf:Bag ; - rdf:li "eFish-Setup" . +odml:e33108e2-72cc-4833-a1e6-e5439df682f0 a rdf:Bag ; + rdf:li "true" . -odml:e56c9deb-fbf6-4922-b14d-61e0aad9cad8 a rdf:Bag ; - rdf:li "P-unit" . +odml:e6bd7a4f-2205-4197-b334-61c9d4babf6c a rdf:Bag ; + rdf:li "weak response" . -odml:e9ad1688-9b13-4bd7-9ea0-1256def1b2f4 a rdf:Bag ; - rdf:li "1003.4" . +odml:e9417a2c-20ac-4f0d-99ab-5de3c36ef73d a rdf:Bag ; + rdf:li "136.0" . odml:e9e8a0ab-7bff-43e4-9fa6-a3018c2002b4 a odml:Property ; odml:hasDtype "string" ; odml:hasName "Name" ; - odml:hasValue odml:fa022209-60df-4a7a-b895-8ba3c2e74f27 . - -odml:eadb867d-34df-47a9-b863-4d62e11d2046 a rdf:Bag ; - rdf:li "0.14" . + odml:hasValue odml:a1625c83-8dff-464e-af87-d17c1004dc7b . odml:eb0f32a8-8d54-402a-9023-1230229216b4 a odml:Property ; odml:hasDtype "string" ; odml:hasName "Maintainer" ; - odml:hasValue . - -odml:ed7fabf1-c60d-4018-a300-268be56dcf40 a rdf:Bag ; - rdf:li " Munich", - "Ludwig-Maximilian University" . + odml:hasValue . odml:ee0db711-3f22-4de5-b699-f1acfc1e3a8c a odml:Property ; odml:hasDtype "string" ; odml:hasName "AnaestheticDose" ; odml:hasUnit "mg" ; - odml:hasValue . + odml:hasValue . + +odml:ee931e48-ee0b-474d-a59a-fa89b0b69443 a rdf:Bag ; + rdf:li " 82152 Planegg-Martinsried", + " Germany", + "Grosshaderner Str. 2" . odml:eecba499-0e45-472e-8772-27b4aebabfcc a odml:Property ; odml:hasDtype "string" ; odml:hasName "File" ; - odml:hasValue . - -odml:f5623a2f-669c-4587-8cb9-384e8222a375 a rdf:Bag ; - rdf:li "2010-04-16" . + odml:hasValue odml:a0427b00-0c00-446d-9a8e-4cbfc4bf3189 . -odml:f6cd6f60-f730-446b-b49a-5b977ab0224b a rdf:Bag ; - rdf:li " LMU-Munich", - "Department Biology II" . +odml:f1f790f6-e72f-42a8-95a8-06dc28acfc36 a rdf:Bag ; + rdf:li "Lidocaine" . odml:f76074c7-c60d-4b7c-9b62-00d9d55e8d7e a odml:Property ; odml:hasDtype "string" ; odml:hasName "Anaesthesia" ; - odml:hasValue . + odml:hasValue . + +odml:fa67ea93-1640-4a2c-bc67-2915bb2955c9 a rdf:Bag ; + rdf:li "Nerve" . -odml:fa022209-60df-4a7a-b895-8ba3c2e74f27 a rdf:Bag ; - rdf:li "2010-04-16-ab" . diff --git a/doc/example_rdfs/sparql_example_queries.py b/doc/example_rdfs/sparql_example_queries.py index 7e821370..5c37b256 100644 --- a/doc/example_rdfs/sparql_example_queries.py +++ b/doc/example_rdfs/sparql_example_queries.py @@ -1,10 +1,11 @@ from rdflib import Graph, Namespace, RDF from rdflib.plugins.sparql import prepareQuery +resource = "./python-odml/doc/example_rdfs/example_data/2010-04-16-ab_cutoff_300_contrast_20%.ttl" + g = Graph() -g.parse( - "/home/rick/g-node/python-odml/rdf_dev/for_copy/test_v1_1_odml_turtle/2010-04-16-ab_cutoff_300_contrast_20%.ttl", - format='turtle') +g.parse(resource, format='turtle') +# select d.* from dataset d, stimulus s where s.contrast = '20%' q1 = prepareQuery("""SELECT * WHERE { ?d rdf:type odml:Document . @@ -21,9 +22,8 @@ "rdf": RDF}) g = Graph() -g.parse( - "/home/rick/g-node/python-odml/rdf_dev/for_copy/test_v1_1_odml_turtle/2010-04-16-ab_cutoff_300_contrast_20%.ttl", - format='turtle') +g.parse(resource, format='turtle') +# select d.* from dataset d, stimulus s, cell c where s.contrast = '20%' and c.celltype='P-unit' q2 = prepareQuery("""SELECT * WHERE { ?d rdf:type odml:Document . @@ -49,6 +49,24 @@ }""", initNs={"odml": Namespace("https://g-node.org/projects/odml-rdf#"), "rdf": RDF}) +# select d.* from dataset d, CellProperties s, EOD Frequency c where c.unit = 'Hz' +g = Graph() +g.parse(resource, format='turtle') +q3 = prepareQuery("""SELECT * + WHERE { + ?d rdf:type odml:Document . + ?d odml:hasSection ?s . + ?s rdf:type odml:CellProperties . + ?s odml:hasProperty ?p . + + ?p odml:hasName "EOD Frequency" . + ?p odml:hasValue ?v . + ?p odml:hasUnit "Hz" . + ?v rdf:type rdf:Bag . + ?v rdf:li ?value . + }""", initNs={"odml": Namespace("https://g-node.org/projects/odml-rdf#"), + "rdf": RDF}) + print("q1") for row in g.query(q1): print("Doc: {0}, Sec: {1}, \n" @@ -60,3 +78,9 @@ "Prop: {2}, Bag: {3}".format(row.d, row.s, row.p, row.v)) print("Doc: {0}, Sec: {1}, \n" "Prop: {2}, Bag: {3}".format(row.d, row.s1, row.p1, row.v1)) + +print("q3") +for row in g.query(q3): + print("Doc: {0}, Sec: {1}, \n" + "Prop: {2}, Bag: {3} \n" + "Value: {4}".format(row.d, row.s, row.p, row.v, row.value))