@prefix this: . @prefix sub: . @prefix np: . @prefix dct: . @prefix nt: . @prefix npx: . @prefix xsd: . @prefix rdfs: . @prefix orcid: . @prefix prov: . sub:Head { this: a np:Nanopublication; np:hasAssertion sub:assertion; np:hasProvenance sub:provenance; np:hasPublicationInfo sub:pubinfo . } sub:assertion { sub:get-3pff-events-html a ; dct:description "Returns a list of all events related to the Three Point FAIRification Framework (3PFF), with multi-value fields pre-rendered as HTML anchor strings. Variant of get-3pff-events intended for consumption by clients (e.g. nanopub-table with data-bind-html) that cannot split space-separated URI lists on their own."; dct:license ; rdfs:label "Get 3PFF Events (HTML)"; ; """prefix rdfs: prefix np: prefix npa: prefix npx: prefix xsd: prefix dct: prefix prov: prefix tpff: prefix schema: select (?event as ?Event_ID) (?eventShortName as ?Event_ID__label) (?eventLongName as ?Event_Name) (?eventDate as ?Date) (group_concat(distinct concat( \"\", replace(str(?eventOrganizer), \"^.*[/#]\", \"\"), \"\" ); separator=\", \") as ?Organizers) (group_concat(distinct concat( \"\", replace(str(?eventFacilitator), \"^.*[/#]\", \"\"), \"\" ); separator=\", \") as ?Facilitators) (group_concat(distinct concat( \"\", replace(str(?eventMoreInfoLink), \"^.*[/#]\", \"\"), \"\" ); separator=\", \") as ?More_Info) (?np as ?Source) where { graph npa:graph { ?np npa:hasValidSignatureForPublicKey ?pubkey . ?np dct:created ?npDate . ?np dct:creator ?npCreator . ?np np:hasAssertion ?assertion . ?np npx:introduces ?event . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } } graph ?assertion { ?event a tpff:3PFF-event . ?event rdfs:label ?eventName . # Date Handling: Check for both predicates optional { ?event dct:date ?dateDct . } optional { ?event schema:startDate ?dateSchema . } bind(coalesce(?dateDct, strBefore(str(?dateSchema), \"T\")) as ?eventDate) bind(replace(str(?eventName), ' ?\\\\|.*$', '') as ?eventShortName) bind(replace(str(?eventName), '^([A-Z0-9]{2,3}).*$', '$1') as ?eventSeries) bind(replace(str(?eventName), '^.*\\\\| ?(.*)$', '$1') as ?eventLongName) optional { ?event tpff:has-event-organizer ?eventOrganizer . } optional { ?event tpff:has-event-facilitator ?eventFacilitator . } optional { ?event rdfs:seeAlso ?eventMoreInfoLink . } } } group by ?event ?eventShortName ?eventLongName ?eventDate ?np order by desc(?eventDate)""" . } sub:provenance { sub:assertion prov:wasAttributedTo orcid:0000-0002-1267-0234; prov:wasDerivedFrom . } sub:pubinfo { this: dct:created "2026-04-23T13:32:54Z"^^xsd:dateTime; dct:creator orcid:0000-0002-1267-0234; dct:license ; npx:embeds sub:get-3pff-events-html; npx:supersedes ; rdfs:label "Get 3PFF Events (HTML)"; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , , , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB"; npx:hasSignature "OZdNOsskikJvxQkIykXfyoNxAR9edvUqG4Kb//PT4Z2rE/40cX7MI+b7mrUWWNs42nPnxsnr2a4zj7/VtJsgss0lQzmupL3WaH51r7Jd1wq2kLJwtqF9ZCHCKpiL6QQHGid5qikqyGk7+VfokZZqxQJp9znl1fQ9qbDoIJpFYWo="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-1267-0234 . }