private static String nameForAgent()

in taverna-robundle/src/main/java/org/apache/taverna/robundle/manifest/combine/CombineManifest.java [197:238]


	private static String nameForAgent(Resource agentResource) {
		logger.fine("Finding name of " + agentResource);
		String queryStr = sparqlPrefixes
				+ "SELECT ?name WHERE { \n"
				+ "		{ ?agent foaf:name ?name } \n"
				+ "	UNION  \n"
				+ "		{ ?agent vcard:fn ?name } \n"
				+ "	UNION  \n"
				+ "		{ ?agent vcard:FN ?name } \n"
				+ // legacy
				"	UNION  \n"
				+ "		{ ?agent rdfs:label ?name } \n"
				+ " UNION  \n"
				+ "     { \n"
				+ "         { ?agent vcard:n ?n } UNION { ?agent vcard:hasName ?n } \n"
				+ "         ?n vcard:family-name ?family ; \n"
				+ "            vcard:given-name ?given . \n"
				+ "          BIND(CONCAT(?given, \" \", ?family) AS ?name) \n"
				+ "     } \n" + " UNION \n" + "     { "
				+ "         ?agent foaf:givenName ?given ; \n"
				+ "                foaf:familyName ?family \n"
				+ "          BIND(CONCAT(?given, \" \", ?family) AS ?name) \n"
				+ "     } \n" + " UNION \n" + "     { "
				+ "         ?agent foaf:firstName ?given ; \n"
				+ "                foaf:surname ?family \n"
				+ "          BIND(CONCAT(?given, \" \", ?family) AS ?name) \n"
				+ "     } \n" + "	}  \n";
		logger.finer(QueryFactory.create(queryStr).toString());
		QueryExecution qexec = QueryExecutionFactory.create(queryStr,
				agentResource.getModel());
		QuerySolutionMap binding = new QuerySolutionMap();
		binding.add("agent", agentResource);
		qexec.setInitialBinding(binding);
		ResultSet select = qexec.execSelect();
		if (select.hasNext()) {
			String name = select.next().getLiteral("name").getString();
			logger.fine(name);
			return name;
		}
		logger.fine("(null)");
		return null;
	}