我正在尝试运行查询以获取class ReadDataTable
{
private SpreadsheetDocument _document;
private WorkbookPart _workbookPart;
private Sheets _sheets;
public ReadDataTable(string newFileName)
{
_document = SpreadsheetDocument.Open(newFileName, true);
_workbookPart = _document.WorkbookPart;
_sheets = _workbookPart.Workbook.AppendChild<Sheets>(new Sheets());
}
public void AddItems (DataTable dt)
{
WorksheetPart worksheetPart = _workbookPart.AddNewPart<WorksheetPart>();
Worksheet workSheet = new Worksheet();
SheetData sheetData = new SheetData();
worksheetPart.Worksheet = workSheet;
workSheet.AppendChild(sheetData);
sheetData = worksheetPart.Worksheet.Elements<SheetData>().First();
Row header = new Row();
sheetData.Append(header);
Cell Header1 = ConstructCell("Name", CellValues.String);
Cell Header2 = ConstructCell("Salary", CellValues.String);
Cell Header3 = ConstructCell("Birthdate", CellValues.String);
header.Append(Header1, Header2, Header3);
Row newRow = new Row();
foreach (DataRow itemRow in dt.Rows)
{
newRow = new Row();
foreach (object item in itemRow.ItemArray)
{
newRow.Append(
ConstructCell(item.ToString(), CellValues.String));
}
sheetData.Append(newRow);
}
Sheet sheet = new Sheet()
{
Id = _document.WorkbookPart.GetIdOfPart(worksheetPart),
Name = dt.TableName
};
_sheets.Append(sheet);
}
public void Save()
{
_document.Close();
_document.Dispose();
}
private Cell ConstructCell(string value, CellValues dataType)
{
return new Cell()
{
CellValue = new CellValue(value),
DataType = new EnumValue<CellValues>(dataType)
};
}
}
个不同的谓词。这是我的查询:
rdfs:range
但是查询返回一个空表作为return。我可以在PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
select DISTINCT *
FROM <http://dbpedia.org>
where{
?s ?p ?o.
?p rdfs:range ?t.
FILTER (?p = <http://dbpedia.org/ontology/spouse>)
} LIMIT 10
上运行其他查询,但是dbpedia
却存在此问题。我正在使用virtuoso openlink进行rdf存储。
我使用以下命令添加了它们:
rdfs:range