[ { "@id": "https://w3id.org/np/RARO70efzlkz67E7ys6uWJ3dm_m6h_716nkw06yj5DpzI/pubinfo", "@graph": [ { "@id": "https://orcid.org/0000-0002-1267-0234", "http://xmlns.com/foaf/0.1/name": [ { "@value": "Tobias Kuhn" } ] }, { "@id": "https://w3id.org/np/RARO70efzlkz67E7ys6uWJ3dm_m6h_716nkw06yj5DpzI", "http://purl.org/dc/terms/created": [ { "@value": "2026-07-29T17:54:09Z", "@type": "http://www.w3.org/2001/XMLSchema#dateTime" } ], "http://purl.org/dc/terms/creator": [ { "@id": "https://orcid.org/0000-0002-1267-0234" } ], "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/RARO70efzlkz67E7ys6uWJ3dm_m6h_716nkw06yj5DpzI/get-openaire-different-work-links" } ], "http://www.w3.org/2000/01/rdf-schema#label": [ { "@value": "Get OpenAIRE different-work links" } ], "https://w3id.org/np/o/ntemplate/wasCreatedFromProvenanceTemplate": [ { "@id": "http://purl.org/np/RAcm8OurwUk15WOgBM9wySo-T3a5h6as4K8YR5MBrrxUc" } ], "https://w3id.org/np/o/ntemplate/wasCreatedFromPubinfoTemplate": [ { "@id": "https://w3id.org/np/RACJ58Gvyn91LqCKIO9zu1eijDQIeEff28iyDrJgjSJF8" }, { "@id": "https://w3id.org/np/RARW4MsFkHuwjycNElvEVtuMjpf4yWDL10-0C5l2MqqRQ" }, { "@id": "https://w3id.org/np/RAoTD7udB2KtUuOuAe74tJi1t3VzK0DyWS7rYVAq1GRvw" }, { "@id": "https://w3id.org/np/RAukAcWHRDlkqxk7H2XNSegc1WnHI569INvNr-xdptDGI" } ], "https://w3id.org/np/o/ntemplate/wasCreatedFromTemplate": [ { "@id": "https://w3id.org/np/RAEFAt-QcFK0ZhqfvlsmS10BnzGJA0xwOICZXkO-ai87k" } ] }, { "@id": "https://w3id.org/np/RARO70efzlkz67E7ys6uWJ3dm_m6h_716nkw06yj5DpzI/sig", "http://purl.org/nanopub/x/hasAlgorithm": [ { "@value": "RSA" } ], "http://purl.org/nanopub/x/hasPublicKey": [ { "@value": "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB" } ], "http://purl.org/nanopub/x/hasSignature": [ { "@value": "W3uimO3pTc1JW7PNWo+4e5k204FBgbmnCNNo0N2Ipbb54X0WrTvyW9Ae9JRWfpM2REQgY4/OxJDvIVTZrbPsUbiaTiGvlBJwzyzaWtMtaXzfyRoGVTyGC84/CpH6h9YHoAEXYyi1hckBvWhwVcM9gKLpKL2R8dBW9wScviQLFkU=" } ], "http://purl.org/nanopub/x/hasSignatureTarget": [ { "@id": "https://w3id.org/np/RARO70efzlkz67E7ys6uWJ3dm_m6h_716nkw06yj5DpzI" } ], "http://purl.org/nanopub/x/signedBy": [ { "@id": "https://orcid.org/0000-0002-1267-0234" } ] } ] }, { "@id": "https://w3id.org/np/RARO70efzlkz67E7ys6uWJ3dm_m6h_716nkw06yj5DpzI/Head", "@graph": [ { "@id": "https://w3id.org/np/RARO70efzlkz67E7ys6uWJ3dm_m6h_716nkw06yj5DpzI", "http://www.nanopub.org/nschema#hasAssertion": [ { "@id": "https://w3id.org/np/RARO70efzlkz67E7ys6uWJ3dm_m6h_716nkw06yj5DpzI/assertion" } ], "http://www.nanopub.org/nschema#hasProvenance": [ { "@id": "https://w3id.org/np/RARO70efzlkz67E7ys6uWJ3dm_m6h_716nkw06yj5DpzI/provenance" } ], "http://www.nanopub.org/nschema#hasPublicationInfo": [ { "@id": "https://w3id.org/np/RARO70efzlkz67E7ys6uWJ3dm_m6h_716nkw06yj5DpzI/pubinfo" } ], "@type": [ "http://www.nanopub.org/nschema#Nanopublication" ] } ] }, { "@id": "https://w3id.org/np/RARO70efzlkz67E7ys6uWJ3dm_m6h_716nkw06yj5DpzI/provenance", "@graph": [ { "@id": "https://w3id.org/np/RARO70efzlkz67E7ys6uWJ3dm_m6h_716nkw06yj5DpzI/assertion", "http://www.w3.org/ns/prov#wasAttributedTo": [ { "@id": "https://orcid.org/0000-0002-1267-0234" } ] } ] }, { "@id": "https://w3id.org/np/RARO70efzlkz67E7ys6uWJ3dm_m6h_716nkw06yj5DpzI/assertion", "@graph": [ { "@id": "https://w3id.org/np/RARO70efzlkz67E7ys6uWJ3dm_m6h_716nkw06yj5DpzI/get-openaire-different-work-links", "http://purl.org/dc/terms/description": [ { "@value": "Returns the contributed links stating that two scholarly records denote different works (e.g. reporting wrong automatic merges), with labels and contributor, excluding retracted or superseded nanopublications (example nanopublications are included, marked in the flags column). The status column links the latest valid approval or disapproval by a member of the given space." } ], "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 OpenAIRE different-work links" } ], "https://w3id.org/kpxl/grlc/endpoint": [ { "@id": "https://w3id.org/np/l/nanopub-query-1.1/repo/type/085bcf46889f4666d069a3a5abb913fd29c77f6c32f3b78ec19d243226a33abf" } ], "https://w3id.org/kpxl/grlc/sparql": [ { "@value": "prefix np: \nprefix npa: \nprefix npx: \nprefix nt: \nprefix dct: \nprefix foaf: \nprefix owl: \nprefix rdfs: \nprefix cito: \nprefix frbr: \nprefix skos: \nprefix frapo: \nprefix prov: \nprefix gen: \nprefix xsd: \nselect ?record ?record_label ?different_work ?different_work_label ?flags ?creator ?creator_label ?date ?action_target ?np ?np_label ?status ?status_label where {\n {\n select ?record ?record_label ?different_work ?different_work_label\n (if(?isExample, \"example\", \"\") as ?flags)\n ?creator ?creator_label ?date (?np as ?action_target) ?np (\"^\" as ?np_label)\n (max(if(contains(?memberPubkeys, ?vKey), ?vTag, \"\")) as ?latestTag)\n where {\n values ?_space_multi_iri {}\n service {\n select (group_concat(?mpk; separator=\" \") as ?memberPubkeys) where {\n graph npa:graph { npa:hasCurrentSpaceState ?stateG . }\n values ?_space_multi_iri {}\n graph ?stateG {\n ?ri a gen:RoleInstantiation ; npa:forSpace ?_space_multi_iri ; npa:forAgent ?agent ; npa:hasRoleType ?roleType .\n filter(?roleType in (gen:AdminRole, gen:MaintainerRole, gen:MemberRole))\n ?acct a npa:AccountState ; npa:agent ?agent ; npa:pubkey ?mpk .\n }\n }\n }\n graph npa:graph {\n ?np npa:hasValidSignatureForPublicKeyHash ?pk .\n filter not exists { ?inp npx:invalidates ?np ; npa:hasValidSignatureForPublicKeyHash ?pk . }\n filter not exists { ?sup npx:supersedes ?np . }\n ?np dct:created ?date .\n ?np np:hasAssertion ?a .\n ?np np:hasPublicationInfo ?pi .\n }\n graph ?a { ?record owl:differentFrom ?different_work . }\n filter( strstarts(str(?record), \"https://doi.org/\") || strstarts(str(?record), \"https://api.openaire.eu/\") || strstarts(str(?different_work), \"https://doi.org/\") || strstarts(str(?different_work), \"https://api.openaire.eu/\") )\n optional { graph ?pi { ?record nt:hasLabelFromApi ?record_label . } }\n optional { graph ?pi { ?different_work nt:hasLabelFromApi ?different_work_label . } }\n optional { graph npa:graph { ?np dct:creator ?creator . } }\n optional { graph ?pi { ?creator foaf:name ?creator_label . } }\n bind(exists { graph npa:graph { ?np npx:hasNanopubType npx:ExampleNanopub . } } as ?isExample)\n optional {\n { select (?vTarget as ?np) ?vKey ?vTag where {\n {\n service {\n graph npa:graph {\n ?vnp npa:hasValidSignatureForPublicKeyHash ?vKey .\n filter not exists { ?vinp npx:invalidates ?vnp ; npa:hasValidSignatureForPublicKeyHash ?vKey . }\n filter not exists { ?vsup npx:supersedes ?vnp . }\n ?vnp dct:created ?vDate .\n ?vnp np:hasAssertion ?va .\n ?vnp np:hasPublicationInfo ?vpi .\n }\n graph ?va { ?vagent npx:approvesOf ?vTarget . }\n optional { graph ?vpi { ?vagent foaf:name ?vName . } }\n bind(concat(str(?vDate), \">approved|\", coalesce(?vName, str(?vagent)), \"|\", str(?vnp)) as ?vTag)\n }\n } union {\n service {\n graph npa:graph {\n ?vnp npa:hasValidSignatureForPublicKeyHash ?vKey .\n filter not exists { ?vinp npx:invalidates ?vnp ; npa:hasValidSignatureForPublicKeyHash ?vKey . }\n filter not exists { ?vsup npx:supersedes ?vnp . }\n ?vnp dct:created ?vDate .\n ?vnp np:hasAssertion ?va .\n ?vnp np:hasPublicationInfo ?vpi .\n }\n graph ?va { ?vagent npx:disapprovesOf ?vTarget . }\n optional { graph ?vpi { ?vagent foaf:name ?vName . } }\n bind(concat(str(?vDate), \">disapproved|\", coalesce(?vName, str(?vagent)), \"|\", str(?vnp)) as ?vTag)\n }\n }\n }\n }\n }\n }\n group by ?record ?record_label ?different_work ?different_work_label ?creator ?creator_label ?date ?np ?isExample ?memberPubkeys\n }\n bind(coalesce(?latestTag, \"\") as ?lt)\n bind(strbefore(strafter(?lt, \">\"), \"|\") as ?verdict)\n bind(strafter(?lt, \"|\") as ?vrest)\n bind(strbefore(?vrest, \"|\") as ?vname)\n bind(iri(strafter(?vrest, \"|\")) as ?status)\n bind(xsd:dateTime(strbefore(?lt, \">\")) as ?vdt)\n bind((year(now())*525600 + month(now())*43800 + day(now())*1440 + hours(now())*60 + minutes(now())) - (year(?vdt)*525600 + month(?vdt)*43800 + day(?vdt)*1440 + hours(?vdt)*60 + minutes(?vdt)) as ?minsAgo)\n bind(coalesce(if(?minsAgo < 1, \"just now\", if(?minsAgo < 60, concat(str(?minsAgo), if(?minsAgo = 1, \" minute ago\", \" minutes ago\")), if(?minsAgo < 1440, concat(str(xsd:integer(floor(?minsAgo / 60))), if(xsd:integer(floor(?minsAgo / 60)) = 1, \" hour ago\", \" hours ago\")), concat(str(xsd:integer(floor(?minsAgo / 1440))), if(xsd:integer(floor(?minsAgo / 1440)) = 1, \" day ago\", \" days ago\"))))), \"\") as ?ago)\n bind(coalesce(if(?lt != \"\", concat(?verdict, \" by \", ?vname, \" \", ?ago), \"\"), \"\") as ?status_label)\n}\norder by desc(?date)" } ] } ] } ]