Changeset 3816 for CMDI-Interoperability
- Timestamp:
- 10/20/13 07:10:00 (11 years ago)
- Location:
- CMDI-Interoperability/CMD2RDF/trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
CMDI-Interoperability/CMD2RDF/trunk/docs/papers/2014-LREC/CMD2RDF.tex
r3814 r3816 150 150 @prefix cmdm: \textless http://www.clarin.eu/cmd/general.rdf\#\textgreater . \\ 151 151 \\ 152 \multicolumn{3}{l}{\# basic building blocks of CMD Model} \\ 152 153 cmdm:Component & a & rdfs:Class . \\ 153 154 cmdm:Profile & rdfs:subClassOf & cmdm:Component . \\ 154 155 cmdm:Element & a & rdfs:Class . \\ 155 cmdm:Attribute & a & rdfs:Class . \\156 %cmdm:Attribute & a & rdfs:Class . \\ 156 157 \\ 158 \multicolumn{3}{l}{\# basic CMD nexting} \\ 157 159 cmdm:contains & a & rdf:Property ; \\ 158 160 & rdfs:domain & cmdm:Component ; \\ … … 163 165 % & rdfs:range & :Attribute. 164 166 167 \multicolumn{3}{l}{\# values} \\ 168 165 169 cmdm:Value & a & rdfs:Literal . \\ 166 cmdm:Entity & a & rdfs:Class . \\167 170 \\ 168 171 cmdm:hasElementValue & a & rdf:Property ; \\ … … 170 173 & rdfs:range & cmdm:Value . \\ 171 174 \\ 172 \multicolumn{3}{l}{\# add a parallel separate property for the resolved entities} \\ 175 \multicolumn{3}{l}{\# add a parallel separate class/property for the resolved entities} \\ 176 cmdm:Entity & a & rdfs:Class . \\ 177 \\ 173 178 cmdm:hasElementEntity & a & rdf:Property ; \\ 174 179 & rdfs:domain & :Element ; \\ 175 180 & rdfs:range & :Entity . \\ 176 181 \\ 177 cmdm:hasAttributeValue & a & rdf:Property ; \\178 & rdfs:domain & cmdm:Attribute ; \\179 & rdfs:range & rdfs:Literal . \\180 181 cmdm:hasAttributeEntity & a & rdf:Property ; \\182 & rdfs:domain & :Attribute ; \\183 & rdfs:range & :Entity . \\182 %cmdm:hasAttributeValue & a & rdf:Property ; \\ 183 % & rdfs:domain & cmdm:Attribute ; \\ 184 % & rdfs:range & rdfs:Literal . \\ 185 186 %cmdm:hasAttributeEntity & a & rdf:Property ; \\ 187 % & rdfs:domain & :Attribute ; \\ 188 % & rdfs:range & :Entity . \\ 184 189 \end{example3} 185 190 186 191 \noindent 187 192 This entities are used for modelling the actual profiles, components and elements as they are defined in the Component Registry. 188 For stand-alone/top components, the IDs as issued by Component Registry can be used as entity IRIs. For ``inner'' components (that are defined as part of another component) and elements the identifier is a concatenation of the parent top component and dot-path to given component/element (Actor: \code{cr:clarin.eu:cr1:c\_1271859438197 \#Actor\_Languages.Actor\_Language}).193 For stand-alone/top components, the IDs as issued by Component Registry can be used as entity IRIs. For ``inner'' components (that are defined as part of another component) and elements the identifier is a concatenation of the parent top component and dot-path to given component/element (Actor: \code{cr:clarin.eu:cr1:c\_1271859438197/rdf\#Actor\_Languages.Actor\_Language}). 189 194 190 195 \commentx{Matej: shouldn't we add the name of the component in the IRI for human-readability? 191 196 similar to how it is generated in profile XSDs: \textless xs:simpleType name="simpletype-MimeType-clarin.eu.cr1.c\_1290431694511"\textgreater } 192 197 198 \commentx{Menzo: the IRI is the exact path into the CR to get the RDF representation for the profile/component. I think it should stay like that because you need to be able to fetch it to get, for example, the dcr:datcat mappings. Actually the profile/component name is there as its (in general) the first component name after the '\#'.} 193 199 194 200 \label{table:rdf-cmd} 195 201 \begin{example3} 196 cmd:collection & a & cmd s:Profile; \\202 cmd:collection & a & cmdm:Profile; \\ 197 203 & rdfs:label & "collection"; \\ 198 204 & dcterms:identifier & cr:clarin.eu:cr1:p\_1345561703620. \\ … … 365 371 \begin{example3} 366 372 cmd:Person & a & cmdm:Component . \\ 367 cmd: Organisation & a & cmdm:Element . \\373 cmd:Person.Organisation & a & cmdm:Element . \\ 368 374 cmd:hasOrganisationElementValue \\ 369 375 & rdfs:subProperyOf & cmdm:hasElementValue ; \\ … … 373 379 & rdfs:subProperyOf & cmdm:hasElementEntity ; \\ 374 380 & rdfs:domain & cmd:Organisation ; \\ 375 & rdfs:range & cmd:OrganisationElementEn ity .\\381 & rdfs:range & cmd:OrganisationElementEntity .\\ 376 382 \\ 377 383 \multicolumn{3}{l}{\# person (mentioned in a MD record) has an affiliation (cmd:Person/cmd:Organisation) } \\ 378 384 \_:pers & a & cmd:Person ; \\ 379 385 & cmdm:contains & \_:org . \\ 380 \_:org & a & cmd: Organisation ; \\386 \_:org & a & cmd:Person.Organisation ; \\ 381 387 & \multicolumn{2}{l}{cmd:hasOrganisationElementValue \quad 'MPI'\^{}\^{}xs:string ;} \\ 382 388 & \multicolumn{2}{l}{ cmd:hasOrganisationElementEntity \quad <http://mpi.nl> . }\\ … … 437 443 438 444 \begin{example3} 439 \_:1 & a & cmd:OrganisationElementEn ity . \\445 \_:1 & a & cmd:OrganisationElementEntity . \\ 440 446 & skos:altLabel & "MPI"; 441 447 \end{example3} -
CMDI-Interoperability/CMD2RDF/trunk/xsl/Component2RDF.xsl
r3806 r3816 13 13 xmlns:cmd="http://www.clarin.eu/cmd/" 14 14 xmlns:cmdm="http://www.clarin.eu/cmd/general.rdf" 15 xmlns:dcterms="http://purl.org/dc/terms/" 15 16 > 16 17 … … 68 69 </xsl:otherwise> 69 70 </xsl:choose> 71 <xsl:if test="exists(preceding-sibling::Header/ID)"> 72 <dcterms:identifier> 73 <xsl:value-of select="preceding-sibling::Header/ID"/> 74 </dcterms:identifier> 75 </xsl:if> 70 76 <xsl:call-template name="generic"/> 71 77 </rdfs:Class>
Note: See TracChangeset
for help on using the changeset viewer.