Veri Seti Oluşturma
Yeni Veri Seti Oluşturma
CSV dosyalarından, ZIP paketlerinden veya ikili dosyalardan veri setleri oluşturun. Her format, süreç madenciliği analizi için belirli sütun eşlemeleri gerektirir.
Bağlantı Testi
Yetkisiz Ping
GET /api/{tenantId}/{projectId}/dataset/unauthorized-ping
Kimlik doğrulaması gerektirmeyen test uç noktası.
Yanıt
Ping Başarılı
Kimlik Doğrulamalı Ping
GET /api/{tenantId}/{projectId}/dataset/ping
API erişimini doğrulamak için kimlik doğrulamalı ping uç noktası.
Yanıt (200 OK)
Ping Başarılı (tenant id: {tenantId})
Tüm Veri Setlerini Listele
GET /api/{tenantId}/{projectId}/dataset
Belirtilen projedeki tüm veri setlerini getirir.
Yanıt (200 OK)
{
"datasets": [
{
"datasetId": "550e8400-e29b-41d4-a716-446655440000",
"datasetName": "Sipariş Süreci",
"datasetDescription": "SAP'den etkinlik günlüğü",
"projectId": "660e8400-e29b-41d4-a716-446655440000",
"caseIdColumnName": "CaseID",
"activityColumnName": "Activity",
"timeColumnName": "Timestamp",
"resourceColumnName": "Resource",
"beginTimeColumnName": null,
"expectedOrderColumnName": null,
"useDateOnlySorting": false,
"useOnlyEventColumns": false,
"dateCreated": "2024-01-15T10:30:00Z",
"dateModified": "2024-01-15T14:45:00Z",
"createdBy": "user@example.com",
"modifiedBy": "user@example.com"
}
]
}
CSV'den Veri Seti Oluşturma
POST /api/{tenantId}/{projectId}/dataset/csv
Sütun eşlemeleri ile CSV dosyası yükleyerek yeni bir veri seti oluşturur.
İstek (multipart/form-data)
| Alan | Tip | Zorunlu | Açıklama |
|---|---|---|---|
file |
dosya | Evet | Yüklenecek CSV dosyası (maks 1GB) |
datasetName |
string | Evet | Yeni veri seti için isim |
caseIdColumn |
string | Evet | Case ID içeren sütun adı |
activityNameColumn |
string | Evet | Aktivite adlarını içeren sütun |
activityTimeColumn |
string | Evet | Zaman damgası içeren sütun |
resourceColumn |
string | Hayır | Kaynak/uygulayan sütun adı |
startTimeColumn |
string | Hayır | Aktivite başlangıç zamanları için sütun |
cultureInfo |
string | Hayır | Ayrıştırma için kültür (varsayılan: "en-US") |
Yanıt (200 OK)
{
"datasetId": "550e8400-e29b-41d4-a716-446655440000",
"caseCount": 5200,
"eventCount": 150000,
"invalidValueCount": 0,
"skippedRowsCount": 0,
"errors": [],
"rowIssues": [],
"statusCode": 200
}
Hata Yanıtı (422 İşlenemeyen Varlık)
{
"errors": ["CSV dosyasında 'CaseID' sütunu bulunamadı"],
"statusCode": 422
}
ZIP Paketinden Veri Seti Oluşturma
POST /api/{tenantId}/{projectId}/dataset/package
Veri dosyaları içeren ZIP paketi ile yeni bir veri seti oluşturur.
İstek (multipart/form-data)
| Alan | Tip | Zorunlu | Açıklama |
|---|---|---|---|
file |
dosya | Evet | ZIP paket dosyası (maks 1GB) |
datasetName |
string | Evet | Yeni veri seti için isim |
cultureInfo |
string | Hayır | Ayrıştırma için kültür (varsayılan: "en-US") |
Yanıt (200 OK)
{
"datasetId": "550e8400-e29b-41d4-a716-446655440000",
"caseCount": 5200,
"eventCount": 150000,
"invalidValueCount": 0,
"skippedRowsCount": 0,
"errors": [],
"rowIssues": [],
"statusCode": 200
}
İkili Dosyadan Veri Seti Oluşturma
POST /api/{tenantId}/{projectId}/dataset/binary
Sütun eşlemeleri ile ikili formatta dosyadan yeni bir veri seti oluşturur.
İstek (multipart/form-data)
| Alan | Tip | Zorunlu | Açıklama |
|---|---|---|---|
file |
dosya | Evet | Yüklenecek ikili dosya (maks 1GB) |
datasetName |
string | Evet | Yeni veri seti için isim |
caseIdColumn |
string | Evet | Case ID içeren sütun adı |
activityNameColumn |
string | Evet | Aktivite adlarını içeren sütun |
activityTimeColumn |
string | Evet | Zaman damgası içeren sütun |
resourceColumn |
string | Hayır | Kaynak/uygulayan sütun adı |
startTimeColumn |
string | Hayır | Aktivite başlangıç zamanları için sütun |
Yanıt (200 OK)
CSV oluşturma yanıtı ile aynı yapıdadır.
Uygulama Örnekleri
cURL - CSV Yükleme
curl -X POST "https://your-mindzie-instance.com/api/12345678-1234-1234-1234-123456789012/87654321-4321-4321-4321-210987654321/dataset/csv" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-F "file=@event_log.csv" \
-F "datasetName=Siparişler" \
-F "caseIdColumn=CaseID" \
-F "activityNameColumn=Activity" \
-F "activityTimeColumn=Timestamp" \
-F "resourceColumn=User" \
-F "cultureInfo=en-US"
cURL - ZIP Paket Yükleme
curl -X POST "https://your-mindzie-instance.com/api/12345678-1234-1234-1234-123456789012/87654321-4321-4321-4321-210987654321/dataset/package" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-F "file=@data_package.zip" \
-F "datasetName=SAP Dışa Aktarımı" \
-F "cultureInfo=en-US"
Python
import requests
TENANT_ID = '12345678-1234-1234-1234-123456789012'
PROJECT_ID = '87654321-4321-4321-4321-210987654321'
BASE_URL = 'https://your-mindzie-instance.com'
class DatasetUploader:
def __init__(self, token):
self.headers = {'Authorization': f'Bearer {token}'}
def create_from_csv(self, file_path, dataset_name, case_id_col, activity_col, time_col,
resource_col=None, start_time_col=None, culture='en-US'):
"""CSV dosyasından veri seti oluştur."""
url = f'{BASE_URL}/api/{TENANT_ID}/{PROJECT_ID}/dataset/csv'
with open(file_path, 'rb') as f:
files = {'file': (file_path, f, 'text/csv')}
data = {
'datasetName': dataset_name,
'caseIdColumn': case_id_col,
'activityNameColumn': activity_col,
'activityTimeColumn': time_col,
'cultureInfo': culture
}
if resource_col:
data['resourceColumn'] = resource_col
if start_time_col:
data['startTimeColumn'] = start_time_col
response = requests.post(url, headers=self.headers, files=files, data=data)
if response.ok:
return response.json()
else:
raise Exception(f'Yükleme başarısız: {response.text}')
def create_from_package(self, file_path, dataset_name, culture='en-US'):
"""ZIP paketinden veri seti oluştur."""
url = f'{BASE_URL}/api/{TENANT_ID}/{PROJECT_ID}/dataset/package'
with open(file_path, 'rb') as f:
files = {'file': (file_path, f, 'application/zip')}
data = {
'datasetName': dataset_name,
'cultureInfo': culture
}
response = requests.post(url, headers=self.headers, files=files, data=data)
if response.ok:
return response.json()
else:
raise Exception(f'Yükleme başarısız: {response.text}')
def list_datasets(self):
"""Projede tüm veri setlerini listele."""
url = f'{BASE_URL}/api/{TENANT_ID}/{PROJECT_ID}/dataset'
response = requests.get(url, headers=self.headers)
return response.json()
# Kullanım
uploader = DatasetUploader('your-auth-token')
# CSV'den oluştur
result = uploader.create_from_csv(
'event_log.csv',
'Sipariş Süreci',
'CaseID',
'Activity',
'Timestamp',
resource_col='User'
)
print(f"Oluşturulan veri seti: {result['datasetId']}")
print(f"Vaka sayısı: {result['caseCount']}, Olay sayısı: {result['eventCount']}")
# Tüm veri setlerini listele
datasets = uploader.list_datasets()
for ds in datasets['datasets']:
print(f"- {ds['datasetName']} ({ds['datasetId']})")
JavaScript/Node.js
const TENANT_ID = '12345678-1234-1234-1234-123456789012';
const PROJECT_ID = '87654321-4321-4321-4321-210987654321';
const BASE_URL = 'https://your-mindzie-instance.com';
class DatasetUploader {
constructor(token) {
this.token = token;
}
async createFromCsv(file, datasetName, caseIdCol, activityCol, timeCol, options = {}) {
const url = `${BASE_URL}/api/${TENANT_ID}/${PROJECT_ID}/dataset/csv`;
const formData = new FormData();
formData.append('file', file);
formData.append('datasetName', datasetName);
formData.append('caseIdColumn', caseIdCol);
formData.append('activityNameColumn', activityCol);
formData.append('activityTimeColumn', timeCol);
formData.append('cultureInfo', options.culture || 'en-US');
if (options.resourceColumn) {
formData.append('resourceColumn', options.resourceColumn);
}
if (options.startTimeColumn) {
formData.append('startTimeColumn', options.startTimeColumn);
}
const response = await fetch(url, {
method: 'POST',
headers: { 'Authorization': `Bearer ${this.token}` },
body: formData
});
if (response.ok) {
return await response.json();
} else {
throw new Error(`Yükleme başarısız: ${await response.text()}`);
}
}
async listDatasets() {
const url = `${BASE_URL}/api/${TENANT_ID}/${PROJECT_ID}/dataset`;
const response = await fetch(url, {
headers: { 'Authorization': `Bearer ${this.token}` }
});
return await response.json();
}
}
// Kullanım (tarayıcı)
const uploader = new DatasetUploader('your-auth-token');
const fileInput = document.getElementById('csvFile');
fileInput.addEventListener('change', async (e) => {
const file = e.target.files[0];
const result = await uploader.createFromCsv(
file,
'Veri Setim',
'CaseID',
'Activity',
'Timestamp',
{ resourceColumn: 'User' }
);
console.log(`Oluşturuldu: ${result.datasetId}`);
console.log(`Vakalar: ${result.caseCount}, Olaylar: ${result.eventCount}`);
});
Yanıt Alanları
| Alan | Tip | Açıklama |
|---|---|---|
datasetId |
GUID | Oluşturulan veri setinin ID'si |
caseCount |
integer | İçe aktarılan benzersiz vaka sayısı |
eventCount |
integer | İçe aktarılan toplam olay sayısı |
invalidValueCount |
integer | Karşılaşılan geçersiz değer sayısı |
skippedRowsCount |
integer | Hatalar nedeniyle atlanan satır sayısı |
errors |
array | Hata mesajları listesi |
rowIssues |
array | Satır düzeyindeki sorunlar hakkında detaylar |
statusCode |
integer | HTTP durum kodu |
En İyi Uygulamalar
- Sütun Adlarını Doğrulayın: Sütun adlarının tam olarak eşleştiğinden emin olun (büyük/küçük harf duyarlı)
- Kültür Ayarlarını Kontrol Edin: Tarih/sayı formatları için uygun kültürü kullanın
- Büyük Dosya İşleyin: 1GB'a yaklaşan dosyalar için yükleme ilerlemesini izleyin
- Satır Sorunlarını İnceleyin: Veri kalitesi problemleri için
rowIssuesdizisini kontrol edin - Benzersiz Veri Seti İsimleri: Veri seti isimleri projede benzersiz olmalıdır