@prefix r2r: . @prefix owl: . @prefix foaf: . @prefix dbpedia: . @prefix movie: . @prefix rdfs: . # Made up Mapping publisher @prefix mp: . # Mappings from DBpedia to FOAF Person and rdfs:label (from DBpedia) to foaf:name mp:DBpediaToFoafPersonMapping a r2r:ClassMapping ; r2r:prefixDefinitions "foaf: . dbpedia: " ; r2r:sourcePattern "?SUBJ a dbpedia:Person" ; r2r:targetPattern "?SUBJ a foaf:Person" . mp:labelToNameMapping a r2r:PropertyMapping ; r2r:sourcePattern "?SUBJ rdfs:label ?o . FILTER(lang(?o)='en')" ; r2r:classMappingRef mp:DBpediaToFoafPersonMapping ; # This is necessary and means that this mapping makes only sense in a "Person context" r2r:prefixDefinitions "foaf: " ; r2r:targetPattern "?SUBJ foaf:name ?o" ; r2r:targetPattern "?SUBJ ?o" . # Linkedmdb to DBpedia mp:StarringMapping # map from Linkedmdb to dbpedia:starring (domain dbpedia:movie), making it a bit more complicated and ignoring movie:actor a r2r:PropertyMapping ; r2r:sourcePattern "?SUBJ a movie:film . ?SUBJ movie:performance ?p . ?a movie:performance ?p . ?a a movie:actor" ; r2r:prefixDefinitions "movie: . dbpedia: " ; r2r:targetPattern "?SUBJ dbpedia:starring ?a" . # VCard to FOAF mappings mp:VCardEmailToFoafMbox a r2r:PropertyMapping ; r2r:sourcePattern "{ ?SUBJ v:email ?o } UNION { ?SUBJ v:workEmail ?o }" ; r2r:prefixDefinitions "foaf: . v: . " ; r2r:targetPattern "?SUBJ foaf:mbox ?o" . mp:VCardBirthDayMapping a r2r:PropertyMapping ; r2r:sourcePattern "?SUBJ v:bday ?o" ; r2r:prefixDefinitions "v: . dbpedia: " ; r2r:targetPattern "?SUBJ dbpedia:birthDay ?o" . # OWL:equivalentClass, OWL:equivalentProperty, RDFS:subPropertyOf and RDFS:subClassOf mappings foaf:Person owl:equivalentClass dbpedia:Person . movie:country owl:equivalentClass dbpedia:Country . movie:director owl:equivalentProperty dbpedia:director . # Mappings needing transformations mp:concatFirstAndLastNameMapping a r2r:PropertyMapping ; r2r:sourcePattern "?SUBJ foaf:firstName ?f . ?SUBJ foaf:lastName ?l" ; r2r:targetPattern "?SUBJ v:n ?name" ; r2r:transformation "?name = concat(?l, ', ', ?f)" ; # Concatenate the first and last name seperated by a comma+space. r2r:prefixDefinitions "foaf: . v: " . # The properties of the following example are made up, this should show a transformation from Fahrenheit to Kelvin mp:numericTransformationMapping a r2r:PropertyMapping ; r2r:sourcePattern "?SUBJ ?mPointInFahrenheit" ; r2r:targetPattern "?SUBJ dbpedia:meltingPoint ?mPointInKelvin" ; r2r:transformation "?mPointInKelvin = (?mPointInFahrenheit + 459.67) * 5 / 9" ; r2r:prefixDefinitions "dbpedia: " . # Transform numeric value into a string value: This mapping transform a double value (weight in grams) to a string "x lb" mp:numericToStringMapping a r2r:PropertyMapping ; r2r:prefixDefinitions "nodomain: . dbpedia: " ; r2r:sourcePattern "?SUBJ dbpedia:weight ?wGrams" ; r2r:targetPattern "?SUBJ nodomain:weight ?wString" ; r2r:transformation "?wString = concat(integer(?wGrams / 453.59237),' lb')" .