[ { "@id": "https://w3id.org/np/RAlZD5yYrf1Q5i-LB5jAcIzQ_1wLrXSa4E2dq7kS9yylI/pubinfo", "@graph": [ { "@id": "https://orcid.org/0000-0001-8492-0354", "http://xmlns.com/foaf/0.1/name": [ { "@value": "Ashley Caselli" } ] }, { "@id": "https://w3id.org/np/RAlZD5yYrf1Q5i-LB5jAcIzQ_1wLrXSa4E2dq7kS9yylI", "http://purl.org/dc/terms/created": [ { "@value": "2026-09-16T15:24:51Z", "@type": "http://www.w3.org/2001/XMLSchema#dateTime" } ], "http://purl.org/dc/terms/creator": [ { "@id": "https://orcid.org/0000-0001-8492-0354" } ], "http://purl.org/dc/terms/license": [ { "@id": "https://creativecommons.org/licenses/by/4.0/" } ], "http://purl.org/nanopub/x/embeds": [ { "@id": "https://w3id.org/np/RAlZD5yYrf1Q5i-LB5jAcIzQ_1wLrXSa4E2dq7kS9yylI/get-observed-events-of-user" } ], "http://www.w3.org/2000/01/rdf-schema#label": [ { "@value": "Get events a user is interested in" } ], "https://w3id.org/np/o/ntemplate/wasCreatedFromProvenanceTemplate": [ { "@id": "https://w3id.org/np/RA7lSq6MuK_TIC6JMSHvLtee3lpLoZDOqLJCLXevnrPoU" } ], "https://w3id.org/np/o/ntemplate/wasCreatedFromPubinfoTemplate": [ { "@id": "https://w3id.org/np/RA-N4_kFxcruvBTlo1yJv29E4SLOXsx5KO_th69PprMrA" }, { "@id": "https://w3id.org/np/RACJ58Gvyn91LqCKIO9zu1eijDQIeEff28iyDrJgjSJF8" }, { "@id": "https://w3id.org/np/RARJj78P72NR5edKOnu_f4ePE9NYYuW2m2pM-fEoobMBk" } ], "https://w3id.org/np/o/ntemplate/wasCreatedFromTemplate": [ { "@id": "https://w3id.org/np/RAEFAt-QcFK0ZhqfvlsmS10BnzGJA0xwOICZXkO-ai87k" } ] }, { "@id": "https://w3id.org/np/RAlZD5yYrf1Q5i-LB5jAcIzQ_1wLrXSa4E2dq7kS9yylI/sig", "http://purl.org/nanopub/x/hasAlgorithm": [ { "@value": "RSA" } ], "http://purl.org/nanopub/x/hasPublicKey": [ { "@value": "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA+i9DV8ynzO944pYkYsDwtlqJHuk+b7FQt6Bb4TIQSDX3jGUURn6WpaNwESHmgMLWSydaH5XlabMzuqpPL4iyB+IAzvwIxdJBLhe39EQMu2j+FZ/5d/xu/gO3nZw2KoEvJ7cJisabuI05OylIRSJ+OG5CmzFxnjojUEJeCFi1njY1InhXrb0yHud9b1ifzweoN6YYOBecKs1gTOaT2bf+t4Wgzg3M0PmRVZ4F0OALsnh4T5+x7kFtiPcDKNpORi585JjKCZ4kczIF6oUKcwgC0kmIY97jtLqSLcXRkxHx5CDI6qz4XlRFs1ZbCUdSlzjdPZAkaBcNem1gIhWzkHkEnQIDAQAB" } ], "http://purl.org/nanopub/x/hasSignature": [ { "@value": "UdtKOHLJf8ObppjlBjyMhYcOrZURzrZw0MbRdtVyRMqmAtDLO9++1B2PvusThw7mDM+Q644uEg7T67k5V/maEt6K1ACfWoCfR1M63QNmETyjsDzmhYAGeUnULOKPaj9seljroudD51YNBhZhLwApJfAlVS0eUzooAIIjpCM4Mk7X4KKH8YKCNjUKJxn5iuwzoB14HIcL8NkQtFVL2BpG+ocFxR8aaSLLEGQ8WkFd5E8ZZUXUCG/Jx9qMJbA4kocZrpytvdg3mLXxizzmd0iv1G2UYkzu8iYtBel3SGkX9XZubmMydOQX3GGmp6IF1QqvLSFw5yhQqyVBoJ1m8B3kdg==" } ], "http://purl.org/nanopub/x/hasSignatureTarget": [ { "@id": "https://w3id.org/np/RAlZD5yYrf1Q5i-LB5jAcIzQ_1wLrXSa4E2dq7kS9yylI" } ], "http://purl.org/nanopub/x/signedBy": [ { "@id": "https://orcid.org/0000-0001-8492-0354" } ] } ] }, { "@id": "https://w3id.org/np/RAlZD5yYrf1Q5i-LB5jAcIzQ_1wLrXSa4E2dq7kS9yylI/Head", "@graph": [ { "@id": "https://w3id.org/np/RAlZD5yYrf1Q5i-LB5jAcIzQ_1wLrXSa4E2dq7kS9yylI", "http://www.nanopub.org/nschema#hasAssertion": [ { "@id": "https://w3id.org/np/RAlZD5yYrf1Q5i-LB5jAcIzQ_1wLrXSa4E2dq7kS9yylI/assertion" } ], "http://www.nanopub.org/nschema#hasProvenance": [ { "@id": "https://w3id.org/np/RAlZD5yYrf1Q5i-LB5jAcIzQ_1wLrXSa4E2dq7kS9yylI/provenance" } ], "http://www.nanopub.org/nschema#hasPublicationInfo": [ { "@id": "https://w3id.org/np/RAlZD5yYrf1Q5i-LB5jAcIzQ_1wLrXSa4E2dq7kS9yylI/pubinfo" } ], "@type": [ "http://www.nanopub.org/nschema#Nanopublication" ] } ] }, { "@id": "https://w3id.org/np/RAlZD5yYrf1Q5i-LB5jAcIzQ_1wLrXSa4E2dq7kS9yylI/assertion", "@graph": [ { "@id": "https://w3id.org/np/RAlZD5yYrf1Q5i-LB5jAcIzQ_1wLrXSa4E2dq7kS9yylI/get-observed-events-of-user", "http://purl.org/dc/terms/description": [ { "@value": "Returns the events a user observes, limited to current and future events only: past events are never listed. An observed event is a space typed as an event (gen:Event) in which the user holds the observer role, i.e. a validated role instantiation whose property is gen:hasObserver in the current space state. The user does not need any other role in the event, and holding one (such as admin) does not exclude it. Other roles of the observer tier, such as planned attendance or participation, are not matched. An event counts as current or future while its end date (or its start date, when it has no end date) is today or later, so an event under way is still listed until its last day has passed; events without a start date are left out, since they cannot be placed in time. Each event is described from the newest still-valid nanopublication that introduces it, giving its label and its dates (a single day, or a start - end range), ordered by start date, soonest first." } ], "http://purl.org/dc/terms/license": [ { "@id": "http://www.apache.org/licenses/LICENSE-2.0" } ], "@type": [ "https://w3id.org/kpxl/grlc/grlc-query" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { "@value": "Get events a user is interested in" } ], "https://w3id.org/kpxl/grlc/endpoint": [ { "@id": "https://w3id.org/np/l/nanopub-query-1.1/repo/type/8ad572d99071cc1ba0c16e54087b43594bdd9e8b2cfb62d2a0b16945fc49e53c" } ], "https://w3id.org/kpxl/grlc/sparql": [ { "@value": "prefix rdfs: \nprefix dct: \nprefix np: \nprefix npa: \nprefix npx: \nprefix gen: \nprefix schema: \nprefix xsd: \n\nselect ?event ?event_label ?dates ?np (\"^\" as ?np_label) where {\n {\n select distinct ?event where {\n service {\n graph npa:graph { npa:thisRepo npa:hasCurrentSpaceState ?stateG . }\n graph ?stateG {\n ?ri a gen:RoleInstantiation ;\n npa:forAgent ?_user_iri ;\n npa:forSpace ?event ;\n npa:inverseProperty gen:hasObserver .\n }\n }\n }\n }\n graph npa:graph {\n ?np npa:hasValidSignatureForPublicKeyHash ?pubkey .\n filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKeyHash ?pubkey . }\n filter not exists { ?np npx:hasNanopubType npx:ExampleNanopub . }\n ?np npx:introduces ?event .\n ?np np:hasAssertion ?a .\n ?np dct:created ?npDate .\n filter not exists {\n ?np2 npx:introduces ?event .\n ?np2 npa:hasValidSignatureForPublicKeyHash ?pubkey2 .\n filter not exists { ?npx2 npx:invalidates ?np2 ; npa:hasValidSignatureForPublicKeyHash ?pubkey2 . }\n ?np2 dct:created ?npDate2 .\n filter(?npDate2 > ?npDate)\n }\n }\n graph ?a {\n ?event a gen:Space .\n ?event a gen:Event .\n ?event rdfs:label ?event_label .\n }\n graph ?a { ?event schema:startDate ?datetime . }\n optional { graph ?a { ?event schema:endDate ?endDatetime . } }\n bind(xsd:date(substr(str(?datetime), 1, 10)) as ?date)\n bind(xsd:date(substr(str(now()), 1, 10)) as ?today)\n optional { bind(xsd:date(substr(str(?endDatetime), 1, 10)) as ?endDate) }\n bind(if(bound(?endDate), ?endDate, ?date) as ?effectiveEnd)\n filter(?effectiveEnd >= ?today)\n bind(substr(str(?datetime), 1, 10) as ?startDay)\n bind(if(bound(?endDatetime), substr(str(?endDatetime), 1, 10), ?startDay) as ?endDay)\n bind(if(?startDay = ?endDay, ?startDay, concat(?startDay, \" – \", ?endDay)) as ?dates)\n} order by ?date ?event_label" } ] } ] }, { "@id": "https://w3id.org/np/RAlZD5yYrf1Q5i-LB5jAcIzQ_1wLrXSa4E2dq7kS9yylI/provenance", "@graph": [ { "@id": "https://w3id.org/np/RAlZD5yYrf1Q5i-LB5jAcIzQ_1wLrXSa4E2dq7kS9yylI/assertion", "http://www.w3.org/ns/prov#wasAttributedTo": [ { "@id": "https://orcid.org/0000-0001-8492-0354" } ] } ] } ]