2012-03-12 4 views
0

다음 링크를 사용하여 ColdFusion의 RDF/XML 형식으로 개선 제안 사항을 얻으려고합니다.시맨틱 웹 ColdFusion cfhttp 요청 옵션

http://dev.iks-project.eu:8081/engines

내 문제는 목록이 반복적으로 단어가 포함되어 있다는 점이다. 고유 한 개선 사항을 얻을 수있는 옵션을 설정할 수 있습니까?

+0

Stanbol enhancer에 붙여 넣은 샘플과 반환되는 샘플을 제공 할 수 있습니까? RDF/XML 데이터를 가져 와서 CF에서 동일한 형식 **으로 데이터를 반환하려고합니까? –

답변

1

당신이 사용하고 Jena에 익숙 자바 인라인을 사용하는 방법을 알고 있어야합니다 : 유효한 구분 된 목록은 웹 서비스를 반환 가정하면, 여기에 어떻게 예입니다. 그렇다면 다음과 같은 간단한 경우 일 수 있습니다.

<cfset oldModel = createObject("java", "com.hp.hpl.jena.rdf.model.ModelFactory").createDefaultModel().read("http://dev.iks-project.eu:8081/engines")> 
<cfset newModel = createObject("java", "com.hp.hpl.jena.rdf.model.ModelFactory").createDefaultModel()> 

<cfset sparqlQuery = "SELECT DISTINCT ?s ?p ?o WHERE {?s ?p ?o}"> 
<cfset triples = createObject("java", "com.hp.hpl.jena.query.QueryExecutionFactory").create(sparqlQuery, rdfModel).execSelect()> 

<cfloop condition="triples.hasNext()"> 
    <cfset nextTriple = triples.nextSolution()> 
    <cfset newModel.add(newModel.createStatement(nextTriple.getResource("s"), newModel.createProperty(nextTriple.getResource("p").getURI()), nextTriple.get("o")))> 
</cfloop> 

<cfset outputStream = createObject("java", "java.io.ByteArrayOutputStream")> 
<cfset newRdfXmlContent = newModel.write(outputStream, "RDF/XML-ABBREV").toString()> 
0

기본적으로 ColdFusion에서 이것을 수행하는 가장 좋은 방법은 목록을 반복하고 ColdFusion 구조체를 만드는 것입니다.

<cfset enhancements = "item1,item2,item3,item4,item1,item2,item3,item4"> 
<cfset objEnhancement = structNew()><!---- CREATE STRUCT---> 
<cfloop index="item" list="#enhancements#"><!---- LOOP THROUGH RESPONSE TEXT---> 
    <cfset objEnhancement[item] = ""><!---- CREATE STRUCT KEYS, THESE WILL AUTO DE-DUPE ---> 
</cfloop> 
<cfset uniqueEnhancements = StructKeyList(objEnhancement)> <!---- DUMP THE STRUCT KEYS TO A NEW LIST----> 
+0

httpReq.text는 부울 값입니다. httpReq.fileContent를 의미합니까? –

+0

예 - RDF/XML에서는 작동하지 않습니다. RDF/XML을 XML로 파싱 할 수 없으며 그렇게해서는 안되며 RDF 파서가 필요합니다. –

+0

David와 William에게 감사드립니다. 목록을 중복 제거하는 기본 사항을 보여주기 위해 내 응답을 편집했습니다. 그는 이미 http 요청을 수행하고 XML 응답에서 목록을 검색하는 방법을 알고 있습니다. –