Schema:Project

From DAAP
Jump to navigation Jump to search
# baseURI: http://daap.eu/ontology/2015/project
# imports: http://daap.eu/ontology/2015/device
# imports: http://daap.eu/ontology/2015/maintenance
# imports: http://daap.eu/ontology/2015/organisation
# imports: http://daap.eu/ontology/2015/world
# imports: http://www.w3.org/ns/shacl

@prefix : <http://daap.eu/ontology/2015/project#> .
@prefix Project: <http://daap.eu/ontology/2015/Project#> .
@prefix daap: <http://daap.eu/wiki/> .
@prefix daapProp: <http://daap.eu/wiki/Property:> .
@prefix device: <http://daap.eu/ontology/2015/device#> .
@prefix maintenance: <http://daap.eu/ontology/2015/maintenance#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix wd: <http://www.wikidata.org/entity/> .
@prefix world: <http://daap.eu/ontology/2015/world#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

<http://daap.eu/ontology/2015/project>
  rdf:type owl:Ontology ;
  rdf:type sh:Graph ;
  owl:imports <http://daap.eu/ontology/2015/device> ;
  owl:imports <http://daap.eu/ontology/2015/maintenance> ;
  owl:imports <http://daap.eu/ontology/2015/organisation> ;
  owl:imports <http://daap.eu/ontology/2015/world> ;
  owl:versionInfo "Created with TopBraid Composer"^^xsd:string ;
  sh:shapesGraph <http://www.w3.org/ns/shacl> ;
.
daap:Campaign
  rdf:type owl:Class ;
  rdf:type sh:Shape ;
  rdfs:label "campagne"@fr ;
  rdfs:label "campaign"@en ;
  rdfs:subClassOf owl:Thing ;
  sh:property [
      sh:class rdfs:Resource ;
      sh:maxCount 1 ;
      sh:minCount 1 ;
      sh:name "files destination"^^xsd:string ;
      sh:nodeKind sh:IRI ;
      sh:predicate <http://daap.eu/wiki/Property:filesDestination> ;
    ] ;
.

daap:Project
  rdf:type owl:Class ;
  rdf:type sh:Shape ;
  rdfs:label "Project"@en ;
  rdfs:label "Projet"@fr ;
  rdfs:subClassOf <http://www.w3.org/2006/vcard/ns#Group> ;
  sh:constraint [
      sh:message "Check if the fields exist (label (en) and website)"^^xsd:string ;
      sh:predicate daap:checkProject ;
      sh:sparql """prefix daap: <http://daap.eu/wiki/> 
prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>

select ?this (?this AS ?subject) (?this AS ?object)
where {
 ?this
  rdf:type daap:Project .
         OPTIONAL {
   ?this rdfs:label ?label  .
 FILTER langMatches( lang(?label), \"EN\" )  }        
 FILTER (
! bound(?label) )
} """ ;
    ] ;
  sh:property [
      rdfs:label "check by"^^xsd:string ;
      sh:maxCount 1 ;
      sh:minCount 1 ;
      sh:nodeKind sh:IRI ;
      sh:predicate <http://daap.eu/wiki/Help:checkBy> ;
      sh:valueClass daap:Individual ;
    ] ;
  sh:property [
      rdfs:label "contact"^^xsd:string ;
      sh:minCount 1 ;
      sh:nodeKind sh:IRI ;
      sh:predicate <http://daap.eu/wiki/Property:contact> ;
      sh:valueClass daap:Individual ;
    ] ;
  sh:property [
      rdfs:label "item"^^xsd:string ;
      sh:nodeKind sh:IRI ;
      sh:predicate <http://daap.eu/wiki/Property:item> ;
      sh:valueClass <http://wikiba.se/ontology#Item> ;
    ] ;
  sh:property [
      rdfs:label "organization-unit"^^xsd:string ;
      sh:maxCount 1 ;
      sh:minCount 1 ;
      sh:nodeKind sh:IRI ;
      sh:predicate <http://www.w3.org/2006/vcard/ns#organization-unit> ;
      sh:valueClass <http://www.w3.org/2006/vcard/ns#Organization> ;
    ] ;
  sh:property [
      rdfs:label "see also website"^^xsd:string ;
      sh:maxCount 1 ;
      sh:minCount 1 ;
      sh:nodeKind sh:IRI ;
      sh:predicate rdfs:seeAlso ;
      sh:valueClass rdfs:Resource ;
    ] ;
  sh:property [
      rdfs:label "signature"^^xsd:string ;
      sh:datatype xsd:string ;
      sh:maxCount 1 ;
      sh:minCount 1 ;
      sh:predicate <http://daap.eu/wiki/Property:signature> ;
    ] ;
  sh:property [
      rdfs:label "use device"^^xsd:string ;
      sh:minCount 1 ;
      sh:nodeKind sh:IRI ;
      sh:predicate <http://daap.eu/wiki/Property:useDevice> ;
      sh:valueClass daap:Device ;
    ] ;
  sh:property [
      sh:class daap:Protocol ;
      sh:minCount 1 ;
      sh:name "protocol"^^xsd:string ;
      sh:nodeKind sh:IRI ;
      sh:predicate <http://daap.eu/wiki/Property:protocol> ;
    ] ;
.
<http://daap.eu/wiki/Property:campaign>
  rdf:type owl:ObjectProperty ;
  rdfs:label "campaign"^^xsd:string ;
.
<http://daap.eu/wiki/Property:contact>
  rdf:type rdf:Property ;
  rdfs:label "contact for this object"^^xsd:string ;
.
<http://daap.eu/wiki/Property:filesDestination>
  rdf:type rdf:Property ;
  rdfs:label "destination des fichiers"@fr ;
  rdfs:label "files destination"@en ;
  rdfs:range rdfs:Resource ;
.
<http://daap.eu/wiki/Property:hasContact>
  rdf:type xsd:string ;
  rdfs:label "has contact"^^xsd:string ;
.
<http://daap.eu/wiki/Property:protocol>
  rdf:type owl:ObjectProperty ;
  rdfs:label "protocol"^^xsd:string ;
.
<http://daap.eu/wiki/Property:signature>
  rdf:type rdf:Property ;
  rdfs:label "Official signature of this project in the publication"^^xsd:string ;
.
<http://daap.eu/wiki/Property:useDevice>
  rdf:type owl:ObjectProperty ;
  rdfs:domain daap:Project ;
  rdfs:label "use device"^^xsd:string ;
  rdfs:range daap:Device ;
.
daap:Protocol
  rdf:type owl:Class ;
  rdf:type sh:Shape ;
  rdfs:label "Protocol"@en ;
  rdfs:label "Protocole"@fr ;
  rdfs:seeAlso <https://www.wikidata.org/wiki/Q367158> ;
  rdfs:subClassOf owl:Thing ;
  sh:constraint [
      sh:message "Check if the fields exist (label (en) and website)"^^xsd:string ;
      sh:predicate daap:checkProtocol ;
      sh:sparql """prefix daap: <http://daap.eu/wiki/> 
prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>

select ?this (?this AS ?subject) (?this AS ?object)
where {
 ?this
  rdf:type daap:Project .
         OPTIONAL {
   ?this rdfs:label ?label .

 FILTER langMatches( lang(?label), \"EN\" )  }        
 FILTER (
! bound(?label) )
} """ ;
    ] ;
  sh:property [
      rdfs:label "check by"^^xsd:string ;
      sh:maxCount 1 ;
      sh:minCount 1 ;
      sh:nodeKind sh:IRI ;
      sh:predicate <http://daap.eu/wiki/Help:checkBy> ;
      sh:valueClass daap:Individual ;
    ] ;
  sh:property [
      rdfs:label "contact"^^xsd:string ;
      sh:minCount 1 ;
      sh:nodeKind sh:IRI ;
      sh:predicate <http://daap.eu/wiki/Property:contact> ;
      sh:valueClass daap:Individual ;
    ] ;
  sh:property [
      rdfs:label "item"^^xsd:string ;
      sh:nodeKind sh:IRI ;
      sh:predicate <http://daap.eu/wiki/Property:item> ;
      sh:valueClass <http://wikiba.se/ontology#Item> ;
    ] ;
  sh:property [
      rdfs:label "see also website"^^xsd:string ;
      sh:maxCount 1 ;
      sh:minCount 1 ;
      sh:nodeKind sh:IRI ;
      sh:predicate rdfs:seeAlso ;
      sh:valueClass rdfs:Resource ;
    ] ;
  sh:property [
      sh:class daap:Campaign ;
      sh:minCount 1 ;
      sh:name "campaign"^^xsd:string ;
      sh:nodeKind sh:IRI ;
      sh:predicate <http://daap.eu/wiki/Property:campaign> ;
    ] ;
.
daap:checkProject
  rdf:type rdf:Property ;
  rdfs:label "check project"^^xsd:string ;
.
daap:checkProtocol
  rdf:type rdf:Property ;
  rdfs:label "check protocol"^^xsd:string ;
.