public void importTriples ( List<Triple> listOfTriples )
	{
		Node subject_obj;
		Predicate predicate_obj;
		Node object_obj;
		
		String subject;
		String predicate;
		String object;
		String triple;
		
		// go through the list of triples to populate KnowledgeGraph with input data
		for ( Triple element : listOfTriples )
		{
			triple = element.getIdentifier();
			
			String[] tempResult = triple.split( " " );
			
			subject = tempResult[0];
			subject_obj = new Node ( subject );
			
			object = tempResult[2];
			object_obj = new Node ( object );
			
			predicate = tempResult[1];
			predicate_obj = new Predicate ( predicate );
				
			//stuff input data into different maps
			if ( !nodeMap.containsKey( subject ) )
			{
				nodeMap.put( subject, subject_obj );
			}
			if ( !nodeMap.containsKey( object ) )
			{
				nodeMap.put( object, object_obj );
			}
			
			if ( !predicateMap.containsKey( predicate ) )
			{
				predicateMap.put( predicate, predicate_obj );
			}
			
			if ( !tripleMap.containsKey( triple ) )
			{
				tripleMap.put( triple, element );
			}
			
			if ( !queryMapSet.containsKey( triple ) )
			{
				Set<Triple> setOfTriples = new HashSet<Triple>();
				
				// use binary table representing decimal numbers from 0 to 7 to  create 8 unique combinations of triple elements
				// 1s are used as a flag for replacing the triple element with "?"
				for ( int i = 0; i < binTable.size(); i++)
				{
					// create and store unique combination of triple elements to setOfTriple
					setOfTriples.add( createQueryTriple ( binTable.get(i), subject, predicate, object ) );
				}
				
				queryMapSet.put(triple, setOfTriples);
			}
		}
	}