2012-06-06 1 views
2

Как правило, количество результатов запроса обычно упоминается при изучении документов, связанных с SPARQL, rdf и т. Д. Однако я не могу понять, что здесь означает сила. Я новичок в SPARQL и rdf, поэтому кто-то может быть достаточно любезен, чтобы объяснить, что означает мощность в SPARQL и rdf.Что такое мощность в SPARQL?

Кардинальность в базах данных относится к уникальности значений, что w.r.t для SPARQL и результаты его запроса имеют значение мощности ... Я действительно смущен. Кто-нибудь, пожалуйста, объясните.

Как это относится к уникальным значениям, то что означает максимальная мощность и минимальная мощность?

+1

См дублированный вопрос на http://answers.semanticweb.com/questions/16775/what-does-cardinality-mean, который имеет некоторые хорошие ответы на это – RobV

ответ

1

SPARQL построен, чтобы иметь некоторое наивное сходство с SQL, но здесь нет кортежей, но троек. Каждая тройка находится в форме объекта-предиката-объекта SPO (кто-то говорит, что P для свойства), и у вас может быть какая-то конкретная расширенная модель, которая использует комбинацию этих индексов и четвертый показатель для контекста. Прати-говоря (просто для того, чтобы снова использовать наивную идею, о которой я говорил раньше), вы можете представить себе огромный стол с кортежем для каждой тройки. Таким образом, кардинальность тройки DISTINCT здесь отражает мощность «фактов» относительно одного предмета. Вы должны видеть, что есть татально другая модель от реляционной. Например, человек с именем и фамилией через РДФ/FOAF будет что-то вроде (с использованием синтаксиса черепаховый):

@prefix foaf: <http://xmlns.com/foaf/0.1/> . 

_:X foaf:name "John" . 
_:X foaf:surname "Doe" 

.

и здесь у нас есть два троек.

So a SPARQL query like: 
SELECT COUNT(?S) as ?triples 
WHERE{ 
?S ?P ?O. 
?S foaf:name ?name. 
} 

дал бы просто тройки = 2, так как есть два троек, связанных с отношениями к предмету.

Извините за упрощением, но надеюсь, что это помогает начать :-) Альфредо