Repository navigation
Schema consolidation #6
Replies: 4 comments
|
https://cr.bitplan.com/index.php/Main_Page has the diagram:
see clickable SVG-Diagram |
SHACL Proposal for CEUR-WS SemantifyScope: Consolidates discussion points from
1. Goals
2. Namespaces@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix schema: <https://schema.org/> .
@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix bibo: <http://purl.org/ontology/bibo/> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix wd: <http://www.wikidata.org/entity/> .
@prefix wdt: <http://www.wikidata.org/prop/direct/> .
@prefix ceur: <http://ceur-ws.org/> .
@prefix datacite:<http://purl.org/spar/datacite/> .
@prefix confident:<https://raw.githubusercontent.com/TIBHannover/ConfIDent_schema/main/src/linkml/confident_schema.yaml#> .
@prefix aeon: <http://purl.obolibrary.org/obo/AEON_> .3. Target ClassesDerived from the entity inventory in #15:
4. Shapes4.1 Volume (DOI-critical)Covers all DataCite minimum fields required by #14. ceur:VolumeShape a sh:NodeShape ;
sh:targetClass bibo:Proceedings ;
rdfs:comment "CEUR-WS volume. Validates properties required for DOI minting (DataCite minimum)." ;
# --- Identity ---
sh:property [
sh:path bibo:volume ;
sh:datatype xsd:string ;
sh:pattern "^[0-9]+$" ;
sh:minCount 1 ; sh:maxCount 1 ;
sh:name "volume number" ;
] ;
sh:property [
sh:path datacite:doi ;
sh:datatype xsd:string ;
sh:pattern "^10\\.83095/ceurws_[0-9]{5}$" ;
sh:maxCount 1 ;
sh:name "DOI (pattern 10.83095/ceurws_NNNNN)" ;
] ;
sh:property [
sh:path schema:url ;
sh:nodeKind sh:IRI ;
sh:pattern "^https://ceur-ws\\.org/Vol-[0-9]+/?$" ;
sh:minCount 1 ; sh:maxCount 1 ;
sh:name "landing page URL" ;
] ;
sh:property [
sh:path wdt:P4109 ; # URN-NBN
sh:datatype xsd:string ;
sh:pattern "^urn:nbn:" ;
sh:maxCount 1 ;
] ;
# --- DataCite minimum ---
sh:property [
sh:path schema:name ; # Title
sh:datatype xsd:string ;
sh:minCount 1 ;
sh:name "title (DataCite Title)" ;
] ;
sh:property [
sh:path schema:datePublished ; # PublicationYear derivable
sh:or ( [ sh:datatype xsd:date ] [ sh:datatype xsd:gYear ] ) ;
sh:minCount 1 ; sh:maxCount 1 ;
sh:name "publication date (DataCite PublicationYear)" ;
] ;
sh:property [
sh:path schema:publisher ; # Publisher
sh:class schema:Organization ;
sh:minCount 1 ;
sh:name "publisher (DataCite Publisher, fixed to CEUR-WS)" ;
] ;
sh:property [
sh:path schema:editor ; # Creator
sh:class schema:Person ;
sh:minCount 1 ;
sh:name "editors (DataCite Creator)" ;
] ;
# --- Structural ---
sh:property [
sh:path schema:hasPart ;
sh:class schema:ScholarlyArticle ;
sh:minCount 1 ;
sh:name "papers in volume" ;
] ;
sh:property [
sh:path schema:about ; # proceedings of event
sh:class schema:Event ;
sh:maxCount 1 ;
] ;
sh:property [
sh:path schema:inLanguage ;
sh:datatype xsd:string ;
sh:pattern "^[a-z]{2,3}$" ;
] .4.2 Paper (DOI-critical)ceur:PaperShape a sh:NodeShape ;
sh:targetClass schema:ScholarlyArticle ;
sh:property [
sh:path datacite:doi ;
sh:datatype xsd:string ;
sh:pattern "^10\\.83095/ceurws_[0-9]{5}_[0-9]+$" ;
sh:maxCount 1 ;
sh:name "Paper DOI (10.83095/ceurws_NNNNN_PPP)" ;
] ;
sh:property [
sh:path schema:url ;
sh:nodeKind sh:IRI ;
sh:pattern "^https://ceur-ws\\.org/Vol-[0-9]+/paper[0-9]+\\.pdf$" ;
sh:minCount 1 ; sh:maxCount 1 ;
] ;
sh:property [
sh:path schema:name ;
sh:datatype xsd:string ;
sh:minCount 1 ;
] ;
sh:property [
sh:path schema:author ;
sh:class schema:Person ;
sh:minCount 1 ;
sh:name "authors (DataCite Creator)" ;
] ;
sh:property [
sh:path schema:isPartOf ;
sh:class bibo:Proceedings ;
sh:minCount 1 ; sh:maxCount 1 ;
] ;
sh:property [
sh:path bibo:presentedAt ;
sh:class schema:Event ;
sh:maxCount 1 ;
] .4.3 Scholar (Author / Editor)ceur:ScholarShape a sh:NodeShape ;
sh:targetClass schema:Person ;
sh:property [
sh:path schema:name ;
sh:datatype xsd:string ;
sh:minCount 1 ;
] ;
sh:property [
sh:path schema:givenName ;
sh:datatype xsd:string ;
] ;
sh:property [
sh:path schema:familyName ;
sh:datatype xsd:string ;
] ;
# Wikidata external IDs (aligned with P-numbers from #15 §4)
sh:property [ sh:path wdt:P496 ; sh:pattern "^[0-9]{4}-[0-9]{4}-[0-9]{4}-[0-9]{3}[0-9X]$" ; sh:name "ORCID" ] ;
sh:property [ sh:path wdt:P2456 ; sh:datatype xsd:string ; sh:name "dblp person ID" ] ;
sh:property [ sh:path wdt:P1960 ; sh:datatype xsd:string ; sh:name "Google Scholar ID" ] ;
sh:property [ sh:path wdt:P1153 ; sh:datatype xsd:string ; sh:name "Scopus author ID" ] ;
sh:property [ sh:path wdt:P1556 ; sh:datatype xsd:string ; sh:name "zbMATH author ID" ] ;
sh:property [ sh:path wdt:P227 ; sh:datatype xsd:string ; sh:name "GND ID" ] ;
sh:property [ sh:path wdt:P214 ; sh:datatype xsd:string ; sh:name "VIAF ID" ] ;
sh:property [ sh:path wdt:P269 ; sh:datatype xsd:string ; sh:name "IdRef ID" ] ;
sh:property [
sh:path schema:affiliation ;
sh:class schema:Organization ;
] .4.4 Eventceur:EventShape a sh:NodeShape ;
sh:targetClass schema:Event ;
sh:property [ sh:path schema:name ; sh:datatype xsd:string ; sh:minCount 1 ] ;
sh:property [ sh:path wdt:P1813 ; sh:datatype xsd:string ; sh:name "acronym" ] ;
sh:property [ sh:path wdt:P580 ; sh:or ( [ sh:datatype xsd:date ] [ sh:datatype xsd:dateTime ] ) ; sh:maxCount 1 ; sh:name "start date" ] ;
sh:property [ sh:path wdt:P582 ; sh:or ( [ sh:datatype xsd:date ] [ sh:datatype xsd:dateTime ] ) ; sh:maxCount 1 ; sh:name "end date" ] ;
sh:property [ sh:path wdt:P276 ; sh:class schema:City ; sh:maxCount 1 ; sh:name "location" ] ;
sh:property [ sh:path wdt:P17 ; sh:class schema:Country ; sh:maxCount 1 ] ;
sh:property [ sh:path wdt:P179 ; sh:class schema:EventSeries ; sh:maxCount 1 ; sh:name "part of series" ] ;
sh:property [ sh:path wdt:P10692 ; sh:datatype xsd:string ; sh:name "dblp event ID" ] ;
sh:property [
sh:path confident:colocated_with ;
sh:class schema:Event ;
] .4.5 EventSeriesceur:EventSeriesShape a sh:NodeShape ;
sh:targetClass schema:EventSeries ;
sh:property [ sh:path schema:name ; sh:datatype xsd:string ; sh:minCount 1 ] ;
sh:property [ sh:path wdt:P1813 ; sh:datatype xsd:string ; sh:name "acronym" ] ;
sh:property [ sh:path wdt:P856 ; sh:nodeKind sh:IRI ; sh:name "official website" ] ;
sh:property [ sh:path wdt:P8926 ; sh:datatype xsd:string ; sh:name "dblp venue ID" ] ;
sh:property [ sh:path wdt:P214 ; sh:datatype xsd:string ; sh:name "VIAF" ] ;
sh:property [ sh:path wdt:P227 ; sh:datatype xsd:string ; sh:name "GND" ] ;
sh:property [ sh:path wdt:P2002 ; sh:datatype xsd:string ; sh:name "Twitter" ] .4.6 Location entitiesceur:CityShape a sh:NodeShape ;
sh:targetClass schema:City ;
sh:property [ sh:path schema:name ; sh:datatype xsd:string ; sh:minCount 1 ] ;
sh:property [ sh:path wdt:P17 ; sh:class schema:Country ] ;
sh:property [ sh:path wdt:P625 ; sh:name "coordinates" ] ;
sh:property [ sh:path wdt:P1566 ; sh:datatype xsd:string ; sh:name "GeoNames ID" ] .
ceur:CountryShape a sh:NodeShape ;
sh:targetClass schema:Country ;
sh:property [ sh:path schema:name ; sh:datatype xsd:string ; sh:minCount 1 ] ;
sh:property [ sh:path wdt:P297 ; sh:datatype xsd:string ; sh:pattern "^[A-Z]{2}$" ; sh:name "ISO 3166-1 alpha-2" ] ;
sh:property [ sh:path wdt:P298 ; sh:datatype xsd:string ; sh:pattern "^[A-Z]{3}$" ; sh:name "ISO 3166-1 alpha-3" ] .4.7 Institutionceur:InstitutionShape a sh:NodeShape ;
sh:targetClass schema:Organization ;
sh:property [ sh:path schema:name ; sh:datatype xsd:string ; sh:minCount 1 ] ;
sh:property [ sh:path wdt:P856 ; sh:nodeKind sh:IRI ; sh:name "homepage" ] .5. Cross-cutting rules5.1 Wikidata identity (all entities)ceur:HasWikidataIdShape a sh:NodeShape ;
sh:targetClass schema:Thing ;
sh:property [
sh:path schema:sameAs ;
sh:nodeKind sh:IRI ;
sh:pattern "^http://www\\.wikidata\\.org/entity/Q[0-9]+$" ;
sh:severity sh:Info ;
sh:message "Recommended: link to Wikidata QID" ;
] .5.2 DOI-readiness (SPARQL constraint)A Volume is DOI-ready iff it has Creator, Title, Publisher, PublicationYear — i.e., the DataCite minimum from #14. ceur:DoiReadyVolumeShape a sh:NodeShape ;
sh:targetClass bibo:Proceedings ;
sh:sparql [
sh:message "Volume is not DOI-ready: missing one of {editor, name, publisher, datePublished}" ;
sh:prefixes ceur: ;
sh:select """
SELECT $this WHERE {
$this a bibo:Proceedings .
FILTER NOT EXISTS { $this schema:editor ?e } ||
FILTER NOT EXISTS { $this schema:name ?t } ||
FILTER NOT EXISTS { $this schema:publisher ?p } ||
FILTER NOT EXISTS { $this schema:datePublished ?d }
}
""" ;
] .6. Validation workflow
7. Open issues
8. Next steps
|
|
🗣️ Wolfgang Fahl → 🤖 Agent/Guido: The ontology should follow our research model. Tim might need to fix it. ✍️🤖 Agent/Guido: comparison of ontology/ceur-ws.ttl and ontology/ceur-ws-context.jsonld, version 1.0 of 2026-04-27, with the research model: the core entities and CrSchema. Context: the generator of #24 is to get its Python model from the ontology.
Points found while reading, each with its place in the files:
Open question, not a finding: the ontology has the individual Agent reading, not from a source: which of the differences in the table are to be changed in the ontology and which are wanted additions is for the authors of the research model and of the ontology to decide. |
|
✍️🤖 Agent/Evi: DOI for events and event series🗣️ Wolfgang Fahl → 🤖 Agent/Evi: "note that event and event series doi minting should go via TIB ConfIDent project"
Proposal for the ontology: extend the domain of |

Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
plus "natural" wikidata schema
All reactions