package org.jcommons.file.rdf; import org.jcommons.common.StringUtils; public class URICenter { public static String domainName = "http://zhishi.me/"; public static String source_name_zhishi = "Zhishi"; public static String source_name_baidu = "Baidu"; public static String source_name_hudong = "Hudong"; public static String source_name_zhwiki = "zhWiki"; public static String namespace_zhishi = domainName; public static String namespace_baidu = namespace_zhishi + "baidubaike/"; public static String namespace_hudong = namespace_zhishi + "hudongbaike/"; public static String namespace_zhwiki = namespace_zhishi + "zhwiki/"; public static String namespace_ontology = namespace_zhishi + "ontology/"; public static String namespace_dbpedia = "http://dbpedia.org/"; public static String namespace_dbpedia_ontology = namespace_dbpedia + "ontology/"; public static String namespace_zhdbpedia = "http://zh.dbpedia.org/"; public static String namespace_zhdbpedia_resource = namespace_zhdbpedia + "resource/"; public static String namespace_zhdbpedia_property = namespace_zhdbpedia + "property/"; public static String predicate_category = namespace_ontology + "category"; public static String predicate_abstract = namespace_ontology + "abstract"; public static String predicate_relatedPage = namespace_ontology + "relatedPage"; public static String predicate_redirect = namespace_ontology + "pageRedirects"; public static String predicate_internalLink = namespace_ontology + "internalLink"; public static String predicate_externalLink = namespace_ontology + "externalLink"; public static String predicate_disambiguation = namespace_ontology + "pageDisambiguates"; public static String predicate_depictionThumbnail = namespace_ontology + "depictionThumbnail"; public static String predicate_relatedImage = namespace_ontology + "relatedImage"; public static String predicate_labelWithUnit = namespace_ontology + "labelWithUnit"; public static String predicate_prefUnit = namespace_ontology + "prefUnit"; public static String predicate_temp_exception = "exception"; public static String predicate_temp_featureTags = "featureTags"; public static String predicate_temp_lookup = "lookup"; public static String predicate_temp_unit = "unit"; public static String predicate_dbpedia_abstract = namespace_dbpedia_ontology + "abstract"; public static String predicate_dbpedia_wikiPageExternalLink = namespace_dbpedia_ontology + "wikiPageExternalLink"; public static String predicate_dbpedia_wikiPageWikiLink = namespace_dbpedia_ontology + "wikiPageWikiLink"; public static String predicate_dbpedia_wikiPageRedirects = namespace_dbpedia_ontology + "wikiPageRedirects"; public static String predicate_foaf_primaryTopic = "http://xmlns.com/foaf/0.1/primaryTopic"; public static String predicate_foaf_isPrimaryTopicOf = "http://xmlns.com/foaf/0.1/isPrimaryTopicOf"; public static String predicate_foaf_depiction = "http://xmlns.com/foaf/0.1/depiction"; // public static String predicate_foaf_page = "http://xmlns.com/foaf/0.1/page"; public static String predicate_foaf_thumbnail = "http://xmlns.com/foaf/0.1/thumbnail"; public static String predicate_dc_language = "http://purl.org/dc/elements/1.1/language"; public static String predicate_dc_rights = "http://purl.org/dc/elements/1.1/rights"; public static String predicate_dc_subject = "http://purl.org/dc/terms/subject"; public static String predicate_skos_broader = "http://www.w3.org/2004/02/skos/core#broader"; public static String predicate_skos_narrower = "http://www.w3.org/2004/02/skos/core#narrower"; public static String predicate_skos_prefLabel = "http://www.w3.org/2004/02/skos/core#prefLabel"; public static String predicate_rdf_type = "http://www.w3.org/1999/02/22-rdf-syntax-ns#type"; public static String predicate_rdfs_label = "http://www.w3.org/2000/01/rdf-schema#label"; public static String predicate_rdfs_isDefinedBy = "http://www.w3.org/2000/01/rdf-schema#isDefinedBy"; public static String predicate_rdfs_domain = "http://www.w3.org/2000/01/rdf-schema#domain"; public static String predicate_rdfs_range = "http://www.w3.org/2000/01/rdf-schema#range"; public static String predicate_owl_sameAs = "http://www.w3.org/2002/07/owl#sameAs"; public static String property_geo_lat = "http://www.w3.org/2003/01/geo/wgs84_pos#lat"; public static String property_geo_long = "http://www.w3.org/2003/01/geo/wgs84_pos#long"; public static String datatype_xmls_string = "http://www.w3.org/2001/XMLSchema#string"; public static String datatype_xmls_int = "http://www.w3.org/2001/XMLSchema#int"; public static String datatype_xmls_double = "http://www.w3.org/2001/XMLSchema#double"; public static String datatype_xmls_date = "http://www.w3.org/2001/XMLSchema#date"; public static String object_owl_Thing = "http://www.w3.org/2002/07/owl#Thing"; public static String object_owl_DatatypeProperty = "http://www.w3.org/2002/07/owl#DatatypeProperty"; public static String object_owl_ObjectProperty = "http://www.w3.org/2002/07/owl#ObjectProperty"; public static String object_rdf_Property = "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"; public static String object_foaf_Image = "http://xmlns.com/foaf/0.1/Image"; public static String object_foaf_Document = "http://xmlns.com/foaf/0.1/Document"; public static String object_zhishi = namespace_ontology; public static String class_skos_concept = "http://www.w3.org/2004/02/skos/core#Concept"; private String namespace; public URICenter( String source ) { if( source.equals( source_name_baidu ) ) namespace = namespace_baidu; else if( source.equals( source_name_hudong ) ) namespace = namespace_hudong; else if( source.equals( source_name_zhwiki ) ) namespace = namespace_zhwiki; } public String getResourceURI( String label ) { return getURIByKey( "resource", label ); } public String getCategoryURI( String label ) { return getURIByKey( "category", label ); } public String getPropertyPredicate( String label ) { return getURIByKey( "property", label ); } public String getURIByKey( String key, String label ) { return namespace + key + "/" + zhishiEncode( label ); } public static String zhishiEncode( String str ) { return StringUtils.encode( str ).replaceAll( "\\+", "_" ); } public static String zhishiDecode( String str ) { return StringUtils.decode( str.replaceAll( "_", "+" ) ); } public static String getURIContent( String str ) { return zhishiDecode( str.substring( str.lastIndexOf( "/" )+1, str.indexOf( ">" ) ) ); } }